Skip to content

Drop time-window filter from initial feed load to eliminate gaps#21

Merged
barrydeen merged 1 commit intomainfrom
fix/initial-feed-gaps
Feb 20, 2026
Merged

Drop time-window filter from initial feed load to eliminate gaps#21
barrydeen merged 1 commit intomainfrom
fix/initial-feed-gaps

Conversation

@barrydeen
Copy link
Copy Markdown
Owner

Summary

  • Remove since time-window from initial feed filter — it was causing large chronological gaps (e.g. 3rd note 1h ago, 4th note 8h ago) because the adaptive window was too aggressive for outbox-routed queries
  • Rely solely on limit=25 per relay group, which already caps response size effectively
  • Remove the backfill mechanism and unused adaptiveSince helper, which are no longer needed

Test plan

  • Launch app with a moderate follow list (100-700) and verify no large time gaps in the initial feed
  • Verify feed still loads quickly (limit caps per-relay bandwidth)
  • Check that new events still stream in after initial load (subscription stays open post-EOSE)
  • Test with small follow list (<20) to ensure adequate feed density
  • Test relay-specific feed (FeedType.RELAY) still works correctly

The adaptive `since` window was too aggressive — for 300-700 follows
it only looked back 1 hour, causing large chronological gaps in the
feed (e.g. 3rd note 1h ago, 4th note 8h ago). With outbox routing
splitting queries across many relays, each relay group has few authors
so `limit=25` already caps response size effectively.

Remove `since` from the initial feed filter and rely solely on `limit`.
Each relay now returns its N most recent matching events regardless of
age, producing a dense feed with no gaps. Also removes the backfill
mechanism which is no longer needed, and the now-unused `adaptiveSince`
helper.
@barrydeen barrydeen merged commit 7f022b2 into main Feb 20, 2026
@barrydeen barrydeen deleted the fix/initial-feed-gaps branch March 4, 2026 01:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant