-
v1.5.4 Stable
released this
2026-09-10 16:23:57 +00:00 | 235 commits to main since this releaseFixed
A self-update left the dashboard serving the previous version's UI.
After 1.5.2 → 1.5.3 applied itself, the server ran 1.5.3 while the browser still showed 1.5.2. The client build had failed and
runtime/client-diststill held the old bundle, so nothing looked broken — the only signal anywhere was the Settings page'sUI build v1.5.2 (rebuild client to match)line.Cause: the entire client build toolchain (
vite,typescript,@vitejs/plugin-react,tailwindcss,@types/*) is a devDependency, and npm readsNODE_ENV=productionas--omit=dev:$ NODE_ENV=production npm config get omit devThe dashboard server runs with
NODE_ENV=production, and every bootstrap descended from it inherits that — the plugin-update chain, and anySessionStartfired by aclauderunning inside a tmux pane the server started. Sonpm ciinstalled 58 packages instead of ~330,vitewas never there,tsc -bdied on missing type declarations, andbuildClientreturnedfailedwith the stale bundle left in place. Every build before this succeeded only because it ran from a hookclaudeinvoked directly, with noNODE_ENV— the first real self-update was the first time the condition occurred.--include=devis now passed on both install paths; a CLI flag outranks the env, which is the point. Verified by runningbuildClientwithNODE_ENV=productionagainst the installed plugin root: previouslyfailed, nowbuilt, and the served bundle carries the new version.A successful update chain no longer reports nothing.
plugin-update-helperwrites its verdict before the bootstrap handover as well as after: that step retires the process tree the helper hangs off, and the observed run reached the new server with no verdict file at all, so the dashboard showedlast_plugin_update: nullfor an update that had in fact succeeded.Verification
server/__tests__/plugin-bootstrap.test.js+1 test pinning--include=devon every dependency-install path.npm run test:server1708 passing.- Live: the update chain ran end-to-end for real (
plugin-update.log: marketplace update →agenthubupdatedb868a2fa8566→67c948bbe2f8→plugin-bootstrap --force), which is how this was found.
Downloads