On failure the worker sends error: error.message (e.g. Command failed: … Killed on timeout, or the non-zero exit summary). The server's command_result handler copies only success, stdout, stderr, duration into the log entry, so error is lost; duration is also not sent on the failure path. The frontend already renders log.error if present.
Users cannot distinguish a timeout from a non-zero exit from a missing binary, and see no duration for failed runs.
Persist error, exit_code, signal, timed_out, duration and show them in the detail modal and toast ("exit 127", "timed out after 60s").
## Overview
On failure the worker sends `error: error.message` (e.g. `Command failed: … Killed` on timeout, or the non-zero exit summary). The server's `command_result` handler copies only `success, stdout, stderr, duration` into the log entry, so `error` is lost; `duration` is also not sent on the failure path. The frontend already renders `log.error` if present.
Users cannot distinguish a timeout from a non-zero exit from a missing binary, and see no duration for failed runs.
## Where
- `server.js` `ws.on('message')` → `command_result` branch (`addExecutionLog`).
- `worker/worker.js` `executeCommand()` catch block – add `exitCode: error.code`, `signal: error.signal`, `duration`, `timedOut: error.killed`.
## Suggested fix
Persist `error`, `exit_code`, `signal`, `timed_out`, `duration` and show them in the detail modal and toast ("exit 127", "timed out after 60s").
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Overview
On failure the worker sends
error: error.message(e.g.Command failed: … Killedon timeout, or the non-zero exit summary). The server'scommand_resulthandler copies onlysuccess, stdout, stderr, durationinto the log entry, soerroris lost;durationis also not sent on the failure path. The frontend already renderslog.errorif present.Users cannot distinguish a timeout from a non-zero exit from a missing binary, and see no duration for failed runs.
Where
server.jsws.on('message')→command_resultbranch (addExecutionLog).worker/worker.jsexecuteCommand()catch block – addexitCode: error.code,signal: error.signal,duration,timedOut: error.killed.Suggested fix
Persist
error,exit_code,signal,timed_out,durationand show them in the detail modal and toast ("exit 127", "timed out after 60s").