fix: update conditional check last status message (#1951)
* fix: update conditional check last status message * fix: no new message on failed message --------- Co-authored-by: Louis <louis@jan.ai>
This commit is contained in:
parent
5890ade451
commit
9a1b1adc72
@ -128,10 +128,10 @@ export default function EventHandler({ children }: { children: ReactNode }) {
|
|||||||
|
|
||||||
const thread = threadsRef.current?.find((e) => e.id == message.thread_id)
|
const thread = threadsRef.current?.find((e) => e.id == message.thread_id)
|
||||||
if (thread) {
|
if (thread) {
|
||||||
const messageContent = message.content[0]?.text.value ?? ''
|
const messageContent = message.content[0]?.text?.value
|
||||||
const metadata = {
|
const metadata = {
|
||||||
...thread.metadata,
|
...thread.metadata,
|
||||||
lastMessage: messageContent,
|
...(messageContent && { lastMessage: messageContent }),
|
||||||
}
|
}
|
||||||
|
|
||||||
updateThread({
|
updateThread({
|
||||||
@ -151,7 +151,7 @@ export default function EventHandler({ children }: { children: ReactNode }) {
|
|||||||
?.addNewMessage(message)
|
?.addNewMessage(message)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
[updateMessage, updateThreadWaiting, setIsGeneratingResponse]
|
[updateMessage, updateThreadWaiting, setIsGeneratingResponse, updateThread]
|
||||||
)
|
)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|||||||
@ -70,11 +70,12 @@ export const addNewMessageAtom = atom(
|
|||||||
set(chatMessages, newData)
|
set(chatMessages, newData)
|
||||||
|
|
||||||
// Update thread last message
|
// Update thread last message
|
||||||
set(
|
if (newMessage.content.length)
|
||||||
updateThreadStateLastMessageAtom,
|
set(
|
||||||
newMessage.thread_id,
|
updateThreadStateLastMessageAtom,
|
||||||
newMessage.content
|
newMessage.thread_id,
|
||||||
)
|
newMessage.content
|
||||||
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -131,7 +132,8 @@ export const updateMessageAtom = atom(
|
|||||||
newData[conversationId] = updatedMessages
|
newData[conversationId] = updatedMessages
|
||||||
set(chatMessages, newData)
|
set(chatMessages, newData)
|
||||||
// Update thread last message
|
// Update thread last message
|
||||||
set(updateThreadStateLastMessageAtom, conversationId, text)
|
if (text.length)
|
||||||
|
set(updateThreadStateLastMessageAtom, conversationId, text)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import {
|
|||||||
ThreadAssistantInfo,
|
ThreadAssistantInfo,
|
||||||
ThreadState,
|
ThreadState,
|
||||||
Model,
|
Model,
|
||||||
|
MessageStatus,
|
||||||
} from '@janhq/core'
|
} from '@janhq/core'
|
||||||
import { atom, useAtomValue, useSetAtom } from 'jotai'
|
import { atom, useAtomValue, useSetAtom } from 'jotai'
|
||||||
|
|
||||||
@ -20,6 +21,7 @@ import useSetActiveThread from './useSetActiveThread'
|
|||||||
|
|
||||||
import { extensionManager } from '@/extension'
|
import { extensionManager } from '@/extension'
|
||||||
|
|
||||||
|
import { getCurrentChatMessagesAtom } from '@/helpers/atoms/ChatMessage.atom'
|
||||||
import {
|
import {
|
||||||
threadsAtom,
|
threadsAtom,
|
||||||
threadStatesAtom,
|
threadStatesAtom,
|
||||||
@ -51,6 +53,7 @@ export const useCreateNewThread = () => {
|
|||||||
const setFileUpload = useSetAtom(fileUploadAtom)
|
const setFileUpload = useSetAtom(fileUploadAtom)
|
||||||
const setSelectedModel = useSetAtom(selectedModelAtom)
|
const setSelectedModel = useSetAtom(selectedModelAtom)
|
||||||
const setThreadModelParams = useSetAtom(setThreadModelParamsAtom)
|
const setThreadModelParams = useSetAtom(setThreadModelParamsAtom)
|
||||||
|
const messages = useAtomValue(getCurrentChatMessagesAtom)
|
||||||
|
|
||||||
const { recommendedModel, downloadedModels } = useRecommendedModel()
|
const { recommendedModel, downloadedModels } = useRecommendedModel()
|
||||||
|
|
||||||
@ -63,9 +66,9 @@ export const useCreateNewThread = () => {
|
|||||||
const defaultModel = model ?? recommendedModel ?? downloadedModels[0]
|
const defaultModel = model ?? recommendedModel ?? downloadedModels[0]
|
||||||
|
|
||||||
// check last thread message, if there empty last message use can not create thread
|
// check last thread message, if there empty last message use can not create thread
|
||||||
const lastMessage = threads[0]?.metadata?.lastMessage
|
const lastMessage = threads[threads.length - 1]?.metadata?.lastMessage
|
||||||
|
|
||||||
if (!lastMessage && threads.length) {
|
if (!lastMessage && threads.length && !messages.length) {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user