feat: do not close unified exec processes across turns (#10799)

With this PR we do not close the unified exec processes (i.e. background
terminals) at the end of a turn unless:
* The user interrupt the turn
* The user decide to clean the processes through `app-server` or
`/clean`

I made sure that `codex exec` correctly kill all the processes
This commit is contained in:
jif-oai
2026-02-09 10:27:46 +00:00
committed by GitHub
parent 4e9e6ca243
commit 6cf61725d0
16 changed files with 300 additions and 46 deletions

View File

@@ -5,10 +5,9 @@ expression: "format!(\"{buf:?}\")"
Buffer {
area: Rect { x: 0, y: 0, width: 50, height: 1 },
content: [
" 123 background terminals running · /ps to view ",
" 123 background terminals running · /ps to view ·",
],
styles: [
x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM,
x: 48, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE,
]
}

View File

@@ -5,10 +5,9 @@ expression: "format!(\"{buf:?}\")"
Buffer {
area: Rect { x: 0, y: 0, width: 50, height: 1 },
content: [
" 1 background terminal running · /ps to view ",
" 1 background terminal running · /ps to view · /c",
],
styles: [
x: 0, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: DIM,
x: 45, y: 0, fg: Reset, bg: Reset, underline: Reset, modifier: NONE,
]
}

View File

@@ -37,7 +37,9 @@ impl UnifiedExecFooter {
let count = self.processes.len();
let plural = if count == 1 { "" } else { "s" };
let message = format!(" {count} background terminal{plural} running · /ps to view");
let message = format!(
" {count} background terminal{plural} running · /ps to view · /clean to close"
);
let (truncated, _, _) = take_prefix_by_width(&message, width as usize);
vec![Line::from(truncated.dim())]
}