1const CACHE_NAME = 'edge-broken-bleed-v1'; 2const ASSETS = [ 3 '/', 4 '/manifest.json', 5 '/favicon.png', 6 '/og-square.png' 7]; 8 9self.addEventListener('install', (event) => { 10 event.waitUntil( 11 caches.open(CACHE_NAME).then((cache) => cache.addAll(ASSETS)) 12 ); 13 self.skipWaiting(); 14}); 15 16self.addEventListener('activate', (event) => { 17 event.waitUntil( 18 caches.keys().then((cacheNames) => { 19 return Promise.all( 20 cacheNames.map((cacheName) => { 21 if (cacheName !== CACHE_NAME) { 22 return caches.delete(cacheName); 23 } 24 }) 25 ); 26 }) 27 ); 28 self.clients.claim(); 29}); 30 31self.addEventListener('fetch', (event) => { 32 if (event.request.mode === 'navigate') { 33 event.respondWith( 34 fetch(event.request).catch(() => caches.match('/')) 35 ); 36 return; 37 } 38 event.respondWith( 39 caches.match(event.request).then((response) => { 40 return response || fetch(event.request); 41 }) 42 ); 43});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.