From 3ab605983d3998f547f97263c232f021a790a991 Mon Sep 17 00:00:00 2001 From: Webifi Date: Sat, 17 Jun 2023 09:36:20 -0500 Subject: [PATCH] Use cache flush timer per chatId --- src/lib/Storage.svelte | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/Storage.svelte b/src/lib/Storage.svelte index 0818655..bebd2aa 100644 --- a/src/lib/Storage.svelte +++ b/src/lib/Storage.svelte @@ -235,18 +235,19 @@ }, 10) } - let setMessagesTimer: any + const setMessagesTimers: any = {} export const setMessages = (chatId: number, messages: Message[]) => { if (get(currentChatId) === chatId) { // update current message cache right away currentChatMessages.set(messages) - clearTimeout(setMessagesTimer) + clearTimeout(setMessagesTimers[chatId]) // delay expensive all chats update for a bit - setMessagesTimer = setTimeout(() => { + setMessagesTimers[chatId] = setTimeout(() => { getChat(chatId).messages = messages saveChatStore() }, 200) } else { + clearTimeout(setMessagesTimers[chatId]) getChat(chatId).messages = messages saveChatStore() }