The page reloads the whole feed list after every change to one feed #105

Closed
opened 2026-09-29 13:41:43 -07:00 by rays · 1 comment
Owner

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.

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.
rays added the enhancement label 2026-09-29 13:41:43 -07:00
Author
Owner

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.

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.
rays closed this issue 2026-09-29 13:43:01 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: rays/ipx#105