feat: mail phase 1 - HTML iframe display, bulk read/unread, IMAP flag sync

- Fix FlagUpdatePayload field names to match backend schema (is_seen/is_flagged)
- Replace dangerouslySetInnerHTML with sandboxed iframe (srcDoc, sandbox="")
- Add bulk mark read/unread with checkbox selection in MailList
- Add floating bulk action bar in Mail.tsx
- Add imap_sync_mail_flags() to push Seen/Flagged flags to IMAP server
- Call IMAP flag sync in PATCH /flags endpoint
- Add i18n keys for bulk actions (de/en)
This commit is contained in:
Agent Zero
2026-07-15 19:26:37 +02:00
parent 2108bdb9c2
commit df83cee10c
9 changed files with 364 additions and 135 deletions
+5 -2
View File
@@ -246,8 +246,11 @@ export interface ForwardPayload {
}
export interface FlagUpdatePayload {
seen?: boolean;
flagged?: boolean;
is_seen?: boolean;
is_flagged?: boolean;
is_draft?: boolean;
is_answered?: boolean;
is_forwarded?: boolean;
}
export interface LinkMailPayload {