diff options
Diffstat (limited to 'modules/core/module-loader.js')
| -rw-r--r-- | modules/core/module-loader.js | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/modules/core/module-loader.js b/modules/core/module-loader.js index 50962dd..82f2bc0 100644 --- a/modules/core/module-loader.js +++ b/modules/core/module-loader.js @@ -105,7 +105,7 @@ window.__moduleLoaderReload = reloadWithSelection; - const LATEST_VER = '2026-06-10-v4.5.40'; + const LATEST_VER = '2026-06-11-v4.5.44'; const CACHE = '?v=' + LATEST_VER; const stored = localStorage.getItem('webx11_cache_ver'); if (stored !== LATEST_VER) { @@ -128,6 +128,10 @@ // Phase 2: Built-in modules (filtered) setSplash('Loading built-in modules (2/3)', count, total, ''); + // v4.5.43: Get disabled modules from localStorage (set by module-disable command) + let disabledMods = []; + try { disabledMods = JSON.parse(localStorage.getItem('webx11_module_disabled') || '[]'); } catch (e) {} + for (const mod of BUILTIN) { count++; if (!isSelected(mod, selected)) { @@ -136,6 +140,14 @@ await new Promise(r => setTimeout(r, 20)); continue; } + // v4.5.43: Skip disabled modules + const modName = mod.replace(/\.js$/, ''); + if (disabledMods.includes(modName)) { + console.log(`[ModuleLoader] Skipped: ${mod} (disabled via module-disable)`); + setSplash('Loading built-in modules (2/3)', count, total, '⊘ ' + mod); + await new Promise(r => setTimeout(r, 20)); + continue; + } setSplash('Loading built-in modules (2/3)', count, total, mod); await loadScript(BASE + mod + CACHE, mod); } |