Go to file
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
.agents/skills Add Flutter/Dart agent skills and AI rules for Claude Code 2026-06-22 22:53:03 +02:00
.github/workflows Derive versionCode from the commit count, not github.run_number 2026-08-09 18:15:34 +02:00
android Build and publish a signed APK on every push to main 2026-08-04 20:55:14 +02:00
assets/icon Regenerate launcher icon with the unified-design-system warm palette 2026-07-21 21:18:04 +02:00
bin Add --provision-sync-account: set up sync with no window at all 2026-08-09 22:00:26 +02:00
desktop Package the desktop app as the web build, and delete the Linux embedder 2026-07-20 14:08:00 +02:00
docs Default a bare-link draft to the freeform template 2026-07-26 22:13:26 +02:00
lib Make the sync-account route testable, and cover every branch 2026-08-09 21:49:16 +02:00
mcp Add read-only MCP server for the backlog 2026-07-10 21:20:39 +02:00
test Make the sync-account route testable, and cover every branch 2026-08-09 21:49:16 +02:00
tool Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
web Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
.gitignore Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
.mcp.json Add read-only MCP server for the backlog 2026-07-10 21:20:39 +02:00
.metadata Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
analysis_options.yaml Switch to very_good_analysis, matching the rest of the Flutter ecosystem 2026-07-20 11:05:13 +02:00
CLAUDE.md Recover instead of crashing when port 8730 is already taken 2026-08-03 15:13:15 +02:00
DESIGN_AUDIT_TODO.md Add a design-rules audit against the new safe-design-rules checklist 2026-07-21 15:25:19 +02:00
install_arch.sh Package the desktop app as the web build, and delete the Linux embedder 2026-07-20 14:08:00 +02:00
LICENSE Add MIT license 2026-06-14 14:42:45 +02:00
MIGRATION.md Add MIGRATION.md documenting the sqlite_crdt -> crdt_sync move 2026-07-11 23:55:08 +02:00
pubspec.lock Let the desktop provision its sync account from the wrapper 2026-08-09 21:39:16 +02:00
pubspec.yaml Let the desktop provision its sync account from the wrapper 2026-08-09 21:39:16 +02:00
README.md Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
run.sh Package the desktop app as the web build, and delete the Linux embedder 2026-07-20 14:08:00 +02:00
skills-lock.json Add Flutter/Dart agent skills and AI rules for Claude Code 2026-06-22 22:53:03 +02:00

todo

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.