| 12345678910111213141516171819202122232425262728 |
- const CACHE_NAME = 'runforge-shell-v1'
- const APP_SHELL = ['/', '/manifest.webmanifest', '/logo.svg']
- self.addEventListener('install', (event) => {
- event.waitUntil(
- caches.open(CACHE_NAME)
- .then((cache) => cache.addAll(APP_SHELL))
- .then(() => self.skipWaiting())
- )
- })
- self.addEventListener('activate', (event) => {
- event.waitUntil(
- caches.keys()
- .then((keys) => Promise.all(
- keys.filter((key) => key !== CACHE_NAME).map((key) => caches.delete(key))
- ))
- .then(() => self.clients.claim())
- )
- })
- self.addEventListener('fetch', (event) => {
- if (event.request.method !== 'GET' || event.request.mode !== 'navigate') return
- event.respondWith(
- fetch(event.request).catch(() => caches.match('/'))
- )
- })
|