From 31859acc4aa11d97c3dd5296e302fae9edca044b Mon Sep 17 00:00:00 2001 From: johndoe6345789 Date: Fri, 16 Jan 2026 17:48:59 +0000 Subject: [PATCH] Generated by Spark: Fix all reported errors. --- public/sw.js | 57 +++++++++++++++++++++++++++++++++++++--------------- src/main.tsx | 7 +++++-- 2 files changed, 46 insertions(+), 18 deletions(-) diff --git a/public/sw.js b/public/sw.js index 540140a..9a3be73 100644 --- a/public/sw.js +++ b/public/sw.js @@ -18,12 +18,13 @@ const MAX_IMAGE_CACHE_SIZE = 30 const limitCacheSize = (cacheName, maxItems) => { caches.open(cacheName).then(cache => { + if (!cache) return cache.keys().then(keys => { if (keys.length > maxItems) { cache.delete(keys[0]).then(() => limitCacheSize(cacheName, maxItems)) } - }) - }) + }).catch(err => console.error('[Service Worker] Cache keys error:', err)) + }).catch(err => console.error('[Service Worker] Cache open error:', err)) } self.addEventListener('install', (event) => { @@ -32,11 +33,19 @@ self.addEventListener('install', (event) => { event.waitUntil( caches.open(STATIC_CACHE) .then(cache => { + if (!cache || !cache.addAll) { + console.error('[Service Worker] Cache API not available') + return Promise.resolve() + } console.log('[Service Worker] Caching static assets') - return cache.addAll(STATIC_ASSETS) + return cache.addAll(STATIC_ASSETS).catch(err => { + console.error('[Service Worker] Failed to cache some assets:', err) + return Promise.resolve() + }) }) .catch(err => { - console.error('[Service Worker] Cache failed:', err) + console.error('[Service Worker] Cache open failed:', err) + return Promise.resolve() }) ) @@ -80,10 +89,14 @@ self.addEventListener('fetch', (event) => { caches.match(request).then(response => { return response || fetch(request).then(fetchRes => { return caches.open(STATIC_CACHE).then(cache => { - cache.put(request, fetchRes.clone()) + if (cache && cache.put) { + cache.put(request, fetchRes.clone()).catch(err => + console.error('[Service Worker] Cache put error:', err) + ) + } return fetchRes - }) - }) + }).catch(() => fetchRes) + }).catch(() => response) }) ) return @@ -94,10 +107,14 @@ self.addEventListener('fetch', (event) => { caches.match(request).then(response => { return response || fetch(request).then(fetchRes => { return caches.open(IMAGE_CACHE).then(cache => { - cache.put(request, fetchRes.clone()) - limitCacheSize(IMAGE_CACHE, MAX_IMAGE_CACHE_SIZE) + if (cache && cache.put) { + cache.put(request, fetchRes.clone()).catch(err => + console.error('[Service Worker] Image cache put error:', err) + ) + limitCacheSize(IMAGE_CACHE, MAX_IMAGE_CACHE_SIZE) + } return fetchRes - }) + }).catch(() => fetchRes) }).catch(() => { return new Response('', { headers: { 'Content-Type': 'image/svg+xml' } @@ -113,10 +130,14 @@ self.addEventListener('fetch', (event) => { caches.match(request).then(response => { return response || fetch(request).then(fetchRes => { return caches.open(DYNAMIC_CACHE).then(cache => { - cache.put(request, fetchRes.clone()) - limitCacheSize(DYNAMIC_CACHE, MAX_DYNAMIC_CACHE_SIZE) + if (cache && cache.put) { + cache.put(request, fetchRes.clone()).catch(err => + console.error('[Service Worker] Dynamic cache put error:', err) + ) + limitCacheSize(DYNAMIC_CACHE, MAX_DYNAMIC_CACHE_SIZE) + } return fetchRes - }) + }).catch(() => fetchRes) }).catch(() => { if (request.destination === 'document') { return caches.match('/index.html') @@ -132,10 +153,14 @@ self.addEventListener('fetch', (event) => { .then(response => { return response || fetch(request).then(fetchRes => { return caches.open(DYNAMIC_CACHE).then(cache => { - cache.put(request, fetchRes.clone()) - limitCacheSize(DYNAMIC_CACHE, MAX_DYNAMIC_CACHE_SIZE) + if (cache && cache.put) { + cache.put(request, fetchRes.clone()).catch(err => + console.error('[Service Worker] Cache put error:', err) + ) + limitCacheSize(DYNAMIC_CACHE, MAX_DYNAMIC_CACHE_SIZE) + } return fetchRes - }) + }).catch(() => fetchRes) }) }) .catch(() => { diff --git a/src/main.tsx b/src/main.tsx index 753b3e9..0cd7bc2 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -5,6 +5,7 @@ import "@github/spark/spark" import App from './App.tsx' import { ErrorFallback } from './ErrorFallback.tsx' import { Toaster } from './components/ui/sonner.tsx' +import { TooltipProvider } from './components/ui/tooltip.tsx' import "./main.css" import "./styles/theme.css" @@ -57,7 +58,9 @@ window.addEventListener('unhandledrejection', (e) => { createRoot(document.getElementById('root')!).render( - - + + + + )