Skip to content

feat(sync): recover missed events after realtime reconnect (#1175) - #1284

Merged
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
OpensrcLord:fix/issue-1175
Aug 29, 2026
Merged

feat(sync): recover missed events after realtime reconnect (#1175)#1284
RUKAYAT-CODER merged 1 commit into
rinafcode:mainfrom
OpensrcLord:fix/issue-1175

Conversation

@OpensrcLord

Copy link
Copy Markdown
Contributor

Summary

Closes #1175

Backfills realtime events that arrive while the transport is down, using a persisted replay cursor and a catch-up query.

  • src/store/synchronizationEngine.ts — after every reconnect / inbound sequence gap, fetches events since the last applied sequence, rehydrates owned slices, and advances the persisted cursor
  • src/lib/graphql/subscriptions.ts — catch-up listeners (onSubscriptionCatchUp), requestRealtimeCatchUp(since) via the active client
  • Adds unit tests for the engine and subscriptions layer

Verification

tsc clean; sync + subscriptions suites: 27 tests, only 2 pre-existing baseline failures unrelated to this change.

Track a persisted replay cursor and backfill events that arrived during a
disconnect, triggered both by reconnect and inbound sequence gaps.

Closes rinafcode#1175
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@OpensrcLord Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Thank you for contributing to the project.

@RUKAYAT-CODER
RUKAYAT-CODER merged commit 910eab2 into rinafcode:main Aug 29, 2026
6 checks passed
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.

Recover missed events after reconnect in sync engine

2 participants