shakespeare.diy e8993d8ff9 Fix pagination cursor skipping events during infinite scroll
The issue was that deduplication in the feed query was reducing the page size from the requested PAGE_SIZE to fewer items. When the pagination cursor was calculated from the deduplicated results, it would use the oldest item's timestamp, which could skip over events that should have been included.

For example:
- Request 15 events from relay
- Receive 15 events including duplicates
- After deduplication, only 12 unique items remain
- Pagination cursor set to oldest of those 12 items
- Missing 3 events worth of timeline between pages

Fixed by tracking the oldest timestamp from the raw relay query (before deduplication) and using that for the pagination cursor. This ensures we never skip events, even when deduplication reduces the page size.

Changed return type of useFeed queryFn from FeedItem[] to FeedPage object containing both the deduplicated items and the oldestQueryTimestamp for accurate pagination.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-19 05:00:01 -06:00
2026-02-16 16:54:01 -06:00
2026-02-16 16:54:01 -06:00
S
Description
Activist social network and fundraising platform on Nostr
AGPL-3.0 43 MiB
Languages
TypeScript 95.7%
Java 1.5%
JavaScript 0.9%
Swift 0.9%
CSS 0.5%
Other 0.4%