From f37c36f637aa36e3a7fb83ffdb7e02953892a9c0 Mon Sep 17 00:00:00 2001 From: Momentry Studio Date: Tue, 27 Oct 2026 16:06:56 +0800 Subject: [PATCH] feat: save current session before creating new session - handleNewSession now saves all messages from current session - Saves both user and assistant messages - Then creates new session with timestamp name --- src/views/SearchView.vue | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src/views/SearchView.vue b/src/views/SearchView.vue index 2e1ea15..d7e010c 100644 --- a/src/views/SearchView.vue +++ b/src/views/SearchView.vue @@ -798,6 +798,29 @@ async function handleSelectSession(s: SearchSession) { } async function handleNewSession() { + // Save current session messages before creating new one + if (currentSession.value && messages.value.length > 0) { + const lastMsg = messages.value[messages.value.length - 1] + // Save user messages + for (const msg of messages.value) { + if (msg.role === 'user' && msg.query) { + await saveMessage(currentSession.value.id, { + role: 'user', + content: msg.query, + mode: msg.mode || mode.value + }) + } else if (msg.role === 'assistant') { + await saveMessage(currentSession.value.id, { + role: 'assistant', + content: msg.message || msg.answer || '', + mode: msg.mode || mode.value, + results: msg.results + }) + } + } + } + + // Create new session const now = new Date() const timeStr = `${now.getFullYear()}/${(now.getMonth()+1).toString().padStart(2,'0')}/${now.getDate().toString().padStart(2,'0')} ${now.getHours().toString().padStart(2,'0')}:${now.getMinutes().toString().padStart(2,'0')}` const newSession = await createSession(timeStr, mode.value)