From 077a4f03a708aef265863b082dffe776c28ec5ef Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Thu, 23 Apr 2026 18:01:21 +0200 Subject: [PATCH] fix: preserve search/filter on batch move and archive --- stores/email-store.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/stores/email-store.ts b/stores/email-store.ts index af6bd724..672a91b2 100644 --- a/stores/email-store.ts +++ b/stores/email-store.ts @@ -1254,9 +1254,9 @@ export const useEmailStore = create((set, get) => ({ isLoading: false }); - // Refresh emails to get updated list + // Refresh emails to get updated list (honors active search/filters) if (!get().isUnifiedView) { - await get().fetchEmails(client, get().selectedMailbox); + await get().refreshCurrentMailbox(client); } } catch (error) { set({ @@ -1267,7 +1267,7 @@ export const useEmailStore = create((set, get) => ({ }, batchArchive: async (client) => { - const { selectedEmailIds, emails, mailboxes, fetchMailboxes, fetchEmails, selectedMailbox } = get(); + const { selectedEmailIds, emails, mailboxes, fetchMailboxes } = get(); if (selectedEmailIds.size === 0) return; const archiveMailbox = mailboxes.find(m => m.role === 'archive' || m.name.toLowerCase() === 'archive'); @@ -1293,7 +1293,8 @@ export const useEmailStore = create((set, get) => ({ set({ emails: remaining, selectedEmailIds: new Set(), isLoading: false }); await fetchMailboxes(client); - await fetchEmails(client, selectedMailbox); + // Refresh the current mailbox view (honors active search/filters) + await get().refreshCurrentMailbox(client); } catch (error) { set({ error: error instanceof Error ? error.message : 'Failed to archive emails',