Use cache flush timer per chatId
This commit is contained in:
parent
b0c1c8155c
commit
3ab605983d
|
@ -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()
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue