fix: chat loses conversation context between messages
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 43s
Some checks failed
Deploy to Production / Build and Deploy (push) Failing after 43s
Remove revalidatePath('/chat') from createConversation — it caused
the server to re-render the /chat page after each new conversation,
which reset the useChat hook state and created a new conversation
for every message instead of continuing the existing one.
Sidebar now refreshes client-side after streaming completes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -21,7 +21,6 @@ export async function createConversation(title: string, notebookId?: string) {
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
revalidatePath('/chat')
|
|
||||||
return { id: conversation.id, title: conversation.title }
|
return { id: conversation.id, title: conversation.title }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -69,6 +68,5 @@ export async function deleteConversation(id: string) {
|
|||||||
where: { id, userId: session.user.id }
|
where: { id, userId: session.user.id }
|
||||||
})
|
})
|
||||||
|
|
||||||
revalidatePath('/chat')
|
|
||||||
return { success: true }
|
return { success: true }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,12 +60,14 @@ export function ChatContainer({ initialConversations, notebooks, webSearchAvaila
|
|||||||
}, [isLoading, t])
|
}, [isLoading, t])
|
||||||
|
|
||||||
// Sync historyMessages after each completed streaming response
|
// Sync historyMessages after each completed streaming response
|
||||||
// so the display doesn't revert to stale history
|
// so the display doesn't revert to stale history.
|
||||||
|
// Also refresh sidebar so new conversation appears.
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (status === 'ready' && messages.length > 0) {
|
if (status === 'ready' && messages.length > 0) {
|
||||||
setHistoryMessages([...messages])
|
setHistoryMessages([...messages])
|
||||||
|
refreshConversations()
|
||||||
}
|
}
|
||||||
}, [status, messages])
|
}, [status, messages, refreshConversations])
|
||||||
|
|
||||||
// Load conversation details when the user selects a different conversation
|
// Load conversation details when the user selects a different conversation
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user