Detect conflicts (local and remote both modified since last sync)
Present conflict resolution UI to user
Update sync timestamps after successful sync
Conflict Detection Strategy
Compare synced_at timestamps with server updated_at
If both changed since last sync, flag as conflict
Resolution options: keep local, keep remote, or manual merge
Acceptance Criteria
Offline edits sync automatically when reconnected
Concurrent edits on same note trigger conflict detection
User can resolve conflicts via UI
Sync state is visible (pending, syncing, synced, conflict)
## Summary
Automatically sync offline changes when connectivity is restored, with conflict detection and resolution.
## Implementation Tasks
- [x] Detect connectivity changes (online/offline events)
- [x] Push dirty notes to server on reconnect
- [x] Pull remote changes and merge with local state
- [x] Detect conflicts (local and remote both modified since last sync)
- [x] Present conflict resolution UI to user
- [x] Update sync timestamps after successful sync
## Conflict Detection Strategy
- Compare synced_at timestamps with server updated_at
- If both changed since last sync, flag as conflict
- Resolution options: keep local, keep remote, or manual merge
## Acceptance Criteria
- [x] Offline edits sync automatically when reconnected
- [x] Concurrent edits on same note trigger conflict detection
- [x] User can resolve conflicts via UI
- [x] Sync state is visible (pending, syncing, synced, conflict)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Automatically sync offline changes when connectivity is restored, with conflict detection and resolution.
Implementation Tasks
Conflict Detection Strategy
Acceptance Criteria
Background syncto Implement background sync on reconnect with conflict detectionlibretech referenced this issue2026-02-28 20:25:06 +01:00