• v1.0.32 — Manual sync loop fixed

    Ghost released this 2026-05-25 14:11:58 +00:00 | 47 commits to main since this release

    Root cause fixed\n\nManual sync (tapping Sync in the app) triggered a loop because FileWatchService had no way to know a manual sync was running. Files downloaded → FileObserver fired → no cooldown → debounce → another sync → repeat.\n\nFix: startSyncMonitor() subscribes to WorkManager.getWorkInfosByTagFlow("sync_$pairId") and watches all syncs — manual, scheduled, or auto-triggered — via the tag that every SyncWorker request carries. While any sync is running or enqueued, FileObserver triggers are suppressed. After the sync finishes, a 60-second settle cooldown is applied before watching resumes.

    Downloads