Merge pull request #509 from hildebrandttk/feat/unified-mailbox-account-scope

Feat/unified mailbox account scope

Rework the sidebar "All accounts" into an account-bounded "Unified Mailbox"
by default, with cross-account merging as an opt-in (admin-gated) sub-option.
The standalone per-account "All Mail" virtual folder is folded into the unified
All mail / Unread / Starred entries.

Conflict resolution notes:
- stores/settings-store.ts: both main and this branch independently added a
  per-account default-identity (#507) migration at different versions (main v6,
  branch v7). Merged migration is version 7 using the refactored migrateSettings
  function; the unified-mailbox rework is guarded at `version < 7` so users who
  stopped at main's interim v6 identity bump still receive it, while the #507
  identity-map coercion stays at `version < 6` so their populated map is kept.
- stores/auth-store.ts: kept main's applyPreferredIdentity (superset with the
  pre-#507 legacy migration).
- stores/email-store.ts: removed the ALL_MAIL_MAILBOX_ID paths (folded into the
  unified views) while preserving main's plugin hooks (onSearchResults /
  onEmailsFetched); adopted advancedSearchCrossViewEmails for advanced cross-view
  search.
- components/settings/layout-settings.tsx: kept main's faviconUnreadBadge setting
  alongside the new unifiedCrossAccount toggle.
- integration/: union-merged the two independently-authored suites - branch suite
  is authoritative (matches new behavior) with main's shared-identity (#569) group
  infrastructure preserved.
- components/email/email-composer.tsx: dropped a duplicate data-testid attribute
  introduced by the auto-merge.
This commit is contained in:
Linus Rath
2026-07-16 19:57:51 +02:00
62 changed files with 2460 additions and 461 deletions
+14 -11
View File
@@ -114,6 +114,7 @@
"unified_archive": "All Archive",
"unified_junk": "All Junk",
"all_accounts": "All Accounts",
"unified_mailbox": "Unified Mailbox",
"expand": "Expand",
"collapse": "Collapse",
"expand_tooltip": "Expand",
@@ -926,17 +927,19 @@
},
"unified_mailbox": {
"label": "Unified Mailbox",
"description": "Show combined folders (Inbox, Sent, etc.) across all connected accounts",
"description": "Show combined folders (Inbox, Sent, etc.) for the active account and its shared folders.",
"cross_account": {
"label": "Across all accounts",
"description": "Merge the unified mailbox across every connected account instead of staying within the active account."
},
"include_group": {
"label": "Include group inboxes",
"description": "Also merge shared/group inboxes into the unified view."
}
},
"all_mail": {
"label": "All Mail",
"description": "Show an \"All Mail\" entry above your folders that merges messages from across this account's folders into one list.",
"folders_label": "Folders in All Mail",
"folders_description": "Choose which folders are merged into the All Mail view.",
"folders_label": "Folders in the unified lists",
"folders_description": "Choose which of this account's folders are merged into the All mail / Unread / Starred lists.",
"account_hint": "Applies to {account}.",
"no_folders": "No folders available."
},
@@ -963,16 +966,16 @@
"back_to_standard": "Back to standard"
},
"cross_unread": {
"label": "All accounts: Unread",
"description": "Show an entry in the All accounts section listing unread mail across every account, spanning all folders except junk, sent, archive, trash and drafts."
"label": "Unread",
"description": "Show an Unread entry in the Unified Mailbox listing unread mail across the selected folders."
},
"cross_starred": {
"label": "All accounts: Starred",
"description": "Show an entry in the All accounts section listing starred mail across every account, spanning all folders except junk, sent, archive, trash and drafts."
"label": "Starred",
"description": "Show a Starred entry in the Unified Mailbox listing flagged/starred mail across the selected folders."
},
"cross_all": {
"label": "All accounts: All mail",
"description": "Show an entry in the All accounts section listing all mail across every account, spanning all folders except junk, sent, archive, trash and drafts."
"label": "All mail",
"description": "Show an All mail entry in the Unified Mailbox listing all mail across the selected folders."
}
},
"keywords": {