mirror of
https://github.com/kuhyx/todo-app.git
synced 2026-11-10 20:07:02 +01:00
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
|
||
|---|---|---|
| .. | ||
| analytics_event_test.dart | ||
| analytics_flush_test.dart | ||
| analytics_helpers.dart | ||
| app_settings_test.dart | ||
| capture_screen_advanced_test.dart | ||
| capture_screen_editing_test.dart | ||
| capture_screen_harness.dart | ||
| capture_screen_lifecycle_test.dart | ||
| capture_screen_sync_test.dart | ||
| fake_note_repository.dart | ||
| fake_secure_storage.dart | ||
| firebase_backend_test.dart | ||
| github_mirror_device_flow_test.dart | ||
| github_mirror_harness.dart | ||
| github_mirror_screen_test.dart | ||
| google_sign_in_backend_test.dart | ||
| local_backup_test.dart | ||
| markdown_view_test.dart | ||
| note_detail_screen_test.dart | ||
| note_editor_guided_test.dart | ||
| note_editor_harness.dart | ||
| note_editor_modes_test.dart | ||
| note_editor_wizard_test.dart | ||
| note_repository_crud_test.dart | ||
| note_repository_filters_test.dart | ||
| note_repository_helpers.dart | ||
| note_repository_migration_test.dart | ||
| note_repository_streams_test.dart | ||
| note_template_test.dart | ||
| note_test.dart | ||
| notes_list_filter_test.dart | ||
| notes_list_harness.dart | ||
| notes_list_screen_test.dart | ||
| notes_markdown_test.dart | ||
| port_guard_fakes.dart | ||
| port_guard_linux_probe_test.dart | ||
| port_guard_parsing_test.dart | ||
| port_guard_resolve_test.dart | ||
| run_sync_test.dart | ||
| settings_screen_backup_test.dart | ||
| settings_screen_harness.dart | ||
| settings_screen_test.dart | ||
| sync_service_fakes.dart | ||
| sync_service_revision_test.dart | ||
| sync_service_test.dart | ||
| sync_settings_test.dart | ||
| sync_state_factory_io_test.dart | ||
| theme_test.dart | ||
| wrapper_server_harness.dart | ||
| wrapper_server_provisioning_test.dart | ||
| wrapper_server_static_test.dart | ||