feat: always show unified mailbox in Pro shell

This commit is contained in:
Linus Rath
2026-05-21 17:01:34 +02:00
parent 426d344aa8
commit c9435f7580
2 changed files with 10 additions and 4 deletions
+5 -3
View File
@@ -884,15 +884,17 @@ export default function Home() {
// Keep unified mailbox counts in sync when the feature is enabled and more // Keep unified mailbox counts in sync when the feature is enabled and more
// than one account is connected. Runs whenever the set of connected accounts // than one account is connected. Runs whenever the set of connected accounts
// or the primary account's mailboxes change (a proxy for "something worth // or the primary account's mailboxes change (a proxy for "something worth
// recounting happened"). // recounting happened"). The Pro shell always renders the unified mailbox
// regardless of the user setting, so refresh when embedded too.
useEffect(() => { useEffect(() => {
if (!enableUnifiedMailbox || !isAuthenticated || !client) return; if (!enableUnifiedMailbox && !isEmbedded) return;
if (!isAuthenticated || !client) return;
const built = buildUnifiedAccounts(); const built = buildUnifiedAccounts();
if (built.length < 2) return; if (built.length < 2) return;
populateUnifiedAccountMailboxes(built).then((populated) => { populateUnifiedAccountMailboxes(built).then((populated) => {
refreshUnifiedCounts(populated); refreshUnifiedCounts(populated);
}); });
}, [enableUnifiedMailbox, isAuthenticated, client, mailboxes, connectedAccountsSignature, buildUnifiedAccounts, populateUnifiedAccountMailboxes, refreshUnifiedCounts]); }, [enableUnifiedMailbox, isEmbedded, isAuthenticated, client, mailboxes, connectedAccountsSignature, buildUnifiedAccounts, populateUnifiedAccountMailboxes, refreshUnifiedCounts]);
// System-notification click handler. The push SW navigates the user back // System-notification click handler. The push SW navigates the user back
// here with `?email=<id>` (specific email it built the toast from) or // here with `?email=<id>` (specific email it built the toast from) or
+5 -1
View File
@@ -736,7 +736,11 @@ export function Sidebar({
const tagCounts = useEmailStore(s => s.tagCounts); const tagCounts = useEmailStore(s => s.tagCounts);
const accounts = useAccountStore(s => s.accounts); const accounts = useAccountStore(s => s.accounts);
const connectedAccounts = accounts.filter(a => a.isConnected); const connectedAccounts = accounts.filter(a => a.isConnected);
const showUnified = enableUnifiedMailbox && connectedAccounts.length > 1; // Pro shell treats the unified mailbox as a core part of the multi-account
// UI, so it ignores the user-facing `enableUnifiedMailbox` toggle. The
// 2+ account requirement still applies — with a single account the
// unified counts would just duplicate that account's inbox.
const showUnified = (multiAccountMode || enableUnifiedMailbox) && connectedAccounts.length > 1;
const { unifiedCounts } = useEmailStore(); const { unifiedCounts } = useEmailStore();
const t = useTranslations('sidebar'); const t = useTranslations('sidebar');