Skip to content

fix: give a user-friendly error when the work fails#44

Merged
jdx merged 2 commits into
jdx:mainfrom
gaojunran:push-kvnxrzwyyppq
Oct 15, 2025
Merged

fix: give a user-friendly error when the work fails#44
jdx merged 2 commits into
jdx:mainfrom
gaojunran:push-kvnxrzwyyppq

Conversation

@gaojunran

@gaojunran gaojunran commented Oct 10, 2025

Copy link
Copy Markdown
Contributor

Note

Add explicit error logging of process exit codes in CLI commands, remove unused IpcMessage, and add usage tool to mise.toml.

  • CLI:
    • 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.
  • IPC:
    • src/ipc/mod.rs: Remove/comment out unused IpcMessage enum; keep IpcRequest/IpcResponse.
  • Supervisor:
    • src/supervisor.rs: Minor cleanup (remove unused variable in exit handling).
  • Tooling:
    • mise.toml: Add usage tool for rendering CLI usage.

Written by Cursor Bugbot for commit d12b356. This will update automatically on new commits. Configure here.

@jdx jdx enabled auto-merge (squash) October 10, 2025 18:29
auto-merge was automatically disabled October 11, 2025 01:45

Head branch was pushed to by a user without write access

@jdx

jdx commented Oct 15, 2025

Copy link
Copy Markdown
Owner

bugbot run

@jdx jdx merged commit 2ae6aa1 into jdx:main Oct 15, 2025
2 checks passed
Comment thread src/cli/start.rs
if any_failed {
if last_exit_code != 0 {
error!("Process exited with code {}", last_exit_code);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)

Fix in Cursor Fix in Web

Comment thread src/cli/start.rs
if any_failed {
if last_exit_code != 0 {
error!("Process exited with code {}", last_exit_code);
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Fix in Cursor Fix in Web

@github-actions github-actions Bot mentioned this pull request Jan 18, 2026
jdx pushed a commit that referenced this pull request Jan 18, 2026
## 🤖 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>
@jdx jdx mentioned this pull request Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants