mirror of
https://github.com/openai/codex.git
synced 2026-05-03 02:46:39 +00:00
fix: show command running in background terminal in details under status indicator (#12549)
#### What Display in-progress background terminal command in `status.details` (right under header) rather than inline, as it gets cut off currently. ###### Before <img width="993" height="395" alt="image" src="https://github.com/user-attachments/assets/6792b666-8184-40f7-bf29-409bb06c21d5" /> ###### After <img width="469" height="137" alt="image" src="https://github.com/user-attachments/assets/4d6a2481-bd19-4333-8c1a-92f521b09b3d" /> #### Tests Added/updated tests
This commit is contained in:
@@ -4002,8 +4002,14 @@ async fn unified_exec_wait_status_header_updates_on_late_command_display() {
|
||||
assert!(chat.active_cell.is_none());
|
||||
assert_eq!(
|
||||
chat.current_status_header,
|
||||
"Waiting for background terminal · sleep 5"
|
||||
"Waiting for background terminal"
|
||||
);
|
||||
let status = chat
|
||||
.bottom_pane
|
||||
.status_widget()
|
||||
.expect("status indicator should be visible");
|
||||
assert_eq!(status.header(), "Waiting for background terminal");
|
||||
assert_eq!(status.details(), Some("sleep 5"));
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
@@ -4016,8 +4022,14 @@ async fn unified_exec_waiting_multiple_empty_snapshots() {
|
||||
terminal_interaction(&mut chat, "call-wait-1b", "proc-1", "");
|
||||
assert_eq!(
|
||||
chat.current_status_header,
|
||||
"Waiting for background terminal · just fix"
|
||||
"Waiting for background terminal"
|
||||
);
|
||||
let status = chat
|
||||
.bottom_pane
|
||||
.status_widget()
|
||||
.expect("status indicator should be visible");
|
||||
assert_eq!(status.header(), "Waiting for background terminal");
|
||||
assert_eq!(status.details(), Some("just fix"));
|
||||
|
||||
chat.handle_codex_event(Event {
|
||||
id: "turn-wait-1".into(),
|
||||
@@ -4035,6 +4047,26 @@ async fn unified_exec_waiting_multiple_empty_snapshots() {
|
||||
assert_snapshot!("unified_exec_waiting_multiple_empty_after", combined);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn unified_exec_wait_status_renders_command_in_single_details_row_snapshot() {
|
||||
let (mut chat, _rx, _op_rx) = make_chatwidget_manual(None).await;
|
||||
chat.on_task_started();
|
||||
begin_unified_exec_startup(
|
||||
&mut chat,
|
||||
"call-wait-ui",
|
||||
"proc-ui",
|
||||
"cargo test -p codex-core -- --exact some::very::long::test::name",
|
||||
);
|
||||
|
||||
terminal_interaction(&mut chat, "call-wait-ui-stdin", "proc-ui", "");
|
||||
|
||||
let rendered = render_bottom_popup(&chat, 48);
|
||||
assert_snapshot!(
|
||||
"unified_exec_wait_status_renders_command_in_single_details_row",
|
||||
rendered
|
||||
);
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
async fn unified_exec_empty_then_non_empty_snapshot() {
|
||||
let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(None).await;
|
||||
@@ -4062,8 +4094,14 @@ async fn unified_exec_non_empty_then_empty_snapshots() {
|
||||
terminal_interaction(&mut chat, "call-wait-3b", "proc-3", "");
|
||||
assert_eq!(
|
||||
chat.current_status_header,
|
||||
"Waiting for background terminal · just fix"
|
||||
"Waiting for background terminal"
|
||||
);
|
||||
let status = chat
|
||||
.bottom_pane
|
||||
.status_widget()
|
||||
.expect("status indicator should be visible");
|
||||
assert_eq!(status.header(), "Waiting for background terminal");
|
||||
assert_eq!(status.details(), Some("just fix"));
|
||||
let pre_cells = drain_insert_history(&mut rx);
|
||||
let active_combined = pre_cells
|
||||
.iter()
|
||||
|
||||
Reference in New Issue
Block a user