AB updated the Timers module to 1.5.0 and its new LTC capture-tool self-build never ran: mountModule re-required the module's server entry, and Node's require cache handed back the OLD code — the catalog update had swapped the folder on disk, but the process kept executing what it loaded at startup until ProdDash itself restarted. The manifest, read fresh from disk, meanwhile reported the new version, so the admin page claimed an update that functionally hadn't happened. Every module update to date has silently depended on a follow-up app restart. mountModule now drops the module directory's entries from require.cache before requiring, so every (re)mount runs the files on disk — nested requires (ltc-listener.js and friends) included. Modules already must come up clean on re-init per the module guide, so config-change remounts see the same contract, minus the trap. Verified with a probe module in a scratch data dir: change a nested require on disk, PUT config to remount, the route serves the new code (it served the stale code before the fix). The Timers module re-inits cleanly across repeated fresh-code remounts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14 lines
301 B
JSON
14 lines
301 B
JSON
{
|
|
"name": "proddash",
|
|
"version": "1.9.1",
|
|
"private": true,
|
|
"description": "Modular production dashboard for Waters Church \u2014 zero-dependency Node server + vanilla client",
|
|
"license": "UNLICENSED",
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"start": "node server.js"
|
|
}
|
|
}
|