diff --git a/packages/app/src/Pages/ErrorPage.tsx b/packages/app/src/Pages/ErrorPage.tsx index 2a1030e0..178a4e1d 100644 --- a/packages/app/src/Pages/ErrorPage.tsx +++ b/packages/app/src/Pages/ErrorPage.tsx @@ -9,7 +9,7 @@ const ErrorPage = () => { console.error(error); return ( -
+

@@ -21,15 +21,11 @@ const ErrorPage = () => { }}> - { -
-          {JSON.stringify(
-            error instanceof Error ? { name: error.name, message: error.message, stack: error.stack } : error,
-            undefined,
-            "  ",
-          )}
-        
- } +
{error.message}
+
{error.message}
+
+        {error.stack}
+      
); }; diff --git a/packages/app/src/service-worker.ts b/packages/app/src/service-worker.ts index 0f754e40..f0bf67af 100644 --- a/packages/app/src/service-worker.ts +++ b/packages/app/src/service-worker.ts @@ -15,6 +15,23 @@ import { formatShort } from "@/Utils/Number"; precacheAndRoute(self.__WB_MANIFEST); clientsClaim(); + +// cache everything in current domain /assets because precache doesn't seem to include everything +registerRoute( + ({ url }) => url.origin === location.origin && url.pathname.startsWith("/assets"), + new StaleWhileRevalidate({ + cacheName: "assets-cache", + plugins: [ + new ExpirationPlugin({ + maxEntries: 200, + matchOptions: { + ignoreVary: true, + } + }), + ], + }), +); + registerRoute( ({ url }) => url.pathname.endsWith("/.well-known/nostr.json"), new StaleWhileRevalidate({ @@ -32,13 +49,16 @@ registerRoute( plugins: [ new ExpirationPlugin({ maxEntries: 200, + matchOptions: { + ignoreVary: true, + } }), ], }), ); registerRoute( - ({ url }) => url.pathname.endsWith("api/v1/preview"), + ({ url }) => url.origin === "https://api.snort.social" && url.pathname.startsWith("/api/v1/preview"), new StaleWhileRevalidate({ cacheName: "preview-cache", plugins: [new ExpirationPlugin({ maxAgeSeconds: 4 * 60 * 60 })], diff --git a/packages/app/vite.config.ts b/packages/app/vite.config.ts index 7e0c1692..bdab157b 100644 --- a/packages/app/vite.config.ts +++ b/packages/app/vite.config.ts @@ -18,6 +18,10 @@ export default defineConfig({ enabled: true, type: "module", }, + workbox: { + globPatterns: ['**/*.{js,html,wasm,woff,woff2,ttf,svg,png,jpg,jpeg,webp,ico,json}'], + sourcemap: true, + } }), visualizer({ open: true,