diff --git a/backend/main.py b/backend/main.py index 0b2db2d..4fdbfae 100644 --- a/backend/main.py +++ b/backend/main.py @@ -327,7 +327,7 @@ MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media") os.makedirs(MEDIA_DIR, exist_ok=True) app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media") -APP_VER = "773" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "774" # muss mit APP_VER in app.js übereinstimmen @app.get("/.well-known/assetlinks.json") async def assetlinks(): diff --git a/backend/static/index.html b/backend/static/index.html index 9795931..856efe8 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -578,7 +578,7 @@ - + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index c140371..9887ed7 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 = '773'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '774'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const APP_VERSION = '1.5.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/sw.js b/backend/static/sw.js index 52ca2cf..171d7f4 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-v773'; +const CACHE_VERSION = 'by-v774'; 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 @@ -292,7 +292,8 @@ self.addEventListener('fetch', event => { } return response; }) - .catch(() => caches.match(event.request)) + .catch(() => caches.match(event.request) + .then(cached => cached || new Response('', { status: 503 }))) ); return; } @@ -324,9 +325,8 @@ self.addEventListener('fetch', event => { }) ) .catch(() => { - if (event.request.mode === 'navigate') { - return caches.match('/'); - } + if (event.request.mode === 'navigate') return caches.match('/'); + return new Response('', { status: 503 }); }) ); });