Skip to content

Commit 71c6a42

Browse files
committed
Fix slash popup navigation and restore composer dividers
- Use keymap list.move_up/down for slash popup traversal instead of hardcoded Ctrl-P/N, fixing the bug where popup only moved upward. - Open slash popup immediately on bare `/` without waiting for paste-burst flush timeout. - Deduplicate service tier commands that collide with builtin slash command names (e.g. `fast`). - Restore top/bottom border on the chat composer area to visually separate history from input. - Clarify `/subagents` description: closed rows are reviewable and do not imply spawn quota is still held. - Support CODEX_RESUME_COMMAND_NAME env var for fork-specific resume command formatting. - Update FEATURES.md and README with subagents semantics clarification.
1 parent 9415ffa commit 71c6a42

50 files changed

Lines changed: 489 additions & 140 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

FEATURES.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,6 @@ Fast-moving prompt packs, hooks, setup flows, and project policies are better ha
1717

1818
## Implemented Features
1919

20-
## Release Notes
21-
22-
### 0.131.1 - 2026-05-19
23-
24-
- Merge upstream Codex 0.131.0 into Open Codex.
25-
- Preserve fork runtime features across the merge: memory overlay/browser, persistent `Shift+Tab` speed toggle, Claude-style rewind/revoke, `/btw`, `/effort`, subagent quota reclamation, background subagent tracking, git attribution, and inline update release notes.
26-
- Restore fork-correct npm packaging and update diagnostics so install/update guidance targets `@leonw24/open-codex`.
27-
- Keep the release publishable through the local `release-fast` path with concrete GitHub release notes for the startup update prompt.
28-
2920
### TUI readability and turn correctness
3021

3122
| Feature | User-facing behavior | Main entry points | Notes |
@@ -68,7 +59,7 @@ Fast-moving prompt packs, hooks, setup flows, and project policies are better ha
6859
| --- | --- | --- | --- |
6960
| Nonblocking terminal tasks | Long-running terminal commands can continue in the background while chat continues. | `Ctrl+B`, task panel | Completed output remains available in history. |
7061
| Background subagent tracking | Spawned agents appear as background activity with role, status, runtime, progress, and task context. | Task panel, spawn/wait tool handling | Foreground `Working` state is separate from background counts. |
71-
| `/agent` and `/subagents` split | `/agent` lists agent profiles, while `/subagents` remains the active/resumable subagent view. | Slash commands | Keeps profile discovery separate from thread switching. |
62+
| `/agent` and `/subagents` split | `/agent` lists agent profiles, while `/subagents` opens the subagent thread picker for live, resumable, and reviewable threads. | Slash commands | Closed review rows do not imply spawn quota is still held; quota availability is determined by active/interrupted runtime handles. |
7263
| Subagent completion wakeups | Completed subagent work wakes the parent turn without requiring manual wait/close. | Core completion events | Added/fixed around `8670c2c842`. |
7364
| Subagent quota reclamation | Completed subagents are reclaimed from spawn quota, and spawn performs opportunistic cleanup when quota is exhausted. | Subagent runtime, spawn path | Interrupted subagents remain active/resumable quota holders. Fixed by `5348fb6fcd`. |
7465
| Parallel-first subagent policy | Complex tasks are encouraged to use independent read-only exploration, review, validation, and release-check lanes. | `~/.codex/AGENTS.md`, `docs/parallel-first-agent-execution.md` | Instruction-policy feature, not a hardcoded scheduler. |
@@ -97,6 +88,15 @@ Fast-moving prompt packs, hooks, setup flows, and project policies are better ha
9788
| `/btw` side questions | Ask quick side questions without taking over the primary chat thread. | `/btw <question>` | Runs as an inline hidden thread with expected model, effort, permission, and tool behavior. |
9889
| Default commit attribution | Open Codex can apply the fork's commit attribution identity by default. | git attribution extension/config | Implemented before the recent 0.130.x release series. |
9990

91+
## Release Notes
92+
93+
### 0.131.1 - 2026-05-19
94+
95+
- Merge upstream Codex 0.131.0 into Open Codex.
96+
- Preserve fork runtime features across the merge: memory overlay/browser, persistent `Shift+Tab` speed toggle, Claude-style rewind/revoke, `/btw`, `/effort`, subagent quota reclamation, background subagent tracking, git attribution, and inline update release notes.
97+
- Restore fork-correct npm packaging and update diagnostics so install/update guidance targets `@leonw24/open-codex`.
98+
- Keep the release publishable through the local `release-fast` path with concrete GitHub release notes for the startup update prompt.
99+
100100
## Recently Important Fixes
101101

