Files
ipx/web/CHANGELOG.md
rays ce485a82ac Signals judge one subject, with a sentence of your own, not any one word (#259)
Jev was asked "Is this item about any of these: ai, development, programming?", so any one broad
word was enough and the Signal's name, which says what is meant, was never sent. AI Development
held 54 items: Sega pulling a game remaster (0.90), a Surface Laptop review (0.95), a C++ tutorial
(0.99). It is now asked about one subject, called by the Signal's name, described by its words
and, when those are not enough, its owner's sentence. Scored against TypeSafe over those 54 with
"AI tools for writing software: coding agents, AI dev tools, vibe coding, AI in code review.":
5 stay, Linux kernel AI code review highest at 0.94; the remaster 0.06, the C++ tutorial 0.02.

signals.description is new, and its first start deletes every verdict, which answered the old
question, so everything in the window is asked again. Any change to a Signal's name, words or
sentence drops its verdicts, since each is part of the question. The queue query names the
Signal's sentence apart from the item's description, which share a row; the test caught the
item's winning.

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

4.4 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 pick what matters out of the noise of every feed you subscribe to: New signal takes a name, the words to listen for and, if those are not enough, a sentence saying what you mean, and its page lists the items from your feeds that are about it, read and unread as in their own feeds. Settings takes your TypeSafe key, which Signals need (#254). They are kept in a Signals folder first in the feed list, under All Subscriptions, closed or open as an OPML is, with a + on its row for a new one and its own page listing them (#255, #256).
  • 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).