feat(MessageOperations): Add local database synchronization for message updates
This commit is contained in:
parent
0e5411d3ba
commit
38c8327cbf
@ -1,3 +1,4 @@
|
|||||||
|
import db from '@renderer/databases'
|
||||||
import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService'
|
import { EVENT_NAMES, EventEmitter } from '@renderer/services/EventService'
|
||||||
import { useAppDispatch, useAppSelector } from '@renderer/store'
|
import { useAppDispatch, useAppSelector } from '@renderer/store'
|
||||||
import {
|
import {
|
||||||
@ -62,8 +63,11 @@ export function useMessageOperations(topic: Topic) {
|
|||||||
updates
|
updates
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
|
db.topics.update(topic.id, {
|
||||||
|
messages: messages.map((m) => (m.id === messageId ? { ...m, ...updates } : m))
|
||||||
|
})
|
||||||
},
|
},
|
||||||
[dispatch, topic.id]
|
[dispatch, messages, topic.id]
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -250,9 +250,6 @@ const MessageMenubar: FC<Props> = (props) => {
|
|||||||
await modelGenerating()
|
await modelGenerating()
|
||||||
const selectedModel = await SelectModelPopup.show({ model })
|
const selectedModel = await SelectModelPopup.show({ model })
|
||||||
if (!selectedModel) return
|
if (!selectedModel) return
|
||||||
|
|
||||||
// const mentionModelMessage: Message = resetAssistantMessage(message, selectedModel)
|
|
||||||
// dispatch(updateMessage({ topicId: topic.id, messageId: message.id, updates: _message }))
|
|
||||||
resendMessage(message, { ...assistant, model: selectedModel }, true)
|
resendMessage(message, { ...assistant, model: selectedModel }, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -190,20 +190,6 @@ const messagesSlice = createSlice({
|
|||||||
// }
|
// }
|
||||||
})
|
})
|
||||||
|
|
||||||
export const {
|
|
||||||
setTopicLoading,
|
|
||||||
setError,
|
|
||||||
setDisplayCount,
|
|
||||||
addMessage,
|
|
||||||
updateMessage,
|
|
||||||
setCurrentTopic,
|
|
||||||
clearTopicMessages,
|
|
||||||
loadTopicMessages,
|
|
||||||
setStreamMessage,
|
|
||||||
commitStreamMessage,
|
|
||||||
clearStreamMessage
|
|
||||||
} = messagesSlice.actions
|
|
||||||
|
|
||||||
const handleResponseMessageUpdate = (
|
const handleResponseMessageUpdate = (
|
||||||
assistant: Assistant,
|
assistant: Assistant,
|
||||||
message: Message,
|
message: Message,
|
||||||
@ -523,4 +509,18 @@ export const selectStreamMessage = (state: RootState, topicId: string, messageId
|
|||||||
return messagesState.streamMessagesByTopic[topicId]?.[messageId] || null
|
return messagesState.streamMessagesByTopic[topicId]?.[messageId] || null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const {
|
||||||
|
setTopicLoading,
|
||||||
|
setError,
|
||||||
|
setDisplayCount,
|
||||||
|
addMessage,
|
||||||
|
updateMessage,
|
||||||
|
setCurrentTopic,
|
||||||
|
clearTopicMessages,
|
||||||
|
loadTopicMessages,
|
||||||
|
setStreamMessage,
|
||||||
|
commitStreamMessage,
|
||||||
|
clearStreamMessage
|
||||||
|
} = messagesSlice.actions
|
||||||
|
|
||||||
export default messagesSlice.reducer
|
export default messagesSlice.reducer
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user