diff --git a/frontend/public/sw.js b/frontend/public/sw.js index e3fa21c..8921b15 100644 --- a/frontend/public/sw.js +++ b/frontend/public/sw.js @@ -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 ?? '/' },