diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html index 0f3edd2..11eae6d 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/index.html @@ -1583,7 +1583,7 @@ }); } // Load core plugins immediately (needed on main tab) - ['digital-modes', 'bookmarks'].forEach(loadPlugins); + ['digital-modes', 'bookmarks', 'settings'].forEach(loadPlugins); // Load others on tab switch document.addEventListener('click', function(e) { var tab = e.target.closest('[data-tab]'); diff --git a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/scheduler.js b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/scheduler.js index c783ec9..f0895f6 100644 --- a/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/scheduler.js +++ b/src/trx-client/trx-frontend/trx-frontend-http/assets/web/plugins/scheduler.js @@ -1449,4 +1449,13 @@ window.destroyScheduler = destroyScheduler; window.wireSchedulerEvents = wireSchedulerEvents; window.setSchedulerRig = setSchedulerRig; + + // Auto-initialize if the app has already booted (lazy-load case). + // When loaded eagerly, initSettingsUI() in app.js calls initScheduler(); + // when loaded lazily (e.g. settings tab click after boot), the app has + // already passed that point, so we must self-initialize here. + if (typeof authRole !== "undefined" && authRole !== null) { + initScheduler(typeof lastActiveRigId !== "undefined" ? lastActiveRigId : null, authRole); + wireSchedulerEvents(); + } })();