Conversation
…ent caching support
…, multi-threaded upload workers, and conflict resolution support
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (37)
📝 WalkthroughWalkthroughThis PR substantially extends the sync engine with bidirectional sync directions, a complete conflict-policy implementation (keep_local, keep_remote, keep_both, manual, auto LWW), quiet-hours and metered-network scheduling, padded filename encryption, passphrase-strength enforcement, a Windows single-instance guard, Drive client hardening (QuotaExceededError, modTime round-trip, TrashFile, changes-feed polling), SQLite store corruption recovery, and a major Fyne UI overhaul adding an Issues tab, per-pair folder controls, account/quota display, desktop notifications, and backup export. ChangesSync Engine, Config, Crypto, Drive & UI Feature Expansion
Sequence Diagram(s)sequenceDiagram
participant User
participant FyneUI
participant SyncManager
participant Engine
participant DriveClient
User->>FyneUI: Edit file locally
FyneUI->>SyncManager: (polling interval / SyncNow)
SyncManager->>Engine: pollChanges / reconcileRemote
Engine->>DriveClient: ListChanges (changePageToken)
DriveClient-->>Engine: ChangeItems
Engine->>Engine: detectCollisions (NFC+case-fold)
Engine->>Engine: resolveConflict (policy: auto/keep_local/keep_remote/keep_both/manual)
alt manual policy
Engine->>Engine: conflictQueue.Add(ConflictItem)
Engine-->>FyneUI: PendingConflicts → Issues tab
User->>FyneUI: Pick resolution button
FyneUI->>SyncManager: ResolveConflict(pairID, path, policy)
SyncManager->>Engine: ResolveConflictAction
else auto/keep_local/keep_remote
Engine->>DriveClient: UploadFile / UpdateFile (modTime)
Engine->>Engine: TOCTOU hash verify
end
Engine-->>FyneUI: Activity / pendingBytes / ETA refresh
FyneUI->>User: Progress bar + desktop notification
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
New Features
Bug Fixes
Improvements