Go to file
Krzysztof kuhy Rudnicki 6db9ee11d0 Auto-export a local Markdown backup and recover from it on launch
Third durability layer beside GitHub auto-sync and Android Auto Backup:
a plain, human/LLM-readable Markdown file kept current on local disk.

- LocalBackup (lib/sync): pure, injectable file IO. scheduleExport()
  debounces writes (a burst of keystrokes → one export); recover() parses
  the file back into notes. Reused NotesMarkdown serializer.
- CaptureScreen wires it: on launch, recover into an *empty* DB only (so a
  stale backup never clobbers existing notes), then keep the backup current
  as notes change. Platform path = ~/todo/BACKLOG.md on desktop (the path
  the user's workflow already reads) or the app documents dir on mobile
  (covered by Android Auto Backup). File IO is injected in tests.
- Added fake_async dev dep to unit-test the debounce with a virtual clock.

151 tests, 100% line coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 22:11:08 +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 Auto-export a local Markdown backup and recover from it on launch 2026-06-15 22:11:08 +02:00
linux Add list filters/sort, status, priority rework, export/import, structured template 2026-06-15 16:52:59 +02:00
test Auto-export a local Markdown backup and recover from it on launch 2026-06-15 22:11:08 +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.