Files
sharedinbox/PLAN.md
T
Thomas GüttlerandClaude Sonnet 4.6 79ee498879 Switch enough_mail from vendored path to forked git dependency
- pubspec.yaml: path: packages/enough_mail → git: guettli/enough_mail
  pinned to SHA 25320ada (same version as the vendored copy)
- Remove packages/enough_mail/ (170 files, 38k lines) from this repo
- Fix .gitignore: restore comment, add coverage/ (generated by --coverage)
- PLAN.md: document phase 0a

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 09:34:55 +02:00

1.8 KiB

SharedInbox Flutter — Plan

Architecture

IMAP/SMTP server
       ↓
  AccountSyncManager (IMAP IDLE per account)
       ↓  writes
  Drift (SQLite, local DB)
       ↓  reads
  UI (Riverpod + go_router)

UI never touches the network. The sync layer runs independently.

Phases

Phase Scope Status
0 — Scaffold pubspec, Drift schema, DI, router, enough_mail vendored Done
0a — enough_mail fork Remove vendored copy; point pubspec at guettli/enough_mail via git dep In progress
1 — Core models Account, Mailbox, Email, EmailBody, repository interfaces Done
2 — DB layer Drift tables, AccountRepositoryImpl, MailboxRepositoryImpl, EmailRepositoryImpl Done
3 — IMAP sync connectImap, MailboxRepositoryImpl.syncMailboxes, EmailRepositoryImpl.syncEmails Done
4 — IMAP IDLE AccountSyncManager with exponential-backoff reconnect Done
5 — SMTP send connectSmtp, EmailRepositoryImpl.sendEmail Done
6 — UI All screens: AccountList, AddAccount, MailboxList, EmailList, EmailDetail, Compose, Settings Done
7 — Dev tooling Nix flake, .envrc, Taskfile, Stalwart dev server (IMAP+SMTP), integration tests Done
8 — Code-gen Run task codegen to generate database.g.dart and Riverpod providers Pending
9 — Platform targets Android, iOS, Linux, macOS, Windows entry points Pending
10 — Polish Reply prefill, attachment open, thread view, search Next

Next candidates

  • Reply-with-prefill (subject/body/from populated from original email)
  • Thread view (group by References / In-Reply-To)
  • Search (IMAP SEARCH command)
  • Attachment download + open
  • Draft auto-save