diff --git a/backend/main.py b/backend/main.py index 52b8075..7cc78d6 100644 --- a/backend/main.py +++ b/backend/main.py @@ -341,7 +341,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 = "816" # muss mit APP_VER in app.js übereinstimmen +APP_VER = "817" # 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 6dd6ec0..0e1f951 100644 --- a/backend/static/index.html +++ b/backend/static/index.html @@ -101,9 +101,9 @@ - - - + + +
@@ -583,10 +583,10 @@ - - - - + + + + diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 2cff127..40b659d 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 = '816'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '817'; // ← 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 @@ -125,6 +125,7 @@ const App = (() => { if (!modalOpen) { window._byUpdatePending = false; sessionStorage.setItem('by_updated_to', window._byNewVersion || ''); + sessionStorage.setItem('by_update_target', pageId); // Zielseite nach Update location.href = '/force-update'; return; } @@ -912,11 +913,16 @@ const App = (() => { _bindNavigation(); - // Nach stillem Update: Toast anzeigen + // Nach stillem Update: Toast + zur ursprünglichen Zielseite navigieren const updatedTo = sessionStorage.getItem('by_updated_to'); if (updatedTo) { sessionStorage.removeItem('by_updated_to'); - setTimeout(() => UI.toast?.success(`App automatisch auf v${updatedTo} aktualisiert`), 1500); + const target = sessionStorage.getItem('by_update_target'); + sessionStorage.removeItem('by_update_target'); + setTimeout(() => { + UI.toast?.success(`App auf v${updatedTo} aktualisiert`); + if (target && pages[target]) navigate(target, false); + }, 800); } try { localStorage.removeItem('by_wissen_open'); } catch (_) {} diff --git a/backend/static/sw.js b/backend/static/sw.js index 4874a51..cf5a2cf 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-v816'; +const CACHE_VERSION = 'by-v817'; 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