// Minimal PWA service worker with no API caching self.addEventListener("install", (event) => { // Skip waiting so updated SW takes control faster // but we do not pre-cache anything to keep behavior minimal // @ts-ignore self.skipWaiting(); }); self.addEventListener("activate", (event) => { // Claim clients so the SW starts controlling pages immediately // @ts-ignore event.waitUntil(self.clients.claim()); }); self.addEventListener("fetch", (event) => { const request = event.request; // Do not cache anything; just let the request pass through. // Especially do not touch API requests. // If needed in future, add logic here, but keep it disabled for now. return; }); self.addEventListener('push', function(event) { if (event.data) { const payload = event.data.json(); const title = payload.title || 'New Notification'; const options = { body: payload.body, icon: payload.icon || '/favicon.png', badge: payload.badge || '/favicon.png', data: payload.url || '/' }; event.waitUntil(self.registration.showNotification(title, options)); } }); self.addEventListener('notificationclick', function(event) { event.notification.close(); event.waitUntil( clients.openWindow(event.notification.data) ); });