fix(chat): sync currentChatRef when prefill creates a new chat session
The dashboard prefill flow in AssistantChatPage set activeChatId after creating a new session but never updated currentChatRef.current. Every later handleSend / handleTaskSubmit then tripped the `currentChatRef.current !== sentForChatId` guard that was supposed to discard responses for stale chats — and silently dropped the AI's follow-up. The user saw their submitted message but no assistant reply, no toast, no task-lane update. Mirrors what handleNewChat and handleResumeNew already do. Adds an e2e regression test that drives the dashboard prefill, submits a partial task-lane response, and asserts the second AI turn renders. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -255,6 +255,12 @@ export default function AssistantChatPage() {
|
||||
}
|
||||
setChats(prev => [chatItem, ...prev])
|
||||
setActiveChatId(session.session_id)
|
||||
// Keep the in-flight guard ref in sync. Without this, currentChatRef
|
||||
// stays at its mount-time value (often a stale id from sessionStorage
|
||||
// or null), so subsequent handleSend / handleTaskSubmit calls bail at
|
||||
// their `currentChatRef.current !== sentForChatId` check and the AI
|
||||
// response is silently dropped.
|
||||
currentChatRef.current = session.session_id
|
||||
setMessages([{ role: 'user', content: prefill }])
|
||||
setLoading(true)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user