Files
sune/public/sw.js
2025-08-23 09:31:42 -07:00

24 lines
689 B
JavaScript

// /sw.js (simple test worker)
self.addEventListener('install', event => {
self.skipWaiting();
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
});
self.addEventListener('message', event => {
const data = event.data || {};
if (data?.type === 'PING') {
// prefer replying on the message port if provided
if (event.ports && event.ports[0]) {
event.ports[0].postMessage({type: 'PONG', ts: Date.now(), ok: true});
} else {
// fallback: broadcast to all clients
self.clients.matchAll().then(clients => {
clients.forEach(c => c.postMessage({type: 'PONG', ts: Date.now(), ok: true}));
});
}
}
});