Skip to content

Add client sync engine with SyncProvider#65

Merged
Jds-23 merged 1 commit into
mainfrom
feat/client-sync-engine
Mar 1, 2026
Merged

Add client sync engine with SyncProvider#65
Jds-23 merged 1 commit into
mainfrom
feat/client-sync-engine

Conversation

@Jds-23

@Jds-23 Jds-23 commented Mar 1, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #49

  • Add _sync_queue and _sync_meta Drizzle tables with local migration
  • Implement sync-engine: pushChanges, pullChanges with LWW conflict resolution, syncWrite (atomic local write + queue enqueue), debounced scheduler, and 401 refresh-retry logic
  • Add SyncProvider with syncing/synced/offline status, network monitoring (expo-network + NetInfo), and AppState foreground sync
  • Wrap root layout with <SyncProvider>
  • Update test-db-helper to glob all migration .sql files
  • Add @react-native-community/netinfo dependency

Test plan

  • 42 test suites, 202 tests all green (pnpm test:native)
  • Lint passes (pnpm check)
  • 9 new test files covering: queue enqueue, cursor helpers, push, pull, LWW, debounce, SyncProvider, syncWrite, auth retry

🤖 Generated with Claude Code

Closes #49

- Add _sync_queue and _sync_meta Drizzle tables with local migration
- Implement sync-engine: pushChanges, pullChanges with LWW conflict
  resolution, syncWrite (atomic local write + queue enqueue),
  debounced scheduler, and 401 refresh-retry logic
- Add SyncProvider with syncing/synced/offline status, network
  monitoring (expo-network + NetInfo), and AppState foreground sync
- Wrap root layout with SyncProvider
- Update test-db-helper to glob all migration .sql files
- Add @react-native-community/netinfo dependency

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Jds-23 Jds-23 merged commit ba111ee into main Mar 1, 2026
1 of 4 checks passed
@Jds-23 Jds-23 deleted the feat/client-sync-engine branch March 1, 2026 09:45
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.

Implement client sync engine + SyncProvider

1 participant