Files
eranos/src/components
shakespeare.diy fba9a33c5c fix: stop retry storm from blocking pagination; fix scroll sentinel guard
Two bugs:

1. Pagination stalling at page 2: batcher was rejecting promises for
   pubkeys not found by the relay (retry: 2, delay: 1s). With 15+ posts
   each having p-tag mentions, a single page could generate 20-40 retry
   queries firing over 2 seconds. These flooded the relay's concurrent
   subscription slots, causing the page 3 feed query to time out. The
   8-second timeout would expire, queryFn would throw, and getNextPageParam
   would return undefined — stopping pagination permanently.
   Fix: resolve with {} for missing profiles (show generated name, no retry).
   Only seed real profile data into cache; missing profiles stay uncached
   so they can be fetched if encountered again.

2. Scroll sentinel used isFetchingNextPage as the guard, which is false
   during background refetchInterval refetches. If the sentinel was in
   view during a 60s background refetch, fetchNextPage() fired while the
   refetch was running, potentially causing a double-fetch or being silently
   dropped. Now guards on isFetching (true for any in-flight query).

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-02-18 10:27:28 -06:00
..
2026-02-16 16:54:01 -06:00