Fix: Force-Update Cooldown + robusteres Cache-Clear, SW by-v1105
Symptom: 'Einen Moment, wir besorgen neue Leckerlis' Loading-Screen erscheint beim User wiederholt beim Wechsel in andere Bereiche. Ursachen: 1. In dieser Session wurden viele Bumps in kurzer Zeit ausgerollt (1100 → 1104). Jeder Versions-Mismatch zwischen App-Cache und Server triggert force-update. 2. /force-update Cache-Delete war fire-and-forget mit nur 1.5s Reload-Timer — auf iOS-PWA oft zu kurz für asynchrone unregister/ caches.delete, daher landete der Reload manchmal noch im alten Cache-Stand → erneuter Mismatch → erneuter force-update. Fixes: - app.js: Cooldown 5 Min nach force-update — verhindert Loop bei mehrfachen schnellen Bumps. Mismatch wird erkannt aber nicht mehr sofort reagiert. - /force-update: async/await für SW-Unregister + Cache-Delete bevor Reload. Safety-Timeout 4s. Reload-URL mit ?_t= Cache-Bust.
This commit is contained in:
parent
9a066cb24c
commit
b0ae71ba69
6 changed files with 43 additions and 25 deletions
|
|
@ -86,14 +86,14 @@
|
|||
<title>Ban Yaro</title>
|
||||
|
||||
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
|
||||
<script src="/js/boot-early.js?v=1104"></script>
|
||||
<script src="/js/boot-early.js?v=1105"></script>
|
||||
|
||||
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1104">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1104">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1104">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1104">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1104">
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1105">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1105">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1105">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1105">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1105">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
@ -617,11 +617,11 @@
|
|||
<div id="modal-container"></div>
|
||||
|
||||
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
||||
<script src="/js/api.js?v=1104"></script>
|
||||
<script src="/js/ui.js?v=1104"></script>
|
||||
<script src="/js/app.js?v=1104"></script>
|
||||
<script src="/js/worlds.js?v=1104"></script>
|
||||
<script src="/js/offline-indicator.js?v=1104"></script>
|
||||
<script src="/js/api.js?v=1105"></script>
|
||||
<script src="/js/ui.js?v=1105"></script>
|
||||
<script src="/js/app.js?v=1105"></script>
|
||||
<script src="/js/worlds.js?v=1105"></script>
|
||||
<script src="/js/offline-indicator.js?v=1105"></script>
|
||||
|
||||
<!-- Feature-Seiten werden lazy geladen -->
|
||||
|
||||
|
|
@ -631,7 +631,7 @@
|
|||
|
||||
|
||||
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
|
||||
<script src="/js/boot.js?v=1104"></script>
|
||||
<script src="/js/boot.js?v=1105"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue