mirror of
https://github.com/codewhale-hq/Codewhale.git
synced 2026-11-07 17:09:13 -10:00
fix(tui): the work dock no longer marks a killed or timed-out job done
CW-7087 (minor finding of the 2026-10-18 reproduction). In the dock's
finished rows, every status other than "failed" got the ✓ done mark, so a
job the user stopped showed ✓ next to "killed" while the status line said
"1 failed". The mark now follows the outcome: ✓ only for completed, ◆ with
the failure tone for failed and timed out, and the neutral · for killed
(a deliberate stop, neither success nor failure).
Verified: scripts/dev-test.sh tui work_surface finished background_rows
dock: 209 run, 209 passed; none of them pins this mapping. cargo fmt
--check clean. Not verified on screen: my tmux runs reached the kill
("run failed · sleep 300", "killed") but not the dock's finished rows; the
original reproduction captured the ✓ there (shots/17-stop.txt).
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01NBKbhx19BRbZtvWK8rVKjz
This commit is contained in:
1 parent
f5dba7d8b5
commit
c9072cb72c
1 file changed
+5
-5
@@ -1008,16 +1008,16 @@ fn finished_background_rows(app: &App) -> Vec<WorkRow> {
|
||||
.iter()
|
||||
.filter(|entry| !is_live_task_status(&entry.status))
|
||||
.map(|entry| {
|
||||
let failed = matches!(entry.status.as_str(), "failed");
|
||||
let failed = matches!(entry.status.as_str(), "failed" | "timed_out");
|
||||
let tone = if failed {
|
||||
WorkTone::Failure
|
||||
} else {
|
||||
WorkTone::Muted
|
||||
};
|
||||
let mark = if failed {
|
||||
crate::tui::glyphs::ATTENTION
|
||||
} else {
|
||||
crate::tui::glyphs::DONE
|
||||
let mark = match entry.status.as_str() {
|
||||
"completed" => crate::tui::glyphs::DONE,
|
||||
_ if failed => crate::tui::glyphs::ATTENTION,
|
||||
_ => crate::tui::glyphs::NEUTRAL,
|
||||
};
|
||||
if is_shell_entry(entry) {
|
||||
let command = shell_command(entry);
|
||||
|
||||
Reference in new issue
Block a user