diff options
Diffstat (limited to 'ui/service-worker.js')
| -rw-r--r-- | ui/service-worker.js | 46 |
1 files changed, 2 insertions, 44 deletions
diff --git a/ui/service-worker.js b/ui/service-worker.js index cb32d0d..446fbc8 100644 --- a/ui/service-worker.js +++ b/ui/service-worker.js @@ -3,54 +3,12 @@ /// <reference lib="esnext" /> /// <reference lib="webworker" /> -// Because of this line, this service worker won't run in dev mode in Firefox. -// Only Safari, Edge, Chrome can run it at the moment, because only they -// support modules in service workers. -// -// That's okay! If you run `tools/run` with PILCROW_DEV unset, you will get the -// bundled version, and can work on it. Or just use Safari. -import { build, files, version } from '$service-worker'; - -// Create a unique cache name for this deployment -const CACHE = `cache-${version}`; - -const ASSETS = [ - ...build, // the app itself - ...files, // everything in `static` -]; - self.addEventListener('install', (event) => { - // Create a new cache and add all files to it - async function addFilesToCache() { - const cache = await caches.open(CACHE); - await cache.addAll(ASSETS); - } - - event.waitUntil(addFilesToCache()); + self.skipWaiting(); }); self.addEventListener('activate', (event) => { - // Remove previous cached data from disk - async function deleteOldCaches() { - for (const key of await caches.keys()) { - if (key !== CACHE) await caches.delete(key); - } - } - - event.waitUntil(deleteOldCaches()); -}); - -// The simplest possible use of the caches above: -async function cacheFirst(request) { - const responseFromCache = await caches.match(request); - if (responseFromCache) { - return responseFromCache; - } - return fetch(request); -} - -self.addEventListener('fetch', (event) => { - event.respondWith(cacheFirst(event.request)); + event.waitUntil(self.clients.claim()); }); self.addEventListener('push', (event) => { |
