diff --git a/public/sw.js b/public/sw.js index ffd68d1..5b61b4d 100644 --- a/public/sw.js +++ b/public/sw.js @@ -1,66 +1,16 @@ // NextStep Service Worker for Push Notifications -const CACHE_NAME = 'nextstep-v1' - -// Install event - cache critical assets +// Install event - activate immediately self.addEventListener('install', (event) => { console.log('Service Worker: Installing...') - event.waitUntil( - caches.open(CACHE_NAME).then((cache) => { - return cache.addAll([ - '/', - '/today', - '/meds', - '/icon-192.png', - '/icon-512.png', - ]) - }) - ) + // Skip waiting to activate immediately self.skipWaiting() }) -// Activate event - clean up old caches +// Activate event - claim clients immediately self.addEventListener('activate', (event) => { console.log('Service Worker: Activating...') - event.waitUntil( - caches.keys().then((cacheNames) => { - return Promise.all( - cacheNames - .filter((name) => name !== CACHE_NAME) - .map((name) => caches.delete(name)) - ) - }) - ) - self.clients.claim() -}) - -// Fetch event - serve from cache when offline -self.addEventListener('fetch', (event) => { - // Only cache GET requests - if (event.request.method !== 'GET') return - - event.respondWith( - caches.match(event.request).then((cached) => { - // Return cached version or fetch from network - return ( - cached || - fetch(event.request).then((response) => { - // Don't cache API responses - if (event.request.url.includes('/api/')) { - return response - } - // Cache successful responses - if (response.status === 200) { - const clone = response.clone() - caches.open(CACHE_NAME).then((cache) => { - cache.put(event.request, clone) - }) - } - return response - }) - ) - }) - ) + event.waitUntil(self.clients.claim()) }) // Push event - handle incoming push notifications @@ -70,8 +20,6 @@ self.addEventListener('push', (event) => { let data = { title: 'Medication Reminder', body: 'Time to take your medication', - icon: '/icon-192.png', - badge: '/badge-72.png', tag: 'medication-reminder', data: { url: '/meds', @@ -88,15 +36,9 @@ self.addEventListener('push', (event) => { const options = { body: data.body, - icon: data.icon || '/icon-192.png', - badge: data.badge || '/badge-72.png', tag: data.tag || 'default', vibrate: [100, 50, 100], data: data.data || {}, - actions: data.actions || [ - { action: 'take', title: 'Taken' }, - { action: 'snooze', title: 'Snooze' }, - ], requireInteraction: true, }