Follow-up to #38: catch the next "page points at files that aren't there" problem at deploy time, instead of by people's calls failing.
After the copy, lotus_deploy.sh now:
reads every script and stylesheet (src/href ending in .js/.css) that bothindex.html and public/element-call/index.html reference, and checks each one exists in the webroot (absolute paths from the webroot, relative ones from the page's own directory, external URLs skipped);
if any is missing, logs them, posts an alert using the Matrix credentials the upstream checker already has (/etc/cinny-monitor.env, root-only; best effort), and exits 1.
Tested
On copies of the live production pages (61 references): a complete webroot passes, and with the call page's entry script removed (tonight's failure) it reports ./assets/index-CLdjwY1J.js, alerts and fails.
The alert path against the local homeserver posts the message to a lab room. The production room got nothing from testing.
Follow-up to #38: catch the next "page points at files that aren't there" problem at deploy time, instead of by people's calls failing.
After the copy, `lotus_deploy.sh` now:
- reads every script and stylesheet (`src`/`href` ending in `.js`/`.css`) that **both** `index.html` and `public/element-call/index.html` reference, and checks each one exists in the webroot (absolute paths from the webroot, relative ones from the page's own directory, external URLs skipped);
- if any is missing, logs them, **posts an alert** using the Matrix credentials the upstream checker already has (`/etc/cinny-monitor.env`, root-only; best effort), and **exits 1**.
**Tested**
- On copies of the live production pages (61 references): a complete webroot passes, and with the call page's entry script removed (tonight's failure) it reports `./assets/index-CLdjwY1J.js`, alerts and fails.
- The alert path against the local homeserver posts the message to a lab room. The production room got nothing from testing.
- `bash -n` and shellcheck are clean.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
After copying, check every script/stylesheet the app and call pages
reference (src/href in both index.html files) exists in the webroot. If
any is missing, log it, post an alert with the upstream checker's Matrix
credentials (/etc/cinny-monitor.env, best effort) and exit 1. This would
have caught the 2026-10-20 call-page outage at deploy time.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared
merged commit 4bb2dd4449 into main2026-10-20 02:38:06 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Follow-up to #38: catch the next "page points at files that aren't there" problem at deploy time, instead of by people's calls failing.
After the copy,
lotus_deploy.shnow:src/hrefending in.js/.css) that bothindex.htmlandpublic/element-call/index.htmlreference, and checks each one exists in the webroot (absolute paths from the webroot, relative ones from the page's own directory, external URLs skipped);/etc/cinny-monitor.env, root-only; best effort), and exits 1.Tested
./assets/index-CLdjwY1J.js, alerts and fails.bash -nand shellcheck are clean.🤖 Generated with Claude Code
https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5