Skip to content

fix(agent): 修复共享 Codex daemon 的思考提示串面板 - #127

Merged
chenbstack merged 1 commit into
chenbstack:mainfrom
defia:fix/codex-daemon-pane-routing
Oct 8, 2026
Merged

chenbstack merged 1 commit into
chenbstack:mainfrom
defia:fix/codex-daemon-pane-routing

Conversation

@defia

@defia defia commented Oct 7, 2026

Copy link
Copy Markdown
Collaborator

共享 Codex app-server daemon 会保留最初启动客户端的 GLINT_PANE_ID。其他终端的会话继续触发 Hook 时,原逻辑仍把这些事件应用到旧面板:C1Slim 已返回 zsh,但 glint 会话执行时它持续显示“思考中/运行中”,会话恢复 ID 也可能被覆盖。

本次通过 Hook 的会话 ID、事件目录和面板实际前台进程核验目标。已有会话绑定优先;没有绑定时,只路由到事件目录下唯一仍附着 Codex 的面板。旧 reporter 仅在原地址仍附着 Codex 时兼容。多个同目录新会话无法唯一识别时跳过事件,避免猜测归属。面板返回 shell 后清理残留的忙碌状态和 Dock 提示,并保留完成/失败等需要用户查看的状态。

验证:

  • 修改前,真实 WorkspaceStore 回归测试复现串面板、覆盖会话 ID 和退出后忙碌状态残留。
  • 最新 upstream/main 575b42a 的独立 worktree 中,Agent Hook 路由、计时、类型识别和会话恢复相关测试 71/71 通过。
  • 完整 reporter → Unix socket → AgentBridge 解码 → WorkspaceStore 链路覆盖 UserPromptSubmit、PreToolUse、PostToolUse、Stop;另外覆盖同目录歧义、已绑定会话改变工具目录、旧 reporter 和 shell 退出清理。
  • git diff --check 通过。

本 PR 仅包含 Agent 路由和回归测试 4 个文件;未包含 Web Remote 等其他未合并 PR。

@chenbstack
chenbstack merged commit 61c129a into chenbstack:main Oct 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants