fix: include command stderr in backup failure messages #14

Merged
james merged 1 commit from fix/verbose-command-stderr into main 2026-07-28 18:43:34 +00:00
Owner

"Backup failed: odoo-volumes / Command failed with exit code 1" was still vague — the streaming command executor captured the command's stderr but threw it away.

Root cause: stream_stderr only accumulated stderr when accept_stderr_success was set (a Redis-specific flag), and volume backups pass false. So the error message had nothing but the exit code.

Fix:

  • stream_stderr always retains a bounded (8 KB) tail of stderr (memory-safe), regardless of that flag.
  • The non-zero-exit failure now reports that stderr, e.g. volume-backup command failed (exit 1): tar: /data: Cannot open: Permission denied instead of just the code.

So the next time odoo-volumes fails, the ✗ pill modal will show the actual tar/docker error.

Full suite green — 1131 examples.

🤖 Generated with Claude Code

"Backup failed: odoo-volumes / Command failed with exit code 1" was still vague — the streaming command executor **captured the command's stderr but threw it away**. Root cause: `stream_stderr` only accumulated stderr when `accept_stderr_success` was set (a Redis-specific flag), and volume backups pass `false`. So the error message had nothing but the exit code. Fix: - `stream_stderr` always retains a bounded (8 KB) **tail** of stderr (memory-safe), regardless of that flag. - The non-zero-exit failure now reports that stderr, e.g. `volume-backup command failed (exit 1): tar: /data: Cannot open: Permission denied` instead of just the code. So the next time `odoo-volumes` fails, the ✗ pill modal will show the **actual** tar/docker error. Full suite green — **1131 examples**. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(backup): include command stderr in backup failure messages
All checks were successful
Build, Push & Deploy / build-and-push (pull_request) Has been skipped
Build, Push & Deploy / deploy (Media) (pull_request) Has been skipped
Build, Push & Deploy / deploy (citadel) (pull_request) Has been skipped
Build, Push & Deploy / test (pull_request) Successful in 1m4s
02d25c553c
Backup failures showed only "Command failed with exit code 1" — the streaming
command executor discarded the command's stderr. Two changes:

- stream_stderr now always retains a bounded (8 KB) tail of stderr, not only when
  accept_stderr_success is set — so the actual error is available to report.
- The non-zero-exit failure message includes that stderr tail (and the context),
  e.g. "volume-backup command failed (exit 1): tar: /data: Cannot open:
  Permission denied" instead of just the exit code.

Full suite green (1131 examples).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
james merged commit c89430c719 into main 2026-07-28 18:43:34 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/baktainer!14
No description provided.