fix: give a user-friendly error when the work fails#44
Conversation
Head branch was pushed to by a user without write access
|
bugbot run |
| if any_failed { | ||
| if last_exit_code != 0 { | ||
| error!("Process exited with code {}", last_exit_code); | ||
| } |
There was a problem hiding this comment.
Bug: Inconsistent Logging for Process Exit Codes
The application logs "Process exited with code {}" as an error for successful exit code 0, which is misleading. This occurs unconditionally in src/cli/run.rs. In src/cli/start.rs, individual daemon failures are logged for any exit code, but the final process exit message is only shown for non-zero codes, creating inconsistent failure reporting.
Additional Locations (1)
| if any_failed { | ||
| if last_exit_code != 0 { | ||
| error!("Process exited with code {}", last_exit_code); | ||
| } |
There was a problem hiding this comment.
Bug: Error Logging Inconsistency Masks Failures
The if last_exit_code != 0 condition causes inconsistent error logging. While any_failed tracks all daemon failures, the error message only prints for non-zero exit codes. This can mask failures, as the process might exit without an error message if the last daemon exits with code 0.
## 🤖 New release * `pitchfork-cli`: 0.2.1 -> 0.3.0 <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.3.0](v0.2.1...v0.3.0) - 2026-01-18 ### Added - *(web)* add devilish pitchfork theming to web UI ([#115](#115)) - *(web)* add web UI for daemon management ([#112](#112)) - show startup logs on successful daemon start ([#111](#111)) - add HTTP ready check for daemon startup ([#110](#110)) - delay autostopping daemons when leaving directory ([#108](#108)) - *(logs)* clear all logs when no daemon specified ([#109](#109)) - *(list)* show error messages in daemon list output ([#107](#107)) - refactor the code structure of `start` and `run`, allowing for parallel starting daemons ([#56](#56)) - [**breaking**] support auto start on boot ([#53](#53)) - print logs when failed on `pf start|run` ([#52](#52)) - [**breaking**] support global system/user config ([#46](#46)) - *(test)* refactor tests and add tests for `interval_watch` and `cron_watch` ([#45](#45)) ### Fixed - add timeouts to IPC operations to prevent shell hook hangs ([#106](#106)) - *(deps)* update rust crate toml to 0.9 ([#50](#50)) - replace panics with proper error handling ([#90](#90)) - *(deps)* update rust crate notify to v8 ([#78](#78)) - *(deps)* update rust crate duct to v1 ([#72](#72)) - *(deps)* update rust crate dirs to v6 ([#64](#64)) - *(deps)* update rust crate cron to 0.15 ([#48](#48)) - *(deps)* update rust crate sysinfo to 0.37 ([#49](#49)) - *(deps)* update rust crate itertools to 0.14 ([#33](#33)) - *(deps)* update rust crate strum to 0.27 ([#35](#35)) - *(deps)* update rust crate console to 0.16 ([#32](#32)) - give a user-friendly error when the work fails ([#44](#44)) ### Other - *(cli)* add long_about with examples to CLI commands ([#91](#91)) - fix documentation issues and inconsistencies ([#89](#89)) - *(deps)* lock file maintenance ([#88](#88)) - *(deps)* update rust crate serde_json to v1.0.149 ([#87](#87)) - *(deps)* lock file maintenance ([#85](#85)) - *(deps)* update rust crate serde_json to v1.0.148 ([#84](#84)) - *(deps)* update rust crate tempfile to v3.24.0 ([#82](#82)) - *(deps)* update rust crate rmp-serde to v1.3.1 ([#80](#80)) - *(deps)* update rust crate serde_json to v1.0.147 ([#81](#81)) - *(deps)* lock file maintenance ([#79](#79)) - *(deps)* update rust crate shell-words to v1.1.1 ([#77](#77)) - *(deps)* lock file maintenance ([#76](#76)) - *(deps)* update rust crate log to v0.4.29 ([#75](#75)) - *(deps)* lock file maintenance ([#73](#73)) - *(deps)* lock file maintenance ([#68](#68)) - *(deps)* lock file maintenance ([#65](#65)) - *(deps)* lock file maintenance ([#62](#62)) - *(deps)* update rust crate clap to v4.5.51 ([#60](#60)) - *(deps)* lock file maintenance ([#59](#59)) - *(deps)* update rust crate clap to v4.5.50 ([#57](#57)) - Update README ([#55](#55)) - *(deps)* lock file maintenance ([#54](#54)) - *(deps)* lock file maintenance ([#47](#47)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Note
Add explicit error logging of process exit codes in CLI commands, remove unused
IpcMessage, and addusagetool tomise.toml.src/cli/run.rs: Log exit code on process exit before terminating.src/cli/start.rs: When any daemon fails, log the final non-zero exit code before exiting.src/ipc/mod.rs: Remove/comment out unusedIpcMessageenum; keepIpcRequest/IpcResponse.src/supervisor.rs: Minor cleanup (remove unused variable in exit handling).mise.toml: Addusagetool for rendering CLI usage.Written by Cursor Bugbot for commit d12b356. This will update automatically on new commits. Configure here.