From d0c5fde6c95fecedebae9fdf1a9d5e92dd1faaa2 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Fri, 6 Mar 2026 22:59:57 -0800 Subject: make service worker install resilient to cache failures Use Promise.allSettled instead of addAll so a single failed asset doesn't prevent the SW from installing (needed for push notifications). Co-Authored-By: Claude Opus 4.6 --- src/service-worker.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/service-worker.js b/src/service-worker.js index 3c1ae0ac..ca0d472b 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -22,7 +22,13 @@ self.addEventListener("install", (event) => { event.waitUntil( caches .open(CACHE_BUILD) - .then((cache) => cache.addAll([...build, ...ESSENTIAL_STATIC])) + .then((cache) => + Promise.allSettled( + [...build, ...ESSENTIAL_STATIC].map((url) => + cache.add(url).catch(() => {}), + ), + ), + ) .then(() => self.skipWaiting()), ); }); -- cgit v1.2.3