From 977e5a8ddb25a1ec5988c4cd6cc458a258950e71 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sat, 28 Mar 2026 13:03:06 +0000 Subject: [PATCH] fix: task lane restore checks activeChatId, not urlSessionId The showTaskLane initializer was comparing the saved chatId against urlSessionId (null on /assistant), so it never matched. Now compares against activeChatId which is already restored from sessionStorage. Co-Authored-By: Claude Opus 4.6 (1M context) --- frontend/src/pages/AssistantChatPage.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/pages/AssistantChatPage.tsx b/frontend/src/pages/AssistantChatPage.tsx index 3dcd4c27..45ce031b 100644 --- a/frontend/src/pages/AssistantChatPage.tsx +++ b/frontend/src/pages/AssistantChatPage.tsx @@ -48,21 +48,21 @@ export default function AssistantChatPage() { const [activeQuestions, setActiveQuestions] = useState(() => { try { const saved = sessionStorage.getItem('rf-tasklane-meta') - if (saved) { const d = JSON.parse(saved); return d.questions || [] } + if (saved) { const d = JSON.parse(saved); if (d.chatId === activeChatId) return d.questions || [] } } catch { /* ignore */ } return [] }) const [activeActions, setActiveActions] = useState(() => { try { const saved = sessionStorage.getItem('rf-tasklane-meta') - if (saved) { const d = JSON.parse(saved); return d.actions || [] } + if (saved) { const d = JSON.parse(saved); if (d.chatId === activeChatId) return d.actions || [] } } catch { /* ignore */ } return [] }) const [showTaskLane, setShowTaskLane] = useState(() => { try { const saved = sessionStorage.getItem('rf-tasklane-meta') - if (saved) { const d = JSON.parse(saved); return d.show === true && d.chatId === (urlSessionId || null) } + if (saved) { const d = JSON.parse(saved); return d.show === true && d.chatId === activeChatId } } catch { /* ignore */ } return false })