Release v2.10.3
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile, web, pulse-signage-web) (push) Successful in 1m13s
Publish Docker Image / build-and-push-existing-registry (./build/Dockerfile.player, player, pulse-signage-player) (push) Successful in 31s

This commit is contained in:
2026-08-29 01:56:45 +01:00
parent 30814f3f46
commit 3f4f57020a
60 changed files with 1075 additions and 523 deletions
+30 -1
View File
@@ -1,3 +1,5 @@
// Assemble player HTML and inline runtime scripts from the server-side templates.
const fs = require('fs');
const path = require('path');
const announcementIcons = require('#src/data/announcement-icons');
@@ -523,6 +525,32 @@ function getPlayerOnboardingFormScript() {
return loadTemplate(playerOnboardingFormScriptPath, playerOnboardingFormScriptCache || (playerOnboardingFormScriptCache = {}));
}
function getPlayerRuntimeScripts() {
function getScriptBody(value) {
return String(value || '')
.replace(/^\s*<script(?:\s[^>]*)?>/i, '')
.replace(/<\/script>\s*$/i, '')
.trim();
}
return [
['region-registry', fs.readFileSync(path.join(__dirname, 'public', 'js', 'player-region-registry.js'), 'utf8').trim()],
['placeholder-utils', fs.readFileSync(path.join(__dirname, '..', 'web', 'public', 'js', 'shared', 'placeholder-utils.js'), 'utf8').trim()],
['qr-code-svg', fs.readFileSync(path.join(__dirname, '..', 'web', 'public', 'js', 'shared', 'qr-code-svg.js'), 'utf8').trim()],
['client-name', getScriptBody(getPlayerClientNameScript()())],
['offline', getScriptBody(getPlayerPageOfflineScript()())],
['playlist', getScriptBody(getPlayerPagePlaylistScript()())],
['commands', getScriptBody(getPlayerPageCommandsScript()())],
['rendering', getScriptBody(getPlayerPageRenderingScript()())],
['playback', getScriptBody(getPlayerPagePlaybackScript()())],
['announcement-icons', getAnnouncementIconsDataScript()],
['announcement-data', getPlayerAnnouncementTemplatesDataScript()],
['announcement-templates', getScriptBody(getPlayerAnnouncementTemplatesScript())]
].concat(getPlayerRegionScriptPaths().map(function (filePath, index) {
return ['region-' + index, fs.readFileSync(filePath, 'utf8').trim()];
})).filter(function (entry) { return entry[1]; });
}
module.exports = {
mediaKind: mediaKind,
escapeHtml: escapeHtml,
@@ -556,5 +584,6 @@ module.exports = {
getPlayerPageScript: getPlayerPageScript,
getPlayerRegionScripts: getPlayerRegionScripts,
getPlayerOnboardingLandingScript: getPlayerOnboardingLandingScript,
getPlayerOnboardingFormScript: getPlayerOnboardingFormScript
getPlayerOnboardingFormScript: getPlayerOnboardingFormScript,
getPlayerRuntimeScripts: getPlayerRuntimeScripts
};