diff --git a/containers/libreportal/frontend/core/boot/system-loader.js b/containers/libreportal/frontend/core/boot/system-loader.js index caf7d14..0866044 100755 --- a/containers/libreportal/frontend/core/boot/system-loader.js +++ b/containers/libreportal/frontend/core/boot/system-loader.js @@ -1317,6 +1317,12 @@ class SystemLoader { // console.log(`📦 Loading script: ${src}`); const script = document.createElement('script'); script.src = src; + // Dynamically-inserted scripts default to async=true and run in whatever + // order they finish downloading. Force async=false so a component's + // scripts[] execute in array/insertion order — required when a class is + // split across files (a base file must run before files that augment its + // prototype). Mirrors the ordered kernel ctx.loadScripts() path. + script.async = false; script.onload = () => { // console.log(`✅ Script loaded: ${src}`); resolve();