diff --git a/backend/apps/web/models/chats.py b/backend/apps/web/models/chats.py index 212a5573a..7406539fd 100644 --- a/backend/apps/web/models/chats.py +++ b/backend/apps/web/models/chats.py @@ -119,8 +119,8 @@ class ChatTable: for chat in Chat.select() .where(Chat.user_id == user_id) .order_by(Chat.timestamp.desc()) - .limit(limit) - .offset(skip) + # .limit(limit) + # .offset(skip) ] def get_chat_by_id_and_user_id(self, id: str, user_id: str) -> Optional[ChatModel]: diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 5fc5f1c1e..c0b641ccf 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -49,15 +49,6 @@ await deleteChatById(localStorage.token, id); await chats.set(await getChatList(localStorage.token)); }; - - // const deleteChatHistory = async () => { - // await $db.deleteAllChat(); - - // const tx = this.db.transaction('chats', 'readwrite'); - // await Promise.all([tx.store.clear(), tx.done]); - - // await chats.set(await this.getChats()); - // };
import toast from 'svelte-french-toast'; - import { openDB } from 'idb'; + import { openDB, deleteDB } from 'idb'; import { onMount, tick } from 'svelte'; import { goto } from '$app/navigation'; @@ -72,17 +72,27 @@ if ($user === undefined) { await goto('/auth'); } else if (['user', 'admin'].includes($user.role)) { - DB = await openDB('Chats', 1); + try { + // Check if IndexedDB exists + DB = await openDB('Chats', 1); - if (DB) { - const chats = await DB.getAllFromIndex('chats', 'timestamp'); - localDBChats = chats.map((item, idx) => chats[chats.length - 1 - idx]); + if (DB) { + const chats = await DB.getAllFromIndex('chats', 'timestamp'); + localDBChats = chats.map((item, idx) => chats[chats.length - 1 - idx]); - console.log('localdb', localDBChats); + if (localDBChats.length === 0) { + await deleteDB('Chats'); + } + + console.log('localdb', localDBChats); + } + + console.log(DB); + } catch (error) { + // IndexedDB Not Found + console.log('IDB Not Found'); } - console.log(DB); - console.log(); await settings.set(JSON.parse(localStorage.getItem('settings') ?? '{}')); await models.set(await getModels()); @@ -214,6 +224,7 @@ const tx = DB.transaction('chats', 'readwrite'); await Promise.all([tx.store.clear(), tx.done]); + await deleteDB('Chats'); localDBChats = []; }}