summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Jacobson <owen@grimoire.ca>2025-12-01 14:32:14 -0500
committerOwen Jacobson <owen@grimoire.ca>2025-12-01 14:32:14 -0500
commit9af71a82ca74fde48283d4e0a0adcd69f4fcb9dd (patch)
tree4471ffec686bf3990f5eca8f57cc82c625f0d430
parent664e3beba053aee50fc6b3cdcc6ee0dfe5e0fe1f (diff)
parent357cf6e7306d9090194c3304612a021b6e9e9df0 (diff)
Trim down the service worker to the bare minimum, and make code changes apply immediately when downloaded.
Merges 'immediate-service-worker-registration'
-rw-r--r--ui/service-worker.js46
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) => {