fix: group message resend (#6106)

This commit is contained in:
MyPrototypeWhat 2025-05-17 23:53:57 +08:00 committed by GitHub
parent 6bbfa287e4
commit e51a37cc74
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -805,21 +805,19 @@ export const deleteMessageGroupThunk =
const currentState = getState()
const topicMessageIds = currentState.messages.messageIdsByTopic[topicId] || []
const messagesToDelete: Message[] = []
const idsToDelete: string[] = []
topicMessageIds.forEach((id) => {
const msg = currentState.messages.entities[id]
if (msg && msg.askId === askId) {
messagesToDelete.push(msg)
idsToDelete.push(id)
}
})
const userQuery = currentState.messages.entities[askId]
if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) {
messagesToDelete.push(userQuery)
idsToDelete.push(askId)
}
// const userQuery = currentState.messages.entities[askId]
// if (userQuery && userQuery.topicId === topicId && !idsToDelete.includes(askId)) {
// messagesToDelete.push(userQuery)
// idsToDelete.push(askId)
// }
if (messagesToDelete.length === 0) {
console.warn(`[deleteMessageGroup] No messages found with askId ${askId} in topic ${topicId}.`)
@ -894,13 +892,29 @@ export const resendMessageThunk =
const resetDataList: Message[] = []
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, {
askId: userMessageToResend.id,
model: assistant.model
})
resetDataList.push(assistantMessage)
dispatch(newMessagesActions.addMessage({ topicId, message: assistantMessage }))
}
resetDataList.forEach((message) => {
dispatch(newMessagesActions.addMessage({ topicId, message }))
})
}
const allBlockIdsToDelete: string[] = []