修复: CR-31 useConfirm 并发覆盖 resolve+ToolCardList 对称清 expandedTools

①useConfirm confirmDialog 进入时先 resolve?.(false) 打断前一个(连点删除/confirm 交错时前一个 Promise 永挂,resolve 被覆盖静默中断+内存泄漏),视为取消;②ToolCardList collapseInactive 对称过滤 expandedTools(原只清 expandedCards,expandedTools 残留致已完成卡片折叠后内容展开态)。cron 巡检捕获走查第8轮 CR-31,vue-tsc 0
This commit is contained in:
2026-06-15 09:17:21 +08:00
parent 6116c9bb4a
commit 2ddd2940cc
2 changed files with 7 additions and 0 deletions

View File

@@ -45,9 +45,13 @@ function toggleExpand(id: string) {
/** 收起不在 activeIds 中的已完成/已拒绝卡片(供父组件 auto-collapse watch 调用) */
function collapseInactive(activeIds: Set<string>): void {
// CR-260615-31:对称过滤 expandedTools(原只清 expandedCards,expandedTools 残留致折叠后内容展开态)
if (expandedCards.value.size > 0) {
expandedCards.value = new Set([...expandedCards.value].filter(id => activeIds.has(id)))
}
if (expandedTools.value.size > 0) {
expandedTools.value = new Set([...expandedTools.value].filter(id => activeIds.has(id)))
}
}
defineExpose({ collapseInactive })