Go to file
Krzysztof kuhy Rudnicki 7564a6569f Surface sync outcomes so devices can't silently diverge
The desktop and phone split-brained for 5 days (39 vs 30 notes) after the
crdt_sync cutover because one device kept running the pre-migration build
— and nothing in the UI ever said a sync had failed or skipped a peer:

- SyncResult now reports peer files that were listed but couldn't be
  fetched/decoded (skippedFiles) instead of dropping them silently.
- Auto-sync no longer swallows errors: every sync (manual or automatic)
  records a persisted last-sync status shown in a status line under the
  editor, with failures in the error color.
- Desktop actually background-syncs now: focus loss (inactive/hidden,
  debounced 5s) triggers a sync — Flutter Linux rarely delivers the
  `paused` event the old code relied on. `paused` still syncs immediately
  for Android.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K5C5jZ2c4mTaGedK7C1dDv
2026-07-16 17:58:41 +02:00
.agents/skills Add Flutter/Dart agent skills and AI rules for Claude Code 2026-06-22 22:53:03 +02:00
android Enable Android Auto Backup of the notes DB and sync settings 2026-06-15 22:04:59 +02:00
docs Add change explanation: cut per-keystroke O(N) work 2026-07-11 22:13:58 +02:00
lib Surface sync outcomes so devices can't silently diverge 2026-07-16 17:58:41 +02:00
linux Store the GitHub sync token in the OS keystore, migrating off plaintext 2026-06-15 22:57:05 +02:00
mcp Add read-only MCP server for the backlog 2026-07-10 21:20:39 +02:00
test Surface sync outcomes so devices can't silently diverge 2026-07-16 17:58:41 +02:00
tool Use crdt_sync's shared GitHubClient; drop todo's local copy 2026-07-11 23:53:47 +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 Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
analysis_options.yaml Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
CLAUDE.md Point notes sync at the consolidated syncs monorepo 2026-07-10 14:04:05 +02:00
install_arch.sh Rename Arch package to todo-flutter to avoid AUR name collision 2026-07-10 17:35:38 +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 Use crdt_sync's shared GitHubClient; drop todo's local copy 2026-07-11 23:53:47 +02:00
pubspec.yaml Use crdt_sync's shared GitHubClient; drop todo's local copy 2026-07-11 23:53:47 +02:00
README.md Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
run.sh Add run.sh to install Flutter desktop deps and launch the app 2026-06-19 17:05:45 +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.