Skip to content

fix: reconnect trending feed after app resume#235

Merged
barrydeen merged 1 commit intomainfrom
feat/trending-feed
Mar 13, 2026
Merged

fix: reconnect trending feed after app resume#235
barrydeen merged 1 commit intomainfrom
feat/trending-feed

Conversation

@barrydeen
Copy link
Copy Markdown
Owner

Summary

  • Trending feed failed to reconnect after app resume because its ephemeral relay was evicted during reconnect and only re-created sequentially after persistent relays connected
  • Added onPreReconnect hook to start the trending relay connection in parallel with persistent relays, eliminating the sequential delay
  • Added retry logic in subscribeTrendingFeed() to handle failed ephemeral connections (stale DNS, timeouts after sleep)

Test plan

  • Open trending feed, lock/minimize phone for 30+ seconds, resume — feed should reconnect quickly
  • Open trending feed, lock briefly (<30s), resume — feed should reconnect
  • Switch between trending metrics/timeframes after resume — should work normally
  • Other feeds (following, relay) should still reconnect as before

The trending feed used a single ephemeral relay that was evicted during
reconnect. The new ephemeral connection only started after persistent
relays finished connecting, causing the feed to appear stuck or show
"no events found" after resume.

- Pre-connect the trending relay in parallel with persistent relays via
  onPreReconnect callback in RelayLifecycleManager
- Add RelayPool.preConnectEphemeral() to start WebSocket connection
  without sending a message
- Add retry logic in subscribeTrendingFeed() to handle failed ephemeral
  connections (stale DNS, timeout after sleep)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@barrydeen barrydeen merged commit 0360e52 into main Mar 13, 2026
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