todo-app/lib
Krzysztof kuhy Rudnicki f5d79a6a57 One-tap GitHub connect via a baked-in OAuth App client id
Previously "Connect GitHub" (OAuth device flow) still required entering an
OAuth App client id and owner/repo — friction that returned on every
reinstall once shared_prefs were wiped.

- Bake the app's own device-flow OAuth App client id in as
  SyncSettings.defaultClientId and default to it in load() (alongside the
  existing kuhyx/todo-sync repo default). A device-flow client id is a
  public identifier, not a secret, so it is safe to commit.
- Settings now leads with a single "Connect GitHub" button; the manual
  client-id / token fields and Test connection move under an "Advanced"
  expander. Result: fresh install (or post-reinstall) is one tap →
  authorize the code in the browser → synced. No tokens, no setup.

Note: an OAuth App authorizes with the classic `repo` scope (all repos),
broader than the prior fine-grained PAT — the trade-off for one-tap
device-flow convenience. 151 tests, 100% line coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 22:21:34 +02:00
..
data Add full note view/editor with templates and Markdown render 2026-06-15 21:59:31 +02:00
sync One-tap GitHub connect via a baked-in OAuth App client id 2026-06-15 22:21:34 +02:00
ui One-tap GitHub connect via a baked-in OAuth App client id 2026-06-15 22:21:34 +02:00
main.dart Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00