Feature: Routenaufzeichnung übersteht App-Updates (Guard + Persistenz)
Stufe 1 (Guard): Während aktiver Aufzeichnung wird der SW-/Force-Update-Reload aufgeschoben (window._byRecording → boot.js/_bySwReload + app.js force-update); nach Stop/Speichern via window._byReloadIfPending() nachgeholt. Stufe 2 (Persistenz): Track wird gedrosselt nach localStorage (RecStore) gesichert und beim nächsten Öffnen der Karten-/Routen-Seite als 'Aufzeichnung fortsetzen?' angeboten (Resume seedet Track+km+Startzeit). Schützt auch bei Crash/OS-Kill/ manuellem Reload. Greift in map.js UND routes.js. SW v1167
This commit is contained in:
parent
ddfb9474ef
commit
78866206b4
8 changed files with 174 additions and 40 deletions
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '1166'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '1167'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
|
||||
window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator)
|
||||
window.APP_VERSION = APP_VERSION;
|
||||
|
|
@ -137,7 +137,8 @@ const App = (() => {
|
|||
let lastForce = 0;
|
||||
try { lastForce = parseInt(localStorage.getItem('by_last_force_update') || '0', 10); } catch {}
|
||||
const cooldownActive = (Date.now() - lastForce) < 10 * 60 * 1000;
|
||||
if (!modalOpen && !cooldownActive) {
|
||||
// Während einer laufenden Aufzeichnung NIE force-updaten (Datenverlust).
|
||||
if (!modalOpen && !cooldownActive && !window._byRecording) {
|
||||
window._byUpdatePending = false;
|
||||
sessionStorage.setItem('by_updated_to', window._byNewVersion || '');
|
||||
sessionStorage.setItem('by_update_target', pageId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue