diff --git a/src/views/SearchView.vue b/src/views/SearchView.vue index d7e010c..b60e764 100644 --- a/src/views/SearchView.vue +++ b/src/views/SearchView.vue @@ -798,35 +798,44 @@ async function handleSelectSession(s: SearchSession) { } async function handleNewSession() { + console.log('[handleNewSession] currentSession:', currentSession.value?.id, 'messages:', messages.value.length) + // Save current session messages before creating new one if (currentSession.value && messages.value.length > 0) { - const lastMsg = messages.value[messages.value.length - 1] + console.log('[handleNewSession] Saving', messages.value.length, 'messages') // Save user messages for (const msg of messages.value) { if (msg.role === 'user' && msg.query) { - await saveMessage(currentSession.value.id, { + const saved = await saveMessage(currentSession.value.id, { role: 'user', content: msg.query, mode: msg.mode || mode.value }) + console.log('[handleNewSession] Saved user msg:', saved?.id) } else if (msg.role === 'assistant') { - await saveMessage(currentSession.value.id, { + const saved = await saveMessage(currentSession.value.id, { role: 'assistant', content: msg.message || msg.answer || '', mode: msg.mode || mode.value, results: msg.results }) + console.log('[handleNewSession] Saved assistant msg:', saved?.id) } } + } else { + console.log('[handleNewSession] No current session or no messages to save') } // 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')}` + console.log('[handleNewSession] Creating new session:', timeStr) const newSession = await createSession(timeStr, mode.value) + console.log('[handleNewSession] New session created:', newSession?.id) if (newSession) { setCurrentSession(newSession) messages.value = [] + console.log('[handleNewSession] Messages cleared, sessions reloaded') await loadSessions() } }