mirror of
https://github.com/kuhyx/todo-app.git
synced 2026-11-11 12:07:51 +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
|
||
|---|---|---|
| .. | ||
| capture_app_bar.dart | ||
| capture_draft.dart | ||
| capture_screen_sync.dart | ||
| capture_screen_widget.dart | ||
| capture_screen.dart | ||
| capture_status_footer.dart | ||
| capture_status.dart | ||
| capture_sync_runner.dart | ||
| github_mirror_screen_widget.dart | ||
| github_mirror_screen.dart | ||
| markdown_view.dart | ||
| note_actions_sheet.dart | ||
| note_date_range_field.dart | ||
| note_detail_screen.dart | ||
| note_editor_chrome.dart | ||
| note_editor_document.dart | ||
| note_editor_mode.dart | ||
| note_editor_raw_field.dart | ||
| note_editor_step_page.dart | ||
| note_editor_views.dart | ||
| note_editor_widget.dart | ||
| note_editor_wizard.dart | ||
| note_editor.dart | ||
| note_form_chrome_gate.dart | ||
| note_form.dart | ||
| note_meta_row.dart | ||
| note_tile.dart | ||
| notes_filter_sheet.dart | ||
| notes_list_navigation.dart | ||
| notes_list_screen.dart | ||
| settings_screen.dart | ||