update service worker

This commit is contained in:
2026-06-11 11:15:45 -07:00
parent 7b0224a45a
commit c68b1e2d99
2 changed files with 66 additions and 2 deletions
+28 -1
View File
@@ -1,9 +1,36 @@
export function registerServiceWorker() {
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
let refreshing = false
navigator.serviceWorker.addEventListener('controllerchange', () => {
if (refreshing) return
refreshing = true
window.location.reload()
})
navigator.serviceWorker
.register('/sw.js')
.then((reg) => console.log('Service worker registered:', reg))
.then((reg) => {
console.log('Service worker registered:', reg)
void reg.update().catch(() => undefined)
if (reg.waiting) {
reg.waiting.postMessage({ type: 'SKIP_WAITING' })
}
reg.addEventListener('updatefound', () => {
const installingWorker = reg.installing
if (!installingWorker) return
installingWorker.addEventListener('statechange', () => {
if (installingWorker.state === 'installed' && navigator.serviceWorker.controller) {
installingWorker.postMessage({ type: 'SKIP_WAITING' })
}
})
})
})
.catch((err) => console.log('Service worker registration failed:', err))
})
}