Fix Nitro soundboard URLs and CMS gamedata paths
CI / check (push) Successful in 38s
CI / tests-integration (push) Successful in 2m3s
CI / tests-imaging-browsers (push) Successful in 3m1s
CI / tests-quality (push) Successful in 1m27s
CI / tests-unit (push) Successful in 4m41s
CI / tests-ui (push) Successful in 5m30s
CI / preflight (push) Skipped
CI / deploy (push) Successful in 3m50s

This commit is contained in:
openhands committed 2026-10-24 18:22:10 +02:00
1 parent 9560ddc212
commit 836defd0c1
2 files changed
+46

No files matched your search

+30
View File
@@ -253,6 +253,36 @@ server {
} }
} }
# Oude, nog gecachte Nitro-configs vroegen SoundData/layout/sounds op paden
# die niet bestaan. Serveer de bronbestanden daar ook, zodat een verouderde
# browsercache geen 404's meer veroorzaakt.
location = /nitro-client/nitro-assets/gamedata/SoundData.json {
alias /var/www/Gamedata/config/SoundData.json;
add_header Cache-Control "public, max-age=2592000" always;
access_log off;
}
location = /nitro-client/configuration/soundboard-layout.jsonc {
alias /var/www/Gamedata/config/soundboard-layout.jsonc;
add_header Cache-Control "public, max-age=2592000" always;
access_log off;
}
location = /nitro-client/configuration/soundboard-sounds.jsonc {
alias /var/www/Gamedata/config/soundboard-sounds.jsonc;
add_header Cache-Control "public, max-age=2592000" always;
access_log off;
}
# Clientconfiguratie (renderer-config, ui-config, SoundData-URL's) moet niet
# 30 dagen in de browser blijven hangen: een gewijzigde gamedata-URL zou
# anders pas na cache-expiry effect hebben.
location ^~ /nitro-client/configuration/ {
alias /var/www/Octane/dist/configuration/;
try_files $uri =404;
limit_req zone=cms_static_per_ip burst=1000 nodelay;
add_header Cache-Control "no-cache, must-revalidate" always;
add_header Cache-Tag "cms-client";
}
location ^~ /nitro-client/ { location ^~ /nitro-client/ {
alias /var/www/Octane/dist/; alias /var/www/Octane/dist/;
try_files $uri $uri/ =404; try_files $uri $uri/ =404;
+16
View File
@@ -84,6 +84,22 @@ function applyOverrides(data) {
data["soundboard.url"] = data["soundboard.url"] =
`${gamedata}/config/soundboard-sounds.jsonc?t=%timestamp%`; `${gamedata}/config/soundboard-sounds.jsonc?t=%timestamp%`;
} }
if (gamedata) {
const soundboardDefaults = {
"soundboard.manifest.url": `${gamedata}/config/SoundData.json?t=%timestamp%`,
"soundboard.sounds.url": `${gamedata}/config/soundboard-sounds.jsonc?t=%timestamp%`,
"soundboard.layout.url": `${gamedata}/config/soundboard-layout.jsonc?t=%timestamp%`,
};
for (const [key, value] of Object.entries(soundboardDefaults)) {
if (
!(key in data) ||
isPlaceholder(data[key]) ||
data[key] === "configuration/soundboard-layout.jsonc"
) {
data[key] = value;
}
}
}
// Never force ads on/off over a hotel's own choice; only default to "off" // Never force ads on/off over a hotel's own choice; only default to "off"
// when the key does not exist yet (prevents external ad scripts from 404ing). // when the key does not exist yet (prevents external ad scripts from 404ing).
if (!("show.google.ads" in data)) data["show.google.ads"] = false; if (!("show.google.ads" in data)) data["show.google.ads"] = false;