v0.2.4
The plugin can update itself. A new update action reinstalls the latest
release and restarts the daemon in one step, and the sidebar's Update panel
does the same without asking to be reopened afterwards. Both refuse on a
linked checkout -- that tree belongs to whoever is editing it.
The restart is confirmed rather than requested. herdr plugin action invoke
returns zero for accepting an action, not for finishing it, so an upgrade
whose daemon failed to boot used to read as success; the daemon's build is
now polled until the new version answers.
Two failures found while building it, both older than this release:
A daemon restart could end with no daemon at all. The incumbent needs up to
its Herdr read timeout to notice a shutdown request, which measured 4.36 s
against a four-second takeover deadline. The deadline is eight seconds now,
derived from the worst case rather than from the read timeout alone.
StateStream announced a reconnection as soon as a socket connected, before
any data proved the feed alive. A listener on its way out can accept one
last connection and close in silence, so the sidebar could report itself
reconnected and then hand its caller the disconnect. It waits for a line
now. This one sat directly under the restart-on-upgrade path added above.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Full Changelog: v0.2.3...v0.2.4