Files
ipx/web/CHANGELOG.md
rays 70990c70c7 Signals: feeds made from your subscriptions, picked by Jev (#254)
A Signal is a name and keywords. A task beside DeadAir's asks TypeSafe's Jev, on the owner's own
key, about each item of their subscribed feeds from the last 30 days and every new one: one call
an item, one noul question for each of their Signals still to hear about it, 0.5 or more a fit.
Every verdict is kept, fitting or not, in signal_verdicts, so nothing is asked twice, and new
keywords drop a Signal's verdicts to be judged afresh. A key TypeSafe refuses (401/402/403) is
passed over until its owner saves another, so a bad key is not sent the whole queue.

A Signal's items come through entries_where with an EXISTS on its hits, so filters, search, sort
and read state are an ordinary list's, and reading an item in a Signal reads it in its feed.

The page shows Signals under the places, with New signal, and Settings takes the TypeSafe key,
which is never sent back. The browser suite stubs Jev in the fixture server (IPX_TYPESAFE_URL).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 16:54:50 +00:00

4.2 KiB

Changelog: ipx-web

The page, and the container that serves it (Caddy). ipx's changelog is crates/ipx/CHANGELOG.md, which was the page's too until 0.12.0, and the directory's crates/directory/CHANGELOG.md.

Its version is in package.json, and a release is tagged web-vX.Y.Z.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Signals, under the places in the sidebar: New signal makes one from a name and keywords, and its page lists the items from your feeds that are about them, read and unread as in their own feeds. Settings takes your TypeSafe key, which Signals need (#254).
  • A list opens at once when you have seen it before or the page fetched it ahead: All Subscriptions and the feeds with something unread are fetched when the page loads, and a feed or filter as the pointer or a finger reaches it, then refreshed behind once shown. A list that has to be waited for shows a spinner instead of nothing (#247). Currently Listening and the Directory's front page are fetched ahead the same way and open at once (#248).

Changed

  • The page reports how long each list you open takes to show, from the click to the list drawn, for the dashboard (#246).
  • The page's files are compressed once when built, brotli at its strongest and gzip, and sent in place of the files: the script 30 KB where it was 37, the stylesheet 11 where it was 14. Traces go to the collector compressed (#253).
  • The page and the API's answers are sent compressed, zstd or gzip, which the feed list and item lists, over 100 KB each, were not; live updates and audio are not compressed (#239).

1.0.2 - 2026-10-15

Fixed

  • The refresh buttons turn from the moment they are pressed until the scan they asked for has finished, smoothly, instead of jerking back upright between one feed and the next (#231, #233).
  • A feed's unread count stays put while a scan checks it quickly; the spinner takes its place only when a check takes a moment (#232).

Security

  • The ipx-web image no longer carries curl, which Caddy's base image shipped and nothing used: 8.22.0 there is affected by CVE-2026-92392 (#237).

1.0.1 - 2026-10-13

Fixed

  • A live update or a list refresh that fails because the network is gone (a laptop asleep) is no longer reported as an error, an error page from Cloudflare no longer becomes a request's message, and requests a minute or more after a tap start a trace of their own instead of joining that tap's (#219).

1.0.0 - 2026-10-12

Added

  • With a directory token that may administer it, an admin has Check now and Remove from the directory on a Directory feed's page, and Servers and Blocked lists in Admin, Directory (#206).
  • The page has a version of its own, which the logo's tooltip shows beside ipx's (#207).
  • The page is served by its own container, ipx-web (Caddy), which passes the API to ipx on the same address, so a change to the page deploys without rebuilding ipx (#203).
  • Admin, Directory sets the directory's address and this server's token, and whether to share, and says how the last share went (#205).
  • A feed's settings have a Private switch, which keeps it out of the directory; on and locked for a feed whose address or login shows it is private (#205).
  • ipx-web logs one line a request, without the request's headers or a sign-in token in the address (#210).
  • ipx-web sends a trace span for each request when WEB_TRACING=on, continuing the page's trace into ipx (#213).

Changed

  • The Directory says when no directory is set up, and its counts are of everyone on every sharing server (#205).
  • Add a feed no longer asks for a folder; a feed's folder is its title (#201).

Fixed

  • On a phone, the Subscribe button on a Directory feed's page is full size again, not squashed to a sliver (#212).