feat: add 'Mark all as read' to mailbox overflow menu (U8) #48

Merged
guettlibot merged 1 commits from task/u8-mark-all-read into main 2026-05-14 08:58:34 +00:00
guettlibot commented 2026-05-14 08:57:39 +00:00 (Migrated from codeberg.org)

Summary

  • New markAllAsRead(accountId, mailboxPath) on EmailRepository — finds all unread emails in the mailbox, enqueues a flag_seen pending change for each, then bulk-updates is_seen = true and has_unread = false on the threads in a single transaction
  • EmailListScreen gains a PopupMenuButton overflow menu with "Mark all as read"
  • EmailRepositoryContract gains a markAllAsRead test verifying mailbox-scoped read marking

Closes part of #19 (U8).

## Summary - New `markAllAsRead(accountId, mailboxPath)` on `EmailRepository` — finds all unread emails in the mailbox, enqueues a `flag_seen` pending change for each, then bulk-updates `is_seen = true` and `has_unread = false` on the threads in a single transaction - `EmailListScreen` gains a `PopupMenuButton` overflow menu with "Mark all as read" - `EmailRepositoryContract` gains a `markAllAsRead` test verifying mailbox-scoped read marking Closes part of #19 (U8).
Sign in to join this conversation.