9b0c26846a
Clicking Sync twice started a second concurrent runSyncNow, and the click event was passed as runSyncNow's `_attempt` retry counter (so the "Syncing…" toast and 412-retry bound were both broken). Wrapped the handler: disable the button while a sync runs, and call runSyncNow() with no arg. Internal retries are unaffected. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>