From 0863a6d393582af7dfe25b45f71113bd4b98595f Mon Sep 17 00:00:00 2001
From: fly_mc <me@flymc.cc>
Date: Fri, 1 Nov 2024 14:12:17 +0800
Subject: [PATCH] fix sw cache

---
 packages/sw/src/sw.ts | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/packages/sw/src/sw.ts b/packages/sw/src/sw.ts
index e546db8984..511b176ba5 100644
--- a/packages/sw/src/sw.ts
+++ b/packages/sw/src/sw.ts
@@ -13,12 +13,20 @@ import { swLang } from '@/scripts/lang.js';
 import * as swos from '@/scripts/operations.js';
 
 const STATIC_CACHE_NAME = `misskey-static-${_VERSION_}`;
-const PATHS_TO_CACHE = ['/assets/','/emoji/','/twemoji/','/fluent-emoji/','/vite/'];
+const PATHS_TO_CACHE = ['/assets/', '/emoji/', '/twemoji/', '/fluent-emoji/', '/vite/'];
+
+async function cacheWithFallback(cache, paths) {
+    for (const path of paths) {
+        try {
+            await cache.add(new Request(path, { credentials: 'same-origin' }));
+        } catch (error) {}
+    }
+}
 
 globalThis.addEventListener('install', (ev) => {
     ev.waitUntil((async () => {
         const cache = await caches.open(STATIC_CACHE_NAME);
-        await cache.addAll(PATHS_TO_CACHE);
+        await cacheWithFallback(cache, PATHS_TO_CACHE);
         await globalThis.skipWaiting();
     })());
 });