The v4 actions target Node.js 20, which GitHub now force-runs on Node 24
and flags as deprecated. Bump all four across every workflow to v5 (their
native Node-24 line) to clear the warning. Mechanical version-only change;
upload/download-artifact stay on matching majors as required.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01DwbE3uTiFaKRNjx5vP2muV
The visual-regression step lived inside the build job, and deploy-cache-state
(the Cloudflare CDN cache-purge that makes new content visible) needs: build.
So an environment-sensitive pixel diff — CI's Chromium/font rendering differs
from the committed baseline (locally the baseline is byte-identical, so it's not
a content regression) — failed the build job and silently blocked every deploy.
The unstable.bitvid.network CDN was stuck on the 2026-06-17 build as a result.
Move the visual steps into a standalone visual-regression job so they still run
and report a failure, but no longer block the build job or the deploy. Real
lint/build/artifact failures still gate the deploy via build.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
- Update .github/workflows/ci.yml to install firefox for e2e-headless job
- Update js/adminListStore.js to await nostrClient.initPromise if pool is not ready, preventing race conditions during app startup
Co-authored-by: PR0M3TH3AN <[email protected]>
- Add docs/capacitor-native-app-plan.md to hex-lint ignore list (code examples
naturally reference hex colors in Capacitor config)
- Replace direct console.error/console.log calls with logger utility in
historyView.js, profileCache.js, EventDetailsModal.js, ZapInterface.js,
and notificationController.js
- Update CI workflow from Node 20 to Node 22 to match package.json engines
https://claude.ai/code/session_01LzErpH9FNw4hAPsjoYb1v9