Skip to content

v2.8.0: System-level boot start and a non-blocking TUI

Choose a tag to compare

@mise-en-dev mise-en-dev released this 28 Apr 15:22
· 92 commits to main since this release
Immutable release. Only release title and notes can be modified.
2787186

Pitchfork v2.8.0 adds a system-level mode for boot start so the supervisor can run for all users from system startup, and rewrites the TUI's IPC handling so long-running operations no longer block input or rendering.

Added

  • System-level boot start -- pitchfork boot enable now picks the registration scope based on whether it's run as root. Running unprivileged registers a user-level entry (as before); running with sudo registers a system-level entry that starts pitchfork at system boot for all users. pitchfork boot status reports both levels and warns if a stale registration exists at the other privilege level. (#397) - @gaojunran

    pitchfork boot enable           # user-level (default)
    sudo pitchfork boot enable      # system-level
    Platform User-level System-level
    macOS ~/Library/LaunchAgents/pitchfork.plist /Library/LaunchAgents/pitchfork.plist
    Linux ~/.config/systemd/user/pitchfork.service /etc/systemd/system/pitchfork.service

    To run the supervisor as root but keep state files, IPC sockets, and daemon processes under a specific user's identity, set settings.supervisor.user in your global config:

    [supervisor]
    user = "alice"

    pitchfork boot enable will refuse to register if the other privilege level is already enabled; run pitchfork boot disable first (with the appropriate privileges) to clean up before switching scopes.

Fixed

  • Non-blocking TUI loading -- The TUI used to switch into a dedicated Loading view and await IPC calls inline on the main loop, freezing input and rendering for the duration of every start, stop, restart, enable, disable, save, and refresh. Those operations now run on background tokio tasks and report results back through a channel, while the loading indicator is rendered as an overlay on top of the normal dashboard. The list keeps redrawing, navigation keeps working, and overlapping IPC operations are prevented via an in-flight guard. (#394) - @gaojunran

Full Changelog: v2.7.0...v2.8.0

💚 Sponsor pitchfork

pitchfork is built by @jdx at en.dev — an independent studio shipping developer tools like mise, aube, hk, pitchfork, and more. Development is sustained by sponsorships.

If pitchfork has a place in your dev workflow, please consider sponsoring at en.dev. Individual and company sponsorships are what keep the project healthy and moving forward.