Go to file
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
android Enable Android Auto Backup of the notes DB and sync settings 2026-06-15 22:04:59 +02:00
docs Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
lib One-tap GitHub connect via a baked-in OAuth App client id 2026-06-15 22:21:34 +02:00
linux Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
test One-tap GitHub connect via a baked-in OAuth App client id 2026-06-15 22:21:34 +02:00
tool Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
.gitignore Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
.metadata Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
analysis_options.yaml Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00
CLAUDE.md Add CLAUDE.md with architecture, commands, git workflow, and testing patterns 2026-06-15 17:13:24 +02:00
LICENSE Add MIT license 2026-06-14 14:42:45 +02:00
pubspec.lock Auto-export a local Markdown backup and recover from it on launch 2026-06-15 22:11:08 +02:00
pubspec.yaml Auto-export a local Markdown backup and recover from it on launch 2026-06-15 22:11:08 +02:00
README.md Initial commit: offline-first CRDT notes app (capture + GitHub sync) 2026-06-14 14:20:19 +02:00

todo

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.