What: Update, Update all, the hourly auto-update and the move's install
ask npm for the plugin's newest version and have bun install that exact
version (installAt), then check it is the one installed. When bun won't,
the error says why, reason first for the status pill: "<pkg> 0.1.21 isn't
installed yet: Bun's minimumReleaseAge (in a .bunfig.toml) holds back
versions published less than 2 days ago, and magpie installs it once it
is older (bun's own words)". Another bun error (a registry of the user's
own without the version) is "<pkg> <v> isn't installed: <bun's error:
lines>". Specs stay as they were (name@latest); pinned and git plugins,
and npm not answering, install as their spec says, as before.
Why: the Factory card stayed at 0.1.18 with 0.1.21 out, through clicking
update and restarts. bun add pkg@latest resolves "latest" by bun's own
config: a minimumReleaseAge in the user's ~/.bunfig.toml or
$XDG_CONFIG_HOME/.bunfig.toml makes it install the newest version older
than that and exit 0. 172800s (2 days) gives exactly 0.1.18 (0.1.19-21
were published 10-08). So every update path succeeded with nothing
changed, and the page said "updated to v0.1.21". Asked for 0.1.21 itself,
bun fails with "blocked by minimum-release-age: 172800 seconds". The same
code serves every moved plugin (Cursor, Devin, Kiro, Qoder, ...), so all
of them had it. npm view: 0.1.21 is latest; npmmirror has it too.
Run:
- TestUpdateBunHoldsBackSaysWhy (new): real bun 1.4.2 against a fake
registry with 0.1.18 (3 days old) and 0.1.21 (1 hour), a bunfig with
minimumReleaseAge = 172800. On the old code it fails: "Update with
0.1.21 held back by Bun: <nil>, want bun's reason (installed 0.1.18)".
Breaking Update alone fails at "Update all: <nil>", breaking the hourly
update alone at "the hourly update: <nil>". Without the bunfig it
installs 0.1.21 and keeps the spec @latest.
- Real use: magpie web (nogui build) under a sandbox HOME, real npm, with
the bunfig: add factory-auth@0.1.18, spec @latest, POST
/api/plugins/upgrade and /update return the reason above, the card
stays 0.1.18; bunfig removed, upgrade installs 0.1.21.
- Ruled out on macOS and the Windows box: plain upgrade 0.1.18 -> 0.1.21
works there without a bunfig, host running or not.
- gofmt -l; go vet (darwin, GOOS=linux, GOOS=windows, -tags nogui) on
internal/plugin, internal/provider, internal/gui; go build (darwin),
GOOS=linux and GOOS=windows -tags nogui builds; go test -tags nogui ./...
under a temp HOME, all ok.