From 51ce0bf9ebb9450429f31fdf4e71ded7eaca5d99 Mon Sep 17 00:00:00 2001 From: rays Date: Sun, 13 Sep 2026 13:13:15 +0000 Subject: [PATCH] TODO.md: show a publisher's error in the UI Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_019Dcx59boh4pasuNwAVU7un --- TODO.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/TODO.md b/TODO.md index 8bfdf9a..0d397be 100644 --- a/TODO.md +++ b/TODO.md @@ -27,6 +27,16 @@ User-Agent; a browser gets the same answers. the new feed for om.co, ms.now, Letters of Note, the Daily Dot, Hell Gate, The Frame Lab and Daily Kos. A `202` with an empty body (British Antarctic Survey) should read as "nothing yet", not as a parse failure. (`src/feed.rs`) +- [ ] **Show a publisher's error in the UI.** Today a failing feed shows its raw error in red only + once you open it (`web/index.html:877`, `:960`); the OPML view marks a failing child "error" + (`:988`), and the sidebar shows nothing. Mark a failing feed in the sidebar too, and say whose + problem it is and what to do, in plain words: a 404 means the publisher took the feed down or moved + it, 401 and 403 that the site refuses ipx, 402 that the feed needs a paid plan, a name that no + longer resolves that the site is gone, and a web page instead of a feed that it moved (with the new + URL when the page links one). Offer Unsubscribe, or Use the new address. Keep timeouts, 5xx and + 429 out of it, and flag a feed only once it has failed for a day: macmanx failed once and read + fine an hour later. That needs the time a feed started failing, kept beside `last_error` and + cleared when a check succeeds. (`web/index.html`, `src/db.rs`, `src/main.rs`) - [ ] **Westenberg.** The only failing feed anyone subscribes to. The Hacker News stars list still gives `joanwestenberg.com/rss`, which is a 404; the feed is now `joanwestenberg.com/feed`. Nothing for ipx to fix; subscribe to the new URL directly.