Browse Source

fix: tag deletion rehydration bug

fixes a bug that caused the deletion of a tag, when filtering by tag, to rehydrate all chats instead of the filtered list.
Aryan Kothari 9 months ago
parent
commit
287559e834
1 changed files with 3 additions and 5 deletions
  1. 3 5
      src/lib/components/chat/Tags.svelte

+ 3 - 5
src/lib/components/chat/Tags.svelte

@@ -47,26 +47,24 @@
 		});
 
 		await _tags.set(await getAllChatTags(localStorage.token));
-
 		if ($_tags.map((t) => t.name).includes(tagName)) {
 			if (tagName === 'pinned') {
 				await pinnedChats.set(await getChatListByTagName(localStorage.token, 'pinned'));
 			} else {
-				await chats.set(
-					await getChatList(localStorage.token, 0, $pageSkip * $pageLimit || $pageLimit)
-				);
+				await chats.set(await getChatListByTagName(localStorage.token, tagName));
 			}
 
 			if ($chats.find((chat) => chat.id === chatId)) {
 				dispatch('close');
 			}
 		} else {
+			// if the tag we deleted is no longer a valid tag, return to main chat list view
+			tagView.set(false);
 			await chats.set(
 				await getChatList(localStorage.token, 0, $pageSkip * $pageLimit || $pageLimit)
 			);
 			await pinnedChats.set(await getChatListByTagName(localStorage.token, 'pinned'));
 		}
-		tagView.set(false);
 	};
 
 	onMount(async () => {