Repository navigation
Headless mode - #17
Merged
Merged
Conversation
pinepods_firewood --headless logs in from the saved session or from FIREWOOD_SERVER + FIREWOOD_API_KEY(_FILE), retries until the server is up, logs to stderr too, and saves and exits on SIGTERM/SIGINT/SIGHUP. Adds --version and --help, moves the shared startup into Services, and ships systemd and launchd examples.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
pinepods_firewood --headless: the player and the now-playing socket with no TUI, so a Pi or speaker box is always there as a device to play on. Phase 5 of the overhaul.FIREWOOD_SERVER+FIREWOOD_API_KEY(orFIREWOOD_API_KEY_FILE) win over the session the TUI saved. Keys from the environment are never saved. Unreachable server → retry with backoff (2–60 s); rejected key → exit 1.FIREWOOD_REMOTE_DISABLEDwith--headlessis an error.--version(the Homebrew formula's test runs it, and before this it started the TUI) and--help.src/services.rs.pkg/systemd/firewood.service(user unit) andpkg/launchd/online.pinepods.firewood.plist. README section added.Verification
cargo fmt --check,clippy -D warningsandcargo testall pass. New unit tests cover argument parsing and the key file.play_episodewithposition_sec600 started at 600; pause, seek, play and skip_forward were each acked and reported; after SIGTERM it left the device list at once, exited 0, and its save went torecord_listen_duration(faked).plutil -lintpasses on the plist, andsystemd-analyze verifypasses on the unit (in a Debian container).Not tested