fix(workflows): freeze settled transcript cards - #97
Closed
tt-a1i wants to merge 2 commits into
Closed
Conversation
Detached runs kept their settled tool cards bound to live state and wall clock animation. That changed historical rows on every global repaint, which can force Pi regular mode to clear terminal scrollback. Keep partial cards live while freezing settled cards and cover the detached lifecycle end to end.
Collaborator
Author
|
补充真实 Pi 同一个 detached running Workflow 历史卡放在 viewport 上方,底部 live strip 每 140ms 变化一次,共重绘 6 次。
另外 execute-level e2e 覆盖了真实 active run:settled launch receipt 跨多个 spinner cadence 的 因此修复同时切断了两条链路:历史卡自己的 timer invalidation,以及底部 live UI 触发全局 repaint 时历史卡读取 wall clock/live state。 |
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
问题
Workflow V2 默认 detached 后,工具调用已经 settled,但对应 run 仍可能在后台执行数分钟。历史 transcript 卡片此前仍然:
activeRuns读取实时状态;context.invalidate();Date.now()改变 spinner 和 elapsed。在 Pi
regular模式中,viewport 上方旧行发生变化可能触发fullRender(true),继而用CSI 3J清除终端 scrollback,表现为无输出时闪烁、上滚阅读位置突然丢失。修复
isPartial的当前工具调用读取 live run、更新 spinner 和 elapsed;/workflowsdashboard 和 completion follow-up 表达。回归覆盖
新增真实 detached Workflow e2e:
invalidate必须为 0;验证
bun run checkbun run test:861 Node + 30 Vitest 全通过Fixes #96