/* ── IPFS Portal Service Worker ── * Minimal offline cache for static assets. * Auto-generated — do not edit manually. */ const CACHE = 'ipfs-portal-v1'; const PRECACHE = ['/', '/manifest.json', '/favicon.svg']; self.addEventListener('install', (e) => { e.waitUntil( caches.open(CACHE).then((c) => c.addAll(PRECACHE)).then(() => self.skipWaiting()), ); }); self.addEventListener('activate', (e) => { e.waitUntil( caches.keys().then((keys) => Promise.all(keys.filter((k) => k !== CACHE).map((k) => caches.delete(k)))), ); }); self.addEventListener('fetch', (e) => { if (e.request.method !== 'GET') return; e.respondWith( caches.match(e.request).then((cached) => cached || fetch(e.request).then((res) => { if (res.ok && res.url.startsWith(self.location.origin)) { const clone = res.clone(); caches.open(CACHE).then((c) => c.put(e.request, clone)); } return res; })), ); });