diff options
| author | Owen Jacobson <owen@grimoire.ca> | 2025-11-26 17:55:44 -0500 |
|---|---|---|
| committer | Owen Jacobson <owen@grimoire.ca> | 2025-11-26 17:55:44 -0500 |
| commit | 5b3ae24fa19989f8a8bbaadaaaedec11d85dee13 (patch) | |
| tree | d2d255b74be1b352b0aadbdd306bf27625ffc671 | |
| parent | 664e3beba053aee50fc6b3cdcc6ee0dfe5e0fe1f (diff) | |
Remove mostly-unsued fetch handler.
This was added as part of the original service worker spike, without much consideration for design goals or correctness, and while it _works_, it doesn't meet any specific needs. We can get most of the same behaviour by letting the browser handle fetches directly.
The main thing we lose is offline rendering of the Pilcrow UI, but that only worked partially and only by accident. We should build that from the ground up.
| -rw-r--r-- | ui/service-worker.js | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/ui/service-worker.js b/ui/service-worker.js index cb32d0d..2917ae7 100644 --- a/ui/service-worker.js +++ b/ui/service-worker.js @@ -3,56 +3,6 @@ /// <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.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)); -}); - self.addEventListener('push', (event) => { event.waitUntil( self.registration.showNotification('Test notification', { |
