From 1d67d6307e234acf2e1985dbdf86c850aeeb28e4 Mon Sep 17 00:00:00 2001 From: rene Date: Fri, 15 May 2026 18:19:55 +0200 Subject: [PATCH] =?UTF-8?q?Fix:=20Routen-Aufzeichnung=20offline=20?= =?UTF-8?q?=E2=80=94=20Dim-Screen=20+=20WakeLock=20+=20GPS=20funktionieren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit _startRecInOvl() crashte bei null _recMap auf L.polyline().addTo(_recMap) → WakeLock, watchPosition, _resetRecInactTimer() wurden nie erreicht → Dim-Screen wurde nie aktiviert, GPS-Track lief nicht. - L.polyline nur erstellen wenn _recMap && window.L vorhanden - watchPosition-Callback: _recPolyline?.addLatLng, _recLocMarker?.setLatLng, _recMap?.setView alle mit Optional Chaining gesichert - SW by-v996, APP_VER 996 --- backend/main.py | 2 +- backend/static/js/app.js | 2 +- backend/static/js/pages/routes.js | 10 ++++++---- backend/static/sw.js | 2 +- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/backend/main.py b/backend/main.py index 2a4beb4..624a637 100644 --- a/backend/main.py +++ b/backend/main.py @@ -410,7 +410,7 @@ async def serve_media(path: str, request: _Request): raise _HE(404, "Nicht gefunden.") return _media_response(filepath) -APP_VER = "995" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "996" # muss mit APP_VER in app.js übereinstimmen @app.get("/.well-known/assetlinks.json") async def assetlinks(): diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 91ccd34..5e5a60e 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '995'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '996'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt const IS_STAGING = location.hostname === 'staging.banyaro.app'; // Cache-Bust-Parameter nach Update-Reload sofort entfernen diff --git a/backend/static/js/pages/routes.js b/backend/static/js/pages/routes.js index 7213da3..7ccce1a 100644 --- a/backend/static/js/pages/routes.js +++ b/backend/static/js/pages/routes.js @@ -821,7 +821,9 @@ window.Page_routes = (() => { btn.addEventListener('pointercancel', cancelHold); document.getElementById('rk-rec-stats-bar').style.display = ''; - _recPolyline = L.polyline([], { color: '#ef4444', weight: 5, opacity: 0.9 }).addTo(_recMap); + if (_recMap && window.L) { + _recPolyline = L.polyline([], { color: '#ef4444', weight: 5, opacity: 0.9 }).addTo(_recMap); + } await _recAcquireWakeLock(); document.addEventListener('visibilitychange', _recOnVisibility); @@ -836,9 +838,9 @@ window.Page_routes = (() => { _recDistKm += d; } _recTrack.push({ lat, lon, ...(alt !== null ? { alt: Math.round(alt) } : {}) }); - _recPolyline.addLatLng([lat, lon]); - _recLocMarker.setLatLng([lat, lon]); - if (_recTrack.length === 1) _recMap.setView([lat, lon], 16); + _recPolyline?.addLatLng([lat, lon]); + _recLocMarker?.setLatLng([lat, lon]); + if (_recTrack.length === 1) _recMap?.setView([lat, lon], 16); _updateRecStats(); }, () => {}, { enableHighAccuracy: true, maximumAge: 2000 }); diff --git a/backend/static/sw.js b/backend/static/sw.js index 599618d..99eb6dc 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v995'; +const CACHE_VERSION = 'by-v996'; const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache