修复: 全栈审查 FR-C1~C5 五项正确性 bug
- FR-C1 formattedEvents 时间漂移:事件入数组固 _ts 时间戳(project.ts push + ProjectDetail 用 _ts),computed 重算不再刷历史时间为当前时刻 - FR-C2 sentiment 三档统一:模板 >0/<0/===0 + sentimentClass 同源 + i18n neutral(zh/en),原模板>0 与 class>=0 矛盾 - FR-C3 Settings timer 泄漏:onUnmounted 清全部三个(原仅 _concurrencyTimer) - FR-C4 MIGRATION_VERSION 死常量:删(零代码引用,run() if 链自管版本) - FR-C5 AiConversationDetail 缺 readonly:加 readonly?: boolean(后端 generating 时返回) 来源 fullstack-review §3(已核实);cargo/vue-tsc 0 err
This commit is contained in:
@@ -212,7 +212,6 @@ import { formatDate } from '../utils/time'
|
||||
import { parseStack } from '../utils/project'
|
||||
import { projectStatusLabel, projectStageInfo, taskStatusLabel, taskStatusClass } from '../constants/project'
|
||||
import ConfirmDialog from '../components/ConfirmDialog.vue'
|
||||
import type { WorkflowEventPayload } from '../api/types'
|
||||
|
||||
const route = useRoute()
|
||||
const router = useRouter()
|
||||
@@ -296,12 +295,13 @@ interface LogEntry {
|
||||
}
|
||||
|
||||
const formattedEvents = computed<LogEntry[]>(() => {
|
||||
return store.liveEvents.map((evt: WorkflowEventPayload) => {
|
||||
return store.liveEvents.map((evt) => {
|
||||
const ev = evt.event
|
||||
const type = ev.type ?? 'unknown'
|
||||
const level = type.includes('error') || type.includes('fail') ? 'error'
|
||||
: type.includes('warn') ? 'warn' : 'info'
|
||||
const time = new Date().toLocaleTimeString(locale.value, { hour: '2-digit', minute: '2-digit', second: '2-digit' })
|
||||
// 用事件入数组时固化的时间戳(FR-C1),非 computed 重算的当前时刻
|
||||
const time = new Date(evt._ts).toLocaleTimeString(locale.value, { hour: '2-digit', minute: '2-digit', second: '2-digit' })
|
||||
const message = ev.label
|
||||
? `[${ev.label}] ${type}: ${ev.output ?? ev.code ?? ev.message ?? JSON.stringify(ev)}`
|
||||
: `${type}: ${ev.output ?? ev.code ?? ev.message ?? JSON.stringify(ev)}`
|
||||
|
||||
Reference in New Issue
Block a user