From f79b443c226098564386d0a31708e71ec0146158 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 11 Aug 2026 11:40:24 -0600 Subject: [PATCH] refac --- src/lib/components/chat/Chat.svelte | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 686613cca9..9bc114519e 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -2236,16 +2236,26 @@ } processingQueueChats.add(targetChatId); + const queuedMessages = [...queue]; + const queuedMessageIds = new Set(queuedMessages.map((m) => m.id)); try { - const combinedPrompt = queue.map((m) => m.prompt).join('\n\n'); - const combinedFiles = queue.flatMap((m) => m.files); + const combinedPrompt = queuedMessages.map((m) => m.prompt).join('\n\n'); + const combinedFiles = queuedMessages.flatMap((m) => m.files); - chatRequestQueues.update((q) => { - const { [targetChatId]: _, ...rest } = q; - return rest; - }); + chatRequestQueues.update((q) => ({ + ...q, + [targetChatId]: (q[targetChatId] ?? []).filter( + (m) => !queuedMessageIds.has(m.id) + ) + })); await submitPrompt(combinedPrompt, combinedFiles); + } catch (error) { + console.error(error); + chatRequestQueues.update((q) => ({ + ...q, + [targetChatId]: [...queuedMessages, ...(q[targetChatId] ?? [])] + })); } finally { processingQueueChats.delete(targetChatId); }