fix(frontend): 修复已结束运行打不开日志的问题
StrictMode 的 effect 清理会取消挂载时排队的 rAF,但没有把句柄归零;已结束的 run 在挂载时就处于 complete 状态,后续 ingest 看到「还有帧在排队」便不再安排渲染,日志一直停在「等待日志输出...」。取消后把 frameRef 归零,并在 e2e 增加「运行结束后重新打开日志」的回放断言。
This commit is contained in:
@@ -409,6 +409,10 @@ function RunLogOutput({
|
||||
return () => {
|
||||
if (frameRef.current) {
|
||||
cancelAnimationFrame(frameRef.current)
|
||||
// StrictMode 会「挂载 → 清理 → 再挂载」,取消后必须把句柄归零,
|
||||
// 否则下一次 scheduleRender 会误以为还有帧在排队而不再安排渲染,
|
||||
// 已结束的 run(complete 在首帧就为 true)会一直停在「等待日志输出」。
|
||||
frameRef.current = 0
|
||||
}
|
||||
}
|
||||
}, [])
|
||||
|
||||
Reference in New Issue
Block a user