mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-23 10:00:08 +08:00
fix: group message resend (#6106)
This commit is contained in:
parent
6bbfa287e4
commit
e51a37cc74
@ -805,21 +805,19 @@ export const deleteMessageGroupThunk =
|
|||||||
const currentState = getState()
|
const currentState = getState()
|
||||||
const topicMessageIds = currentState.messages.messageIdsByTopic[topicId] || []
|
const topicMessageIds = currentState.messages.messageIdsByTopic[topicId] || []
|
||||||
const messagesToDelete: Message[] = []
|
const messagesToDelete: Message[] = []
|
||||||
const idsToDelete: string[] = []
|
|
||||||
|
|
||||||
topicMessageIds.forEach((id) => {
|
topicMessageIds.forEach((id) => {
|
||||||
const msg = currentState.messages.entities[id]
|
const msg = currentState.messages.entities[id]
|
||||||
if (msg && msg.askId === askId) {
|
if (msg && msg.askId === askId) {
|
||||||
messagesToDelete.push(msg)
|
messagesToDelete.push(msg)
|
||||||
idsToDelete.push(id)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const userQuery = currentState.messages.entities[askId]
|
// const userQuery = currentState.messages.entities[askId]
|
||||||
if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) {
|
// if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) {
|
||||||
messagesToDelete.push(userQuery)
|
// messagesToDelete.push(userQuery)
|
||||||
idsToDelete.push(askId)
|
// idsToDelete.push(askId)
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (messagesToDelete.length === 0) {
|
if (messagesToDelete.length === 0) {
|
||||||
console.warn(`[deleteMessageGroup] No messages found with askId ${askId} in topic ${topicId}.`)
|
console.warn(`[deleteMessageGroup] No messages found with askId ${askId} in topic ${topicId}.`)
|
||||||
@ -894,13 +892,29 @@ export const resendMessageThunk =
|
|||||||
const resetDataList: Message[] = []
|
const resetDataList: Message[] = []
|
||||||
|
|
||||||
if (assistantMessagesToReset.length === 0) {
|
if (assistantMessagesToReset.length === 0) {
|
||||||
// 没有用户消息,就创建一个
|
// 没有用户消息,就创建一个或多个
|
||||||
|
|
||||||
|
if (userMessageToResend?.mentions?.length) {
|
||||||
|
console.log('userMessageToResend.mentions', userMessageToResend.mentions)
|
||||||
|
for (const mention of userMessageToResend.mentions) {
|
||||||
|
const assistantMessage = createAssistantMessage(assistant.id, topicId, {
|
||||||
|
askId: userMessageToResend.id,
|
||||||
|
model: mention,
|
||||||
|
modelId: mention.id
|
||||||
|
})
|
||||||
|
resetDataList.push(assistantMessage)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
const assistantMessage = createAssistantMessage(assistant.id, topicId, {
|
const assistantMessage = createAssistantMessage(assistant.id, topicId, {
|
||||||
askId: userMessageToResend.id,
|
askId: userMessageToResend.id,
|
||||||
model: assistant.model
|
model: assistant.model
|
||||||
})
|
})
|
||||||
resetDataList.push(assistantMessage)
|
resetDataList.push(assistantMessage)
|
||||||
dispatch(newMessagesActions.addMessage({ topicId, message: assistantMessage }))
|
}
|
||||||
|
|
||||||
|
resetDataList.forEach((message) => {
|
||||||
|
dispatch(newMessagesActions.addMessage({ topicId, message }))
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const allBlockIdsToDelete: string[] = []
|
const allBlockIdsToDelete: string[] = []
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user