From 2cf2c6af2a9e88fe4afef4ccefa7aaf881a7c751 Mon Sep 17 00:00:00 2001 From: James Smith Date: Thu, 19 Mar 2026 08:28:13 +0000 Subject: [PATCH] Keep ADS-B on local startup tiles --- templates/adsb_dashboard.html | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/templates/adsb_dashboard.html b/templates/adsb_dashboard.html index 3bcf05b..7e273c7 100644 --- a/templates/adsb_dashboard.html +++ b/templates/adsb_dashboard.html @@ -2180,6 +2180,22 @@ sudo make install return layer; } + function shouldAutoUpgradeRadarTiles(config) { + if (!config || !config.url) return false; + + try { + const resolvedUrl = new URL(config.url, window.location.origin); + + // Keep the zero-network fallback grid as the default map for any + // off-box provider. External tile fetches can keep the browser in + // a long-loading state even though the dashboard itself is ready. + return resolvedUrl.origin === window.location.origin; + } catch (e) { + console.warn('ADS-B: unable to resolve tile URL, keeping fallback grid:', e); + return false; + } + } + async function upgradeRadarTilesFromSettings(fallbackTiles) { if (typeof Settings === 'undefined') return; @@ -2187,6 +2203,14 @@ sudo make install await Settings.init(); if (!radarMap) return; + const tileConfig = Settings.getTileConfig(); + Settings.registerMap(radarMap); + + if (!shouldAutoUpgradeRadarTiles(tileConfig)) { + console.info('ADS-B: keeping local fallback grid for startup map'); + return; + } + const configuredLayer = Settings.createTileLayer(); let tileLoaded = false; @@ -2204,7 +2228,6 @@ sudo make install }); configuredLayer.addTo(radarMap); - Settings.registerMap(radarMap); } catch (e) { console.warn('ADS-B: Settings/tile upgrade failed, using fallback grid:', e); }