todo-app/lib/ui
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
..
capture_screen.dart Surface sync outcomes so devices can't silently diverge 2026-07-16 17:58:41 +02:00
markdown_view.dart Add full note view/editor with templates and Markdown render 2026-06-15 21:59:31 +02:00
note_detail_screen.dart Add priority/template wizard and raw-as-default for guided mode 2026-06-27 12:10:21 +02:00
note_editor.dart Migrate notes storage from sqlite_crdt to the shared crdt_sync LogStore 2026-07-11 23:28:54 +02:00
notes_list_screen.dart Cut per-keystroke O(N) work to keep capture smooth at scale 2026-07-11 21:51:46 +02:00
settings_screen.dart Use crdt_sync's shared GitHubClient; drop todo's local copy 2026-07-11 23:53:47 +02:00