diff --git a/src/components/Bookmarks.tsx b/src/components/Bookmarks.tsx index 323823c9..f9a917eb 100644 --- a/src/components/Bookmarks.tsx +++ b/src/components/Bookmarks.tsx @@ -230,6 +230,7 @@ const Bookmarks: React.FC = ({ useArticleLoader({ naddr, relayPool, + eventStore, setSelectedUrl, setReaderContent, setReaderLoading, diff --git a/src/main.tsx b/src/main.tsx index 5fd294de..fa9cb289 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -5,45 +5,35 @@ import './styles/tailwind.css' import './index.css' import 'react-loading-skeleton/dist/skeleton.css' -// Service Worker behavior -if ('serviceWorker' in navigator) { - // In dev, make sure no stale SW controls the page - if (import.meta.env.DEV) { - navigator.serviceWorker.getRegistrations().then(regs => { - regs.forEach(reg => reg.unregister()) - }) - } - - // Register SW only in production builds - if (import.meta.env.PROD) { - window.addEventListener('load', () => { - navigator.serviceWorker - .register('/sw.js') // classic SW; built asset is not a module - .then(registration => { - // Check for updates periodically - setInterval(() => { - registration.update() - }, 60 * 60 * 1000) // Check every hour - - // Handle service worker updates - registration.addEventListener('updatefound', () => { - const newWorker = registration.installing - if (newWorker) { - newWorker.addEventListener('statechange', () => { - if (newWorker.state === 'installed' && navigator.serviceWorker.controller) { - // New service worker available - const updateAvailable = new CustomEvent('sw-update-available') - window.dispatchEvent(updateAvailable) - } - }) - } - }) +// Register Service Worker for PWA functionality (production only) +if ('serviceWorker' in navigator && import.meta.env.PROD) { + window.addEventListener('load', () => { + navigator.serviceWorker + .register('/sw.js') + .then(registration => { + // Check for updates periodically + setInterval(() => { + registration.update() + }, 60 * 60 * 1000) // Check every hour + + // Handle service worker updates + registration.addEventListener('updatefound', () => { + const newWorker = registration.installing + if (newWorker) { + newWorker.addEventListener('statechange', () => { + if (newWorker.state === 'installed' && navigator.serviceWorker.controller) { + // New service worker available + const updateAvailable = new CustomEvent('sw-update-available') + window.dispatchEvent(updateAvailable) + } + }) + } }) - .catch(error => { - console.error('❌ Service Worker registration failed:', error) - }) - }) - } + }) + .catch(error => { + console.error('❌ Service Worker registration failed:', error) + }) + }) } ReactDOM.createRoot(document.getElementById('root')!).render(