todo-app/test
Krzysztof kuhy Rudnicki f46b65750e
Some checks failed
file-length / file length <= 250 lines (push) Has been cancelled
release-apk / release (APK) (push) Has been cancelled
Use the shared github_device_auth package
todo was the donor for both halves of the GitHub device flow -- its
`lib/sync/github_device_auth.dart` was byte-identical to home_inventory's,
and `lib/ui/device_code_dialog.dart` was the public version of the modal
diet-guard and wake-alarm each carried privately. All of it now lives in
`github_device_auth` in the kuhyx/utils monorepo.

The package is not a straight copy of what left here: it takes the more
capable variant of each divergence found across the four apps, so this app
gains two fixes it never had --

  * `pollForToken` retries a transient `ClientException` instead of
    failing, because GitHub can close the connection at the moment the
    user authorizes (wake-alarm's fix)
  * the dialog catches `on Object`, not `on Exception`, so an
    `ArgumentError` surfaces as an error message instead of leaving the
    dialog spinning forever

The local `test/github_device_auth_test.dart` is deleted; its cases live in
the package now, where they gate all four consumers. 300 tests pass and
`test/github_mirror_device_flow_test.dart` -- which drives the shared
dialog end to end -- is among them.

Deployed to the phone as versionCode 17 via phone_deploy.sh (signer
verified, `adb install -r`, no uninstall): launches with all 109 notes
intact.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U4Rj3s7K2qzrLNgJqqPhno
2026-08-15 16:15:10 +02:00
..
analytics_event_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
analytics_flush_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
analytics_helpers.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
app_settings_test.dart Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00
capture_screen_advanced_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
capture_screen_editing_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
capture_screen_harness.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
capture_screen_lifecycle_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
capture_screen_sync_test.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +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
firebase_backend_test.dart Fix desktop Firebase sync: seed a Google-derived session, not a dead password 2026-08-12 19:35:18 +02:00
github_mirror_device_flow_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
github_mirror_harness.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
github_mirror_screen_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
google_sign_in_backend_test.dart Fix desktop Firebase sync: seed a Google-derived session, not a dead password 2026-08-12 19:35:18 +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 Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_editor_guided_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_editor_harness.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_editor_modes_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_editor_wizard_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_repository_crud_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_repository_filters_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_repository_helpers.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_repository_migration_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
note_repository_streams_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +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_filter_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
notes_list_harness.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
notes_list_screen_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +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_fakes.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
port_guard_linux_probe_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
port_guard_parsing_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
port_guard_resolve_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
run_sync_test.dart Simplify capture UI behind an advanced-mode toggle, add usage analytics 2026-08-12 21:30:40 +02:00
settings_screen_backup_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
settings_screen_harness.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
settings_screen_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
sync_service_fakes.dart Split sync_service_test.dart; all code and tests now under the cap 2026-08-14 16:44:32 +02:00
sync_service_revision_test.dart Split sync_service_test.dart; all code and tests now under the cap 2026-08-14 16:44:32 +02:00
sync_service_test.dart Split sync_service_test.dart; all code and tests now under the cap 2026-08-14 16:44:32 +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 Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
wrapper_server_harness.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
wrapper_server_provisioning_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00
wrapper_server_static_test.dart Split nine oversized test files under the cap 2026-08-14 16:42:13 +02:00