mirror of
https://github.com/multipleof4/sune.git
synced 2026-01-14 00:27:56 +00:00
Create sw.js
This commit is contained in:
23
public/sw.js
Normal file
23
public/sw.js
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
// /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}));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user