fix(Thread): #1064 message being added to wrong thread if switching thread (#1108)

when waiting for LLM to response

Signed-off-by: James <james@jan.ai>
Co-authored-by: James <james@jan.ai>
This commit is contained in:
NamH 2023-12-20 12:36:31 +07:00 committed by GitHub
parent e21cbc752a
commit a9c3416236
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -60,19 +60,21 @@ export const addOldMessagesAtom = atom(
export const addNewMessageAtom = atom( export const addNewMessageAtom = atom(
null, null,
(get, set, newMessage: ThreadMessage) => { (get, set, newMessage: ThreadMessage) => {
const threadId = get(getActiveThreadIdAtom) const currentMessages = get(chatMessages)[newMessage.thread_id] ?? []
if (!threadId) return
const currentMessages = get(chatMessages)[threadId] ?? []
const updatedMessages = [...currentMessages, newMessage] const updatedMessages = [...currentMessages, newMessage]
const newData: Record<string, ThreadMessage[]> = { const newData: Record<string, ThreadMessage[]> = {
...get(chatMessages), ...get(chatMessages),
} }
newData[threadId] = updatedMessages newData[newMessage.thread_id] = updatedMessages
set(chatMessages, newData) set(chatMessages, newData)
// Update thread last message // Update thread last message
set(updateThreadStateLastMessageAtom, threadId, newMessage.content) set(
updateThreadStateLastMessageAtom,
newMessage.thread_id,
newMessage.content
)
} }
) )