fix: skipWaiting + clients.claim pour forcer le remplacement du SW
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,19 @@
|
|||||||
// Service Worker — Sargasse-Sentry
|
// Service Worker — Sargasse-Sentry
|
||||||
// fetch handler requis par Chrome pour le critère d'installabilité PWA
|
|
||||||
|
// Force l'activation immédiate sans attendre la fermeture des onglets.
|
||||||
|
// Critique : tant que l'ancien SW (sans fetch handler) reste actif,
|
||||||
|
// Chrome ne considère pas l'app comme installable.
|
||||||
|
self.addEventListener('install', () => {
|
||||||
|
self.skipWaiting();
|
||||||
|
});
|
||||||
|
|
||||||
|
self.addEventListener('activate', (event) => {
|
||||||
|
event.waitUntil(clients.claim());
|
||||||
|
});
|
||||||
|
|
||||||
// Fetch handler vide — requis par Chrome pour l'installabilité PWA.
|
// Fetch handler vide — requis par Chrome pour l'installabilité PWA.
|
||||||
// Pas de mise en cache : les données sont temps-réel.
|
// Pas de mise en cache : les données sont temps-réel.
|
||||||
// On ne fait PAS de respondWith pour éviter les erreurs sur les tiles cross-origin.
|
// Pas de respondWith pour éviter les erreurs sur les tiles cross-origin.
|
||||||
self.addEventListener('fetch', () => {});
|
self.addEventListener('fetch', () => {});
|
||||||
|
|
||||||
self.addEventListener('push', (event) => {
|
self.addEventListener('push', (event) => {
|
||||||
@@ -18,8 +29,8 @@ self.addEventListener('push', (event) => {
|
|||||||
const title = payload.title ?? 'Alerte sargasses';
|
const title = payload.title ?? 'Alerte sargasses';
|
||||||
const options = {
|
const options = {
|
||||||
body: payload.body ?? '',
|
body: payload.body ?? '',
|
||||||
icon: '/icons.svg',
|
icon: '/icon-192.png',
|
||||||
badge: '/icons.svg',
|
badge: '/icon-192.png',
|
||||||
tag: payload.spotId ? `sargasse-${payload.spotId}` : 'sargasse-alert',
|
tag: payload.spotId ? `sargasse-${payload.spotId}` : 'sargasse-alert',
|
||||||
renotify: true,
|
renotify: true,
|
||||||
data: { url: payload.url ?? '/' },
|
data: { url: payload.url ?? '/' },
|
||||||
|
|||||||
Reference in New Issue
Block a user