diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 39dea3337..6011ba0b7 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -438,6 +438,12 @@ window.addEventListener('message', onMessageHandler); $socket?.on('chat-events', chatEventHandler); + page.subscribe((page) => { + if (page.url.pathname === '/') { + initNewChat(); + } + }); + if (!$chatId) { chatIdUnsubscriber = chatId.subscribe(async (value) => { if (!value) { diff --git a/src/lib/components/chat/ModelSelector/ModelItem.svelte b/src/lib/components/chat/ModelSelector/ModelItem.svelte index cdf0c4479..2d3e5f938 100644 --- a/src/lib/components/chat/ModelSelector/ModelItem.svelte +++ b/src/lib/components/chat/ModelSelector/ModelItem.svelte @@ -237,7 +237,11 @@ bind:show={showMenu} model={item.model} toggleSidebarHandler={() => { - pinnedModels.set([...new Set([...$pinnedModels, item.model.id])]); + if ($pinnedModels.includes(item.model.id)) { + pinnedModels.set($pinnedModels.filter((id) => id !== item.model.id)); + } else { + pinnedModels.set([...new Set([...$pinnedModels, item.model.id])]); + } }} copyLinkHandler={() => { copyLinkHandler(item.model); diff --git a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte index 8c077f1a7..7bdc0eeb0 100644 --- a/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte +++ b/src/lib/components/chat/ModelSelector/ModelItemMenu.svelte @@ -38,15 +38,16 @@ { + on:click={(e) => { toggleSidebarHandler(); }} > diff --git a/src/lib/components/layout/Sidebar.svelte b/src/lib/components/layout/Sidebar.svelte index 291dbdc2f..8a7747c56 100644 --- a/src/lib/components/layout/Sidebar.svelte +++ b/src/lib/components/layout/Sidebar.svelte @@ -647,11 +647,12 @@ {/if} {#if ($pinnedModels ?? []).length > 0} -