Package the herdr 0.8.2 release instead of the fork - #170
Merged
Conversation
The fork carried three commits that replayed an agent's CLI options when Herdr resumed its session. Upstream declined that work twice — once from a contributor in #2036 and once from us in #2614, closed in favour of an agent resume manifest system that is meant to supersede it — so the fork was a permanent rebase treadmill for one feature, and it is dropped here. Packaging the v0.8.0 release instead would have regressed more than the fork gained: configurable outer pane borders, direct pane resize keybindings, move tab keybind actions, centered tab labels and outer terminal window title sync all merged upstream after that tag, so the release predates five features Omarchy contributed. The package follows upstream master and takes the -git name that says so, replacing both herdr and omarchy-herdr. Master's Cargo.toml reads 0.8.1, a release upstream cut and withdrew hours later, while the wire protocol is already 20 against the published release's 19. An unmarked build therefore self-reports a version that no release carries, which is how an official client came to insist on stopping an Omarchy host's server without saying why. HERDR_BUILD_CHANNEL and HERDR_BUILD_ID make it report 0.8.1-omarchy.<commit>. The channel is not "preview" because that gates is_preview(), which makes the stable updater treat every published release as installable and overwrite /usr/bin/herdr outside pacman. pkgver() excludes the preview tags that sit on master between releases; describing without that returns a preview build id that pacman ranks below the version already shipped. It fails rather than falling back for the same reason: with no release tag reachable, every version it could invent sorts lower than what users already have. Cross-architecture remote attach cannot bootstrap a helper for this build, because the stable manifest lists only published releases. That is true of any build from master, marked or not: an unmarked one asks the manifest for 0.8.1 and is told it does not exist. 🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh. Co-Authored-By: Codex XHigh <codex@openai.com>
The package built from omacom-io/herdr, a fork pinned to a commit and versioned 0.8.0.r13. Its only divergence was three commits replaying an agent's CLI options when a session resumed, which upstream declined twice — from a contributor in herdrdev/herdr#2036 and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it. Those three are dropped; every other commit the fork carried is in v0.8.2. The fork also self-reported "0.8.0" while speaking wire protocol 20, which upstream's published 0.8.0 did not: it spoke 19. An official client attaching to an Omarchy host therefore saw a server claiming to be its own version yet refusing to talk to it, and offered to stop it without ever naming the protocol. That is #161. Upstream released v0.8.2 today, and it settles both halves. It carries protocol 20, and the stable manifest now publishes 0.8.2 at protocol 20, so an official client and this package agree. It also contains the five features Omarchy contributed after the v0.8.0 tag — configurable outer pane borders, direct pane resize keybindings, move tab keybind actions, centered tab labels and outer terminal window title sync — which is what made packaging the earlier release a regression rather than a return to upstream. Because the build is now the release it claims to be, it needs no build-identity marking: HERDR_BUILD_CHANNEL and HERDR_BUILD_ID are gone, and the binary reports a bare 0.8.2. The package name is unchanged, so nothing needs a rename, a migration or a database removal to reach existing installs; 0.8.2-1 simply supersedes 0.8.0.r13-1. 🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.
omarchybot
marked this pull request as ready for review
August 22, 2026 14:41
Greptile SummaryThe PR switches the Herdr package from a pinned Omarchy fork commit to the upstream v0.8.2 release.
Confidence Score: 5/5The PR appears safe to merge, with no concrete blocking or independently actionable non-blocking issue identified. The upstream release source, package version ordering, archive paths, build procedure, and migration metadata are consistent with the package’s existing contracts.
|
| Filename | Overview |
|---|---|
| pkgbuilds/herdr/PKGBUILD | Repackages Herdr from the checksummed upstream v0.8.2 tag while preserving compatible build steps and the existing package migration path. |
Reviews (1): Last reviewed commit: "Package the herdr 0.8.2 release instead ..." | Re-trigger Greptile
nixfred
pushed a commit
to nixfred/omarchy
that referenced
this pull request
Aug 23, 2026
The herdr package was built from an Omarchy fork of Herdr whose only divergence was three commits replaying an agent's CLI options when a session resumed. Upstream declined that work twice — from a contributor in herdrdev/herdr#2036 and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it — so the fork bought one feature at the price of rebasing it onto upstream forever. omacom/omarchy-pkgs#170 drops the fork and builds from upstream master instead, which renames the package to herdr-git. Renaming means the package list has to name the new package, and existing installs need a nudge: herdr-git declares replaces, but pacman honours that only during a full sysupgrade, which leaves anyone who updates another way holding the old name. The migration installs herdr-git in one transaction rather than dropping herdr and adding it back, because the session is usually running inside herdr and an install that failed between the two would leave the machine with no terminal. That needs --ask 4, since --noconfirm answers "no" to the conflict herdr-git raises against the installed herdr — the same reason omarchy-upgrade-to-quattro passes it. It ends by asserting the package is really there, because pacman does not always exit non-zero when an install fails and a migration that marked itself done would leave the machine on the fork for good. Nothing here can merge before herdr-git is published to the package mirrors: until then the migration fails, stays pending and retries, which is safe but noisy. 🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh. Co-Authored-By: Codex XHigh <codex@openai.com>
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.
The package built from
omacom-io/herdr, a fork pinned to a commit and versioned0.8.0.r13. Its only divergence was three commits replaying an agent's CLI options when a session resumed, which upstream declined twice — from a contributor in herdrdev/herdr#2036, and from us in herdrdev/herdr#2614, closed in favour of an agent resume manifest meant to supersede it. Those three are dropped. Every other commit the fork carried is in v0.8.2: exactly three commits separate the packaged fork build from the tag.The fork also self-reported
0.8.0while speaking wire protocol 20, which upstream's published 0.8.0 did not — it spoke 19. An official client attaching to an Omarchy host therefore saw a server claiming to be its own version yet refusing to talk to it, and offered to stop it while showing0.8.0on both sides and never naming the protocol. That is #161.Upstream released v0.8.2 today and it settles both halves. It carries protocol 20, and
latest.jsonnow publishes 0.8.2 at protocol 20, so an official client and this package agree — the restart loop ends rather than merely becoming legible. It also contains the five features Omarchy contributed after the v0.8.0 tag: configurable outer pane borders, direct pane resize keybindings, move tab keybind actions, centered tab labels, and outer terminal window title sync. That is what made packaging the older release a regression instead of a return to upstream, and why this change waited for a release that had them.Because the build is now the release it claims to be, it needs no build-identity marking.
HERDR_BUILD_CHANNELandHERDR_BUILD_IDare gone and the binary reports a bare0.8.2. The package name is unchanged, so nothing needs a rename, a migration, or a database removal to reach existing installs —0.8.2-1simply supersedes0.8.0.r13-1.Closes #161.
🤖 Generated by Opus 5 in Claude Code. Reviewed by Codex XHigh.