fba9a33c5c
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>