Send attachments

- Compose gains an "Attach file" picker (OpenMultipleDocuments) and shows each pick as
  a removable chip; OutgoingMessage carries the picked URIs.
- On send the repository copies the picked files into the outbox message's own cache
  directory; SendWorker passes them to SmtpSender, which builds a multipart message
  (text body + a part per file via attachFile). Files are cleaned up on success/cancel.
- assemble/test/lint green, including a new SmtpSender test that sends an attachment and
  asserts GreenMail received a multipart message containing it; the compose "Attach file"
  affordance verified on the Android 17 emulator.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 16:54:39 -05:00
co-authored by Claude Opus 4.8
parent 5c98f3ba1c
commit f65226a4d2
9 changed files with 161 additions and 7 deletions
+2 -1
View File
@@ -16,7 +16,8 @@ experience with power-user features tucked under an **Advanced Settings** group.
> later; **on-device new-mail
> notifications** (no push service) with persisted settings; **instant push** via a
> foreground **IMAP IDLE** service; **attachments** — downloaded on demand and opened in a
> system viewer; **multiple accounts** — a unified inbox with per-account filtering; and
> system viewer, and attach files when composing; **multiple accounts** — a unified inbox
> with per-account filtering; and
> **search** across cached mail. Outlook Graph send is upcoming.
## Features (target MVP)