fix: 回滚 ScriptView 临时 conversationId 正则保护(误伤历史剧本)

This commit is contained in:
2026-06-28 23:33:29 +08:00
parent 808a590b8d
commit 6ae721eb89
2 changed files with 84 additions and 13 deletions
@@ -663,19 +663,6 @@ const continueCurrentVersion = () => {
const loadMessages = async () => {
if (!conversationId.value) return
// 临时 ID 短路保护:
// 当 conversationId 是 ensureConversationId() 在前端自造的 `conv-<ts>-<rand>` 形式,
// 且没有 script.conversationId 背书(即后端还没通过 createWithDialogue 落库),
// 此时去查 listByConversation 必然是空且会产生 5xx 噪音。
// 在 streamScriptChat 第一次成功落库前,直接跳过查询。
const looksLikeTempId = /^conv-\d+-[a-z0-9]{6}$/.test(conversationId.value)
const backedByScript = Boolean(currentResult.value?.conversationId)
if (looksLikeTempId && !backedByScript) {
messages.value = []
versions.value = []
return
}
try {
const res = await listMessagesByConversation({ conversationId: conversationId.value, includeVersions: false })
messages.value = res.data || []