todo-app/bin
Krzysztof kuhy Rudnicki 042d68b237
Some checks are pending
release-apk / release (APK) (push) Waiting to run
Add --provision-sync-account: set up sync with no window at all
Provisioning still required launching the app, which opens a Chrome window --
it lands on whichever monitor i3 picks and steals focus, which is exactly
what you do not want from a one-shot setup step.

The account lives in origin-keyed localStorage, so only code running in the
page can write it; the page therefore has to run. But it does not have to be
*seen*: --headless=new loads the app, its own startup auto-sync calls
loadAccount(), the wrapper fallback provisions it, and the process exits. No
window is ever mapped.

Verified end to end, not just by exit code: after the run,
FlutterSecureStorage.firebase.account holds a real AES payload in the
profile's localStorage, and todo-sync in the RTDB gained a second device
(b58facc7) -- the desktop, now pushing to Firebase rather than the GitHub
mirror.

Usage:  CRDT_SYNC_SERVE_ACCOUNT=1 todo --provision-sync-account

Also pulls the browser-candidate list out into _findBrowser() so the headless
and windowed paths cannot drift apart.

256 tests, analyzer clean.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0177xwzcpfpWG2qca8Mr39q9
2026-08-09 22:00:26 +02:00
..
todo_desktop.dart Add --provision-sync-account: set up sync with no window at all 2026-08-09 22:00:26 +02:00