From d84260b59d4cc05a97ca63e333a3c1145f214d0d Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 8 Aug 2025 14:36:52 +0300 Subject: check if backend is reachable when handling night mode change instead of relying on navigator.onLine --- js/App.js | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'js') diff --git a/js/App.js b/js/App.js index 1ac3a43f0..ae3eecb09 100644 --- a/js/App.js +++ b/js/App.js @@ -172,21 +172,21 @@ const App = { console.log("nightModeChanged: night mode changed to", is_night, "retry", retry); if (link) { - if (navigator.onLine) { - const css_override = is_night ? App.getInitParam("default_dark_theme") : App.getInitParam("default_light_theme"); - link.setAttribute("href", css_override + "?" + Date.now()); - } else if (retry < 5) { - console.log("nightModeChanged: we're offline, will attempt to retry..."); - + if (retry < 5) { window.clearTimeout(this._night_mode_retry_timeout); this._night_mode_retry_timeout = window.setTimeout( () => this.nightModeChanged(is_night, link, ++retry), 3000); - - } else { - console.log("nightModeChanged: too many retries, giving up"); } + + xhr.post("backend.php", {op: "RPC", method: "getRuntimeInfo"}, () => { + const css_override = is_night ? App.getInitParam("default_dark_theme") : App.getInitParam("default_light_theme"); + + link.setAttribute("href", css_override + "?" + Date.now()); + + window.clearTimeout(this._night_mode_retry_timeout); + }); } }, setupNightModeDetection: function(callback) { -- cgit v1.2.3-54-g00ecf