todo-app/lib/ui
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
..
capture_app_bar.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
capture_draft.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_screen_sync.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
capture_screen_widget.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_screen.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
capture_status_footer.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_status.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
capture_sync_runner.dart Split capture_screen.dart into ten files under the cap 2026-08-14 16:25:51 +02:00
github_mirror_screen_widget.dart Split the last three oversized lib/bin files 2026-08-14 16:29:35 +02:00
github_mirror_screen.dart Use the shared github_device_auth package 2026-08-15 16:15:10 +02:00
markdown_view.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_actions_sheet.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_date_range_field.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
note_detail_screen.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_editor_chrome.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_document.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_mode.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_raw_field.dart Adopt the shared design_system package, dropping theme.dart and confirm.dart 2026-08-14 22:59:59 +02:00
note_editor_step_page.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_views.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_widget.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor_wizard.dart Split note_editor.dart into nine files under the cap 2026-08-14 16:12:04 +02:00
note_editor.dart Route todo's snackbars through the shared showToast/showError 2026-08-14 23:09:24 +02:00
note_form_chrome_gate.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_form.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_meta_row.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
note_tile.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
notes_filter_sheet.dart Enforce the 250-line file cap, and split the first four files 2026-08-14 16:01:24 +02:00
notes_list_navigation.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
notes_list_screen.dart Share one note form between capture and the detail screen 2026-08-14 17:48:39 +02:00
settings_screen.dart Migrate Sync settings to the shared sync_settings_ui package 2026-08-12 23:25:16 +02:00