fix(pwa): force service worker update v8 and auto-reload on fresh deploy
This commit is contained in:
+14
-2
@@ -1052,11 +1052,23 @@ Format with clear bullet points, emojis, and a call-to-action.</textarea>
|
|||||||
<!-- Hidden container for generating QR code SVG/Canvas -->
|
<!-- Hidden container for generating QR code SVG/Canvas -->
|
||||||
<div id="qrcodeHidden" style="display:none;"></div>
|
<div id="qrcodeHidden" style="display:none;"></div>
|
||||||
|
|
||||||
<script src="app.js?v=6"></script>
|
<script src="app.js?v=8"></script>
|
||||||
<script>
|
<script>
|
||||||
if ('serviceWorker' in navigator) {
|
if ('serviceWorker' in navigator) {
|
||||||
window.addEventListener('load', () => {
|
window.addEventListener('load', () => {
|
||||||
navigator.serviceWorker.register('sw.js').catch(err => console.log('SW reg error:', err));
|
navigator.serviceWorker.register('sw.js?v=8').then(reg => {
|
||||||
|
reg.update();
|
||||||
|
reg.onupdatefound = () => {
|
||||||
|
const installingWorker = reg.installing;
|
||||||
|
if (installingWorker) {
|
||||||
|
installingWorker.onstatechange = () => {
|
||||||
|
if (installingWorker.state === 'installed' && navigator.serviceWorker.controller) {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}).catch(err => console.log('SW reg error:', err));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const CACHE_NAME = 'opal-ai-v5-cache';
|
const CACHE_NAME = 'opal-ai-v8-cache';
|
||||||
|
|
||||||
self.addEventListener('install', (e) => {
|
self.addEventListener('install', (e) => {
|
||||||
self.skipWaiting();
|
self.skipWaiting();
|
||||||
@@ -15,6 +15,7 @@ self.addEventListener('activate', (e) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
self.addEventListener('fetch', (e) => {
|
self.addEventListener('fetch', (e) => {
|
||||||
|
// Always fetch fresh network first, fallback to cache only if completely offline
|
||||||
e.respondWith(
|
e.respondWith(
|
||||||
fetch(e.request).catch(() => caches.match(e.request))
|
fetch(e.request).catch(() => caches.match(e.request))
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user