Skip to content

Commit 1d6a331

Browse files
committed
feat(tui): add subagent runtime behavior
Summary:\n- add the live subagent and watchdog runtime panel on top of the inbox foundation work\n- keep the subagent panel pinned and out of transcript history\n- mount the panel independently of the active transcript cell and render watchdog handles with the expected idle labeling\n\nTesting:\n- just fmt\n- cargo test -p codex-tui subagent_panel_is_not_flushed_into_transcript_history -- --exact\n- cargo test -p codex-tui subagent_panel_mounts_while_placeholder_active_cell_exists_snapshot -- --exact\n- cargo test -p codex-tui subagent_panel_renders_watchdog_handle_as_idle -- --exact\n- just fix -p codex-tui
1 parent f91ba10 commit 1d6a331

8 files changed

Lines changed: 944 additions & 11 deletions

File tree

codex-rs/.config/nextest.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,9 @@ test-group = 'app_server_protocol_codegen'
2727
# Keep the library unit tests parallel.
2828
filter = 'package(codex-app-server) & kind(test)'
2929
test-group = 'app_server_integration'
30+
31+
[[profile.default.overrides]]
32+
# Schema fixture generation can take longer than the default timeout on slower
33+
# Windows runners when app-server protocol fixture sets grow.
34+
filter = 'test(schema_fixtures_match_generated)'
35+
slow-timeout = { period = "1m", terminate-after = 2 }

codex-rs/app-server/tests/suite/v2/thread_unsubscribe.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,10 @@ async fn thread_unsubscribe_during_turn_interrupts_turn_and_emits_thread_closed(
192192
wait_for_command_execution_item_started(&mut mcp),
193193
)
194194
.await??;
195+
// `item/started` can arrive before the spawned command reports a process id.
196+
// Give the runtime a brief moment to finish wiring the command so unsubscribe
197+
// consistently exercises the shutdown path on slower CI runners.
198+
tokio::time::sleep(std::time::Duration::from_millis(250)).await;
195199

196200
let unsubscribe_id = mcp
197201
.send_thread_unsubscribe_request(ThreadUnsubscribeParams {

0 commit comments

Comments
 (0)