From a3a2e42ee00a70d6c646735345e6b771bcd2a70d Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 5 Oct 2026 12:53:56 +0400 Subject: [PATCH] refac --- src/lib/components/chat/Chat.svelte | 38 ++++--------------- .../layout/Sidebar/Folders/FolderModal.svelte | 38 ++++++++++++++++++- src/lib/i18n/locales/en-US/translation.json | 1 + 3 files changed, 45 insertions(+), 32 deletions(-) diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 1c5108d0b3..f6aa893e9e 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -106,7 +106,6 @@ import { createOpenAITextStream } from '$lib/apis/streaming'; import { getFunctions } from '$lib/apis/functions'; import { initiateOAuthRedirect } from '$lib/apis/configs'; - import { updateFolderById } from '$lib/apis/folders'; import Banner from '../common/Banner.svelte'; import MessageInput from '$lib/components/chat/MessageInput.svelte'; @@ -1548,24 +1547,6 @@ } }; - const savedModelIds = async () => { - if ( - $selectedFolder && - selectedModels.filter((modelId) => modelId !== '').length > 0 && - !equal($selectedFolder?.data?.model_ids, selectedModels) - ) { - const res = await updateFolderById(localStorage.token, $selectedFolder.id, { - data: { - model_ids: selectedModels - } - }); - } - }; - - $: if (selectedModels !== null) { - savedModelIds(); - } - const stopAudio = () => { try { speechSynthesis.cancel(); @@ -1646,14 +1627,11 @@ const selectedFolderSubscribe = selectedFolder.subscribe(async (folder) => { await tick(); // Folder default models apply to new chats only. - if ( - !history.currentId && - folder?.data?.model_ids && - !equal(selectedModels, folder.data.model_ids) - ) { - selectedModels = folder.data.model_ids; - - console.log('Set selectedModels from folder data:', selectedModels); + if (!history.currentId && folder) { + const folderModels = normalizeSelectedModels(folder.data?.model_ids ?? []); + if (!equal(selectedModels, folderModels)) { + selectedModels = folderModels; + } } }); @@ -2162,9 +2140,9 @@ $models.map((m) => m.id).includes(modelId) ); } else { - if ($selectedFolder?.data?.model_ids) { - // Set from folder model IDs - selectedModels = $selectedFolder?.data?.model_ids; + if ($selectedFolder) { + // Folder defaults are explicit; never inherit a previous chat's selection. + selectedModels = normalizeSelectedModels($selectedFolder.data?.model_ids ?? []); } else { if (sessionStorage.selectedModels) { // Set from session storage (temporary selection) diff --git a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte index c11b9a5638..a9791ddf2e 100644 --- a/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte +++ b/src/lib/components/layout/Sidebar/Folders/FolderModal.svelte @@ -1,5 +1,7 @@