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:
Gwadaking
2026-04-14 17:38:43 -04:00
parent 547e0e8437
commit 2a4c92dc03

View File

@@ -1,8 +1,19 @@
// 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.
// 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('push', (event) => {
@@ -18,8 +29,8 @@ self.addEventListener('push', (event) => {
const title = payload.title ?? 'Alerte sargasses';
const options = {
body: payload.body ?? '',
icon: '/icons.svg',
badge: '/icons.svg',
icon: '/icon-192.png',
badge: '/icon-192.png',
tag: payload.spotId ? `sargasse-${payload.spotId}` : 'sargasse-alert',
renotify: true,
data: { url: payload.url ?? '/' },