diff --git a/src/lib/Sidebar.svelte b/src/lib/Sidebar.svelte
index b7ffd56..be7749f 100644
--- a/src/lib/Sidebar.svelte
+++ b/src/lib/Sidebar.svelte
@@ -18,7 +18,6 @@
const onStateChange = (...args:any) => {
sortOption = getChatSortOption()
sortedChats = $chatsStorage.sort(sortOption.sortFn)
- // console.log('Sorting', sortOption, sortedChats)
}
$: onStateChange($checkStateChange)
@@ -43,8 +42,10 @@
No chats yet...
{:else}
{#key $checkStateChange}
- {#each sortedChats as chat, i}
+ {#each sortedChats as chat, i}
+ {#key chat.id}
+ {/key}
{/each}
{/key}
{/if}
diff --git a/src/lib/Storage.svelte b/src/lib/Storage.svelte
index 9803f7a..ce038b7 100644
--- a/src/lib/Storage.svelte
+++ b/src/lib/Storage.svelte
@@ -242,6 +242,15 @@
currentChatMessages.set(getChat(chatId).messages)
}, 10)
}
+
+ const signalChangeTimers: any = {}
+ const setChatLastUse = (chatId: number, time: number) => {
+ clearTimeout(signalChangeTimers[chatId])
+ signalChangeTimers[chatId] = setTimeout(() => {
+ getChat(chatId).lastUse = time
+ saveChatStore()
+ }, 500)
+ }
const setMessagesTimers: any = {}
export const setMessages = (chatId: number, messages: Message[]) => {
@@ -253,13 +262,13 @@
setMessagesTimers[chatId] = setTimeout(() => {
getChat(chatId).messages = messages
saveChatStore()
+ setChatLastUse(chatId, Date.now())
}, 200)
} else {
clearTimeout(setMessagesTimers[chatId])
- const chat = getChat(chatId)
- chat.lastUse = Date.now()
- chat.messages = messages
+ getChat(chatId).messages = messages
saveChatStore()
+ setChatLastUse(chatId, Date.now())
}
}