feat(store): rely on the delta feed instead of full snapshots once a sync cursor exists
The sync engine added an incremental channel, but the app kept fetching full snapshots next to it: both prefetch hooks, a recount after every pull, every loaded page of the entry lists, and whole-list refetches after unsubscribing or importing. - unread counters keep confirmed counts under the local transactions; the change log moves them by the flips and new unread rows the server reports, and an acknowledged transaction drops its prediction once the engine reached its sync id - usePrefetchSubscription, usePrefetchUnread, pull to refresh, the refresh button, OPML import, unsubscribe and the mobile background task go through the engine and only fall back to the full requests when it cannot help - snapshots remain as calibration: unread hourly, subscriptions daily, plus a throttled recount when the list on screen disagrees after a delta pull - new entries fetch only the first page of the lists on screen and merge it in front of the loaded pages; a refresh trims the infinite query to one page - mobile refreshes subscriptions through the delta feed after an OPML import Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
D
DIYgod committed
b09af5f5cd30ce3c60d4758aec3ea64a0e340218
Parent: b71dba0