Use cache flush timer per chatId
This commit is contained in:
parent
b0c1c8155c
commit
3ab605983d
|
@ -235,18 +235,19 @@
|
||||||
}, 10)
|
}, 10)
|
||||||
}
|
}
|
||||||
|
|
||||||
let setMessagesTimer: any
|
const setMessagesTimers: any = {}
|
||||||
export const setMessages = (chatId: number, messages: Message[]) => {
|
export const setMessages = (chatId: number, messages: Message[]) => {
|
||||||
if (get(currentChatId) === chatId) {
|
if (get(currentChatId) === chatId) {
|
||||||
// update current message cache right away
|
// update current message cache right away
|
||||||
currentChatMessages.set(messages)
|
currentChatMessages.set(messages)
|
||||||
clearTimeout(setMessagesTimer)
|
clearTimeout(setMessagesTimers[chatId])
|
||||||
// delay expensive all chats update for a bit
|
// delay expensive all chats update for a bit
|
||||||
setMessagesTimer = setTimeout(() => {
|
setMessagesTimers[chatId] = setTimeout(() => {
|
||||||
getChat(chatId).messages = messages
|
getChat(chatId).messages = messages
|
||||||
saveChatStore()
|
saveChatStore()
|
||||||
}, 200)
|
}, 200)
|
||||||
} else {
|
} else {
|
||||||
|
clearTimeout(setMessagesTimers[chatId])
|
||||||
getChat(chatId).messages = messages
|
getChat(chatId).messages = messages
|
||||||
saveChatStore()
|
saveChatStore()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue