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 = [];
}}