The page reloads the whole feed list after every change to one feed #105
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
After a feed is checked, fails or downloads a file, and after every item read, the page fetched /api/feeds whole (about 60 ms, 160 rows) though one row changed. The page already has a live event stream (/api/events); the changed feed's row can go out on it, per person, and the read request can answer with the feed's new row, so the page patches that row. Asked for 2026-09-29 after #103.
Fixed in
c7f13ee: the event stream sends a feed_row to each subscriber after a feed is checked, fails, is not modified or downloads a file; marking an item read answers with the feed's row; the page patches the row and redraws once a frame instead of reloading /api/feeds. A browser test checks a read lowers the count with no /api/feeds request. Tests pass on SQLite and Postgres. Deployed. Known limit (ponytail comment in events.ts): a feed an OPML drops stays listed until the page reloads.