diff --git a/src/renderer/src/hooks/useTopic.ts b/src/renderer/src/hooks/useTopic.ts index 15ecb99d88..19d262df66 100644 --- a/src/renderer/src/hooks/useTopic.ts +++ b/src/renderer/src/hooks/useTopic.ts @@ -195,13 +195,8 @@ export const TopicManager = { }, async removeTopic(id: string) { - const messages = await TopicManager.getTopicMessages(id) - - for (const message of messages) { - await deleteMessageFiles(message) - } - - db.topics.delete(id) + await TopicManager.clearTopicMessages(id) + await db.topics.delete(id) }, async clearTopicMessages(id: string) { @@ -212,6 +207,12 @@ export const TopicManager = { await deleteMessageFiles(message) } + // 删除关联的 message_blocks 记录 + const blockIds = topic.messages.flatMap((message) => message.blocks || []) + if (blockIds.length > 0) { + await db.message_blocks.bulkDelete(blockIds) + } + topic.messages = [] await db.topics.update(id, topic)