Skip to content

feat: install drover-notify from GitHub now that the repo is public - #147

Merged
keinstn merged 2 commits into
mainfrom
docs/drover-notify-public
Jul 29, 2026
Merged

feat: install drover-notify from GitHub now that the repo is public#147
keinstn merged 2 commits into
mainfrom
docs/drover-notify-public

Conversation

@keinstn

@keinstn keinstn commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Closes #122.

keinstn/drover-notify went public, which removes the constraint everything here was written around: herdr plugin install clones over unauthenticated HTTPS, so it could not reach a private repo.

In-app pairing dialog

It told the user to run herdr plugin link /path/to/drover-notify and then node /path/to/drover-notify/bin/setup.mjs … — a literal they had to find and substitute twice. Now it shows one command with nothing to edit:

herdr plugin install keinstn/drover-notify

The setup command is removed rather than rewritten. plugin install puts the checkout where herdr chooses, so there is no path drover can print — and none is needed: this dialog only appears when _detectPlugin found nothing, and once the plugin is installed detection succeeds and pairing runs automatically. The reworded intro says exactly that. The pairing code and completion URL stay on screen for anyone pairing by hand.

hostPairingLinkCommandLabel / hostPairingSetupCommandLabelhostPairingInstallCommandLabel / hostPairingManualNote, in both locales.

docs/push-notifications.md

herdr plugin install keinstn/drover-notify is the documented path; the "not yet available" note is gone. Cloning and linking is kept, reframed as the option for running a fork or testing a branch rather than a workaround for a private repo.

The stated Herdr floor moves 0.7.0 → 0.7.5. 0.7.0 is what the plugin alone needs and drover-notify's README correctly says so, but this document is read by drover users and kMinHerdrVersion is (0, 7, 5). Below it drover still reads and steers agents but refuses to start them — so the old text left people with working notifications and an app that would not launch anything. A note explains the two floors so the number does not get "corrected" back.

Verification

  • fvm flutter analyzeNo issues found!
  • fvm flutter testAll tests passed! (791, full suite; +1 new)
  • New widget test asserts the rendered dialog contains the install command and no /path/to/, plugin link or setup.mjs text. Mutation-checked: restoring the old plugin link /path/to/drover-notify fails that test and only that test.

From #122's checklist

  • docs/push-notifications.md — install one-liner, "not yet available" note dropped
  • host_setup_screen.dart — install one-liner, placeholder path gone, l10n reworded, test updated
  • README.md — checked; it never claimed the repo was private, and "manually installed" stays true because installing is deliberately a host operation
  • drover-notify's own README.md — already updated in that repo
  • Re-install the plugin on the host — yours to run: herdr plugin unlink drover.notify, then install from GitHub. A linked plugin cannot be replaced in place. The pairing credential survives, since its config dir derives from the plugin id.

🤖 Generated with Claude Code

@keinstn
keinstn force-pushed the docs/drover-notify-public branch from 0edd231 to c699c5a Compare July 29, 2026 03:26
…is public

`keinstn/drover-notify` is public as of today, so the workaround the setup
guide was built around is gone. `herdr plugin install` only supports an
unauthenticated HTTPS clone, which is exactly why the guide previously told
people to `git clone` over SSH and `herdr plugin link` the checkout, and why it
carried a "not yet available" note about the one-line path.

The one-line path is now the default. Cloning and linking is kept as the
alternative for anyone running a fork or testing a branch — it is a legitimate
choice, not a workaround, so it reads that way now.

The stated Herdr floor moves from 0.7.0 to **0.7.5**. 0.7.0 is what the plugin
alone needs, and drover-notify's own README says so, but this document is read
by drover users and drover's `kMinHerdrVersion` is `(0, 7, 5)`. Following the
old text on 0.7.0 left you with working notifications from a drover that
refuses to start agents. The note added under the install command explains the
two floors so nobody lowers this one back to match the plugin's README.

Left alone deliberately: README.md, which describes the plugin's location and
its manual installation without ever claiming the repo is private. Installing is
still deliberately a manual host operation — the app never installs executable
code on the host.

Separately, the in-app pairing dialog told users to "replace /path/to/drover"
while the command shown directly beneath it reads
`herdr plugin link /path/to/drover-notify`. The placeholder in the prose now
matches the placeholder in the command, in both locales.

Verified: `fvm flutter analyze` clean, `fvm flutter test` 790 passing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@keinstn
keinstn force-pushed the docs/drover-notify-public branch from c699c5a to 9daa42f Compare July 29, 2026 03:40
… dialog

Closes the second half of #122.

The manual pairing dialog told the user to run
`herdr plugin link /path/to/drover-notify` and then
`node /path/to/drover-notify/bin/setup.mjs …`, where `/path/to/drover-notify`
was a literal they had to find and substitute twice. That existed because
`herdr plugin install` clones over unauthenticated HTTPS and could not reach a
private repo. drover-notify is public now, so the one-liner works:

    herdr plugin install keinstn/drover-notify

The setup command goes with it rather than being rewritten. `plugin install`
clones from GitHub and puts the checkout where herdr chooses, so there is no
path drover can print — and none is needed. This dialog only appears when
`_detectPlugin` found nothing; once the plugin is installed, detection succeeds
and pairing runs automatically, which is what the reworded intro now tells the
user to do. The pairing code and completion URL stay on screen for anyone
pairing by hand.

`hostPairingLinkCommandLabel` and `hostPairingSetupCommandLabel` are replaced by
`hostPairingInstallCommandLabel` and `hostPairingManualNote` in both locales.

A widget test asserts the rendered dialog: the install command is present, and
no `/path/to/`, `plugin link` or `setup.mjs` text survives anywhere in it.
Mutation-checked — restoring the old `plugin link /path/to/drover-notify`
command fails that test and only that test.

Verified: `fvm flutter analyze` clean, `fvm flutter test` 791 passing.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@keinstn keinstn changed the title docs: install drover-notify with herdr plugin install, now that it is public feat: install drover-notify from GitHub now that the repo is public Jul 29, 2026
@keinstn
keinstn merged commit bbdfbd7 into main Jul 29, 2026
2 checks passed
@keinstn
keinstn deleted the docs/drover-notify-public branch July 29, 2026 04:12
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.

Switch drover-notify install to herdr plugin install when the repos go public

1 participant