AB updated Timers from the catalog and LTC died: the update replaces the module folder wholesale, which deleted the compiled ltc-capture binary — and AB's Xcode CLT cannot rebuild it (the SwiftBridging modulemap defect; the module's new self-build correctly runs there and fails with exactly that error). The binary on AB has always been compiled elsewhere and shipped, so 'update' was guaranteed to break LTC on that machine. installModule now carries executables (any execute bit) the download does not include over from the copy being replaced — or from the app's bundled copy on a first install — preserving path and mode. Executables only, on purpose: those are the gitignored per-machine build artifacts (ltc-capture, spl-capture), while stray text files from an old version — code an update deliberately removed — must not be resurrected. The Timers module's staleness check still notices a carried binary older than its updated source and rebuilds behind it where the toolchain works. Verified end-to-end against the real Gitea catalog: an installed 1.4.9 copy holding a fake executable and a stray .js file, updated to 1.5.0 — the executable survives with its mode and content, the stray file is gone, and the log names what was kept. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
14 lines
301 B
JSON
14 lines
301 B
JSON
{
|
|
"name": "proddash",
|
|
"version": "1.9.2",
|
|
"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"
|
|
}
|
|
}
|