e8993d8ff967013f511744236408125347f7ff52
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>
Description
Languages
TypeScript
95.7%
Java
1.5%
JavaScript
0.9%
Swift
0.9%
CSS
0.5%
Other
0.4%