优化: FR-R3 liveEvents 限长防内存膨胀

push 后超 200 条截断保留最近(原无限制,长工作流执行致数组无限增长);来源 fullstack-review §4(待复核→确认)
FR-S5 核实降级:ai_approve 无对话归属校验属实,但 UI 隔离+restore 只载当前对话历史限制触发,本地单机低危,降级文档说明
This commit is contained in:
2026-06-14 17:04:36 +08:00
parent 698a874709
commit 8dbe3d277b

View File

@@ -211,6 +211,10 @@ function createStore() {
try {
// 固时间戳(FR-C1):formattedEvents computed 重算时用事件发生时刻,非当前时刻
state.liveEvents.push({ ...payload, _ts: Date.now() })
// 限长(FR-R3):防 liveEvents 无限增长撑爆内存,保留最近 200 条
if (state.liveEvents.length > 200) {
state.liveEvents.splice(0, state.liveEvents.length - 200)
}
// 处理人工审批请求
// WorkflowEvent serde tag=type rename_all=snake_case → type='human_approval_request',字段扁平(无 data 包装)(B-03b-R7)
if (payload.event?.type === 'human_approval_request') {