todo-app/test
Krzysztof kuhy Rudnicki 85ba556af2
Some checks are pending
release-apk / release (APK) (push) Waiting to run
Sync on a Firebase-only device, and say why loadAccount failed
Fleet audit for the bugs found on diet-guard's desktop; two were live here.

`_autoSync` and the manual `_sync` both gated on `settings.isConfigured`,
which means "has a GitHub token". A device connected only to Firebase would
therefore never sync and would be told to "Add a GitHub token" -- advice that
is wrong now and will be wrong for every device once the mirror retires. Both
accept either backend, and the prompt names Firebase first.

This only escaped notice because this machine happens to hold a GitHub token;
diet-guard's desktop, which does not, never synced at all.

`loadAccount()` also swallowed its exception whole, hiding why a device could
not read its stored account -- indistinguishable from "no account set", and
the single most useful diagnostic when provisioning fails. It now logs at
error level with the stack trace and still returns null, so the settings
screen behaves exactly as before.

The unconfigured-Sync test now asserts the routing (unconfigured -> settings)
rather than one snackbar phrasing, which is the behaviour that actually
matters and does not break on wording.

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:29:03 +02:00
..
capture_screen_test.dart Sync on a Firebase-only device, and say why loadAccount failed 2026-08-09 22:29:03 +02:00
confirm_test.dart Confirm before deleting a note 2026-07-30 16:31:15 +02:00
fake_note_repository.dart Make the app compile and run for web, behind platform seams 2026-07-20 13:14:03 +02:00
fake_secure_storage.dart Store the GitHub sync token in the OS keystore, migrating off plaintext 2026-06-15 22:57:05 +02:00
github_device_auth_test.dart Reach 100% test coverage (capture-screen sync DI + plugin/clipboard fakes) 2026-06-15 17:11:01 +02:00
local_backup_test.dart Cut per-keystroke O(N) work to keep capture smooth at scale 2026-07-11 21:51:46 +02:00
markdown_view_test.dart Add full note view/editor with templates and Markdown render 2026-06-15 21:59:31 +02:00
note_detail_screen_test.dart Confirm before deleting a note 2026-07-30 16:31:15 +02:00
note_editor_test.dart Default a bare-link draft to the freeform template 2026-07-26 22:13:26 +02:00
note_repository_test.dart Cut the llm-design-spec template from 12 sections to 7 2026-07-26 22:03:35 +02:00
note_template_test.dart Default a bare-link draft to the freeform template 2026-07-26 22:13:26 +02:00
note_test.dart Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
notes_list_screen_test.dart Confirm before deleting a note 2026-07-30 16:31:15 +02:00
notes_markdown_test.dart Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
port_guard_test.dart Recover instead of crashing when port 8730 is already taken 2026-08-03 15:13:15 +02:00
run_sync_test.dart Sync through Firebase, mirroring to GitHub, and stop re-downloading peers 2026-08-04 23:36:24 +02:00
settings_screen_test.dart Add the Firebase connect UI, without which the cutover could never happen 2026-08-05 09:29:41 +02:00
sync_service_test.dart Sync through Firebase, mirroring to GitHub, and stop re-downloading peers 2026-08-04 23:36:24 +02:00
sync_settings_test.dart Point notes sync at the consolidated syncs monorepo 2026-07-10 14:04:05 +02:00
sync_state_factory_io_test.dart Sync through Firebase, mirroring to GitHub, and stop re-downloading peers 2026-08-04 23:36:24 +02:00
theme_test.dart warm-tint the unified-design-system palette, fix design audit violations 2026-07-22 18:56:45 +02:00
wrapper_server_test.dart Make the sync-account route testable, and cover every branch 2026-08-09 21:49:16 +02:00