- flutter test --coverage generates coverage/lcov.info; awk script
computes line coverage and fails if below threshold (currently 100%)
- Add Email, EmailBody, EmailAttachment constructor tests to cover the
3 previously uncovered lines in email.dart
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The project depends on the Flutter SDK so dart pub/dart test fail with
"version solving failed". Switch task:test to flutter test and
task:codegen to flutter pub run build_runner.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- flake.nix: Flutter 3.41.6, Android SDK, Stalwart, GTK3/build
tools for Linux desktop, go-task
- .envrc: copied from sharedinbox — use flake + dotenv_if_exists
- Taskfile.yml: analyze, test, integration, codegen, run tasks
- stalwart-dev/: IMAP+SMTP dev server reused from sharedinbox
- test/integration/imap_sync_test.dart: login, list mailboxes,
send via SMTP and receive via IMAP
- pubspec.yaml: add flutter_secure_storage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>