102102
| Commit | Date | Summary |

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,9 @@ The shared interaction model is:
174174
- `Enter` opens details, `x` stops the selected stoppable background item, and `Esc`/`Left` closes the panel.
175175
- the status line keeps foreground `Working` state separate from background subagent/terminal counts.
176176
- terminal details show runtime and recent output; subagent details show role, task, status, runtime, progress, and task-boundary context.
177-
- `/agent` shows available agent profiles, while `/subagents` keeps the subagent thread picker/switching workflow.
177+
- `/agent` shows available agent profiles, while `/subagents` opens the subagent thread picker/switching workflow for live, resumable, and closed-but-reviewable threads.
178178
- completed subagent work wakes the parent turn through a core completion event, so results can be integrated without manually calling `wait_agent` or closing the agent.
179-
- completed subagents are reclaimed from spawn quota when they reach a final state, and the spawn path performs opportunistic cleanup before reporting that no quota is available. Interrupted subagents remain visible as active quota holders because they may still be resumed; `/subagents` is therefore the active/resumable subagent view, not a stale-handle inventory.
179+
- completed subagents are reclaimed from spawn quota when they reach a final state, and the spawn path performs opportunistic cleanup before reporting that no quota is available. Interrupted subagents remain active quota holders because they may still be resumed; closed `/subagents` rows are retained for review/switching context and should not be read as proof that spawn quota is still held.
180180
- completed background command output is preserved in history without pulling the task back into the foreground.
181181

182182
This is the essential interaction change behind the Claude Code-style behavior: background work stays visible and controllable, but it no longer blocks normal chat flow.
@@ -476,9 +476,9 @@ Codex CLI 是开源的,但上游仓库当前对外部代码贡献采用 invita
476476
- `Enter` 打开详情,`x` 停止当前选中的 stoppable 后台项,`Esc`/`Left` 关闭 panel。
477477
- status line 会把前台 `Working` 状态和后台 subagent/terminal 数量分开显示。
478478
- terminal detail 展示运行时间和最近输出;subagent detail 展示 role、task、status、运行时间、progress 和任务边界信息。
479-
- `/agent` 用于查看可用 agent profiles,`/subagents` 保留 subagent thread picker / 切换工作流。
479+
- `/agent` 用于查看可用 agent profiles,`/subagents` 打开 subagent thread picker / 切换工作流,覆盖 live、resumable、以及 closed-but-reviewable threads
480480
- subagent 完成后会通过 core completion event 唤醒 parent turn,因此不需要手动调用 `wait_agent` 或关闭 agent 才能继续整合结果。
481-
- completed subagent 到达 final state 后会从 spawn quota 中回收;当 spawn 没有可用 quota 时,主线程会先做 opportunistic cleanup 再返回 quota 不足。Interrupted subagent 仍会作为 active quota holder 保留,因为它们可能被 resume;因此 `/subagents` 的语义是 active/resumable subagent view,而不是僵尸 handle 列表
481+
- completed subagent 到达 final state 后会从 spawn quota 中回收;当 spawn 没有可用 quota 时,主线程会先做 opportunistic cleanup 再返回 quota 不足。Interrupted subagent 仍会作为 active quota holder 保留,因为它们可能被 resume;closed `/subagents` rows 会保留用于 review / switching context,不应被理解为 spawn quota 仍被占用
482482
- background command 完成后会保留输出到 history,但不会把任务重新拉回前台。
483483

484484
这是 Claude Code 风格体验背后的本质交互变化:后台工作仍然可见、可管理,但不会阻塞正常聊天流。

codex-rs/tui/src/app/agent_navigation.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,7 @@ impl AgentNavigationState {
242242
let previous: Span<'static> = previous_agent_shortcut().into();
243243
let next: Span<'static> = next_agent_shortcut().into();
244244
format!(
245-
"Select an agent to watch. {} previous, {} next.",
245+
"Select an agent thread to watch. Closed rows are reviewable; they do not mean spawn quota is still held. {} previous, {} next.",
246246
previous.content, next.content
247247
)
248248
}

0 commit comments

Comments
 (0)