This PR breaks the large web and player bootstrap files into smaller modules with clearer ownership.

Web changes:

Split shared helpers, bootstrap logic, route groups, and upload-sync behavior out of web.js.
Kept web.js focused on wiring and server startup.
Fixed screen playlist reassignment so changing a screen’s playlist now triggers a refresh.
Fixed single-slide playlist refresh behavior so updates do not get stuck behind the current slide.
Player changes:

Split websocket/runtime handling into runtime.js.
Split playlist assembly and revision hashing into playlist.js.
Split onboarding and player HTTP routes into dedicated modules.
Split render utilities and template loading into render-helpers.js.
Kept player.js mostly as startup/orchestration.
Validation:

Rebuilt both services with Docker Compose.
Smoke-checked web and player routes after the refactor.
Verified get_errors was clean on the touched modules.
This commit is contained in:
2026-07-20 23:58:27 +01:00
parent 480ccdbe9c
commit 2ea8d389fa
321 changed files with 12687 additions and 7080 deletions
+3 -1
View File
@@ -1,6 +1,6 @@
{
"name": "pulse-signage",
"version": "1.1.5",
"version": "1.4.0",
"private": false,
"description": "Pulse Signage application with MySQL and media uploads",
"repository": {
@@ -16,11 +16,13 @@
"dev:player": "nodemon -r dotenv/config src/player.js"
},
"dependencies": {
"bootstrap-icons": "1.11.3",
"dotenv": "^17.4.2",
"express": "^4.21.2",
"handlebars": "^4.7.8",
"multer": "^1.4.5-lts.1",
"mysql2": "^3.14.3",
"qrcode": "^1.5.4",
"ws": "^8.21.0"
},
"devDependencies": {