Service Worker: Fix freezing on new version

This commit is contained in:
Alexander Zinchuk 2021-08-19 03:16:33 +03:00
parent d7fb48ffe4
commit d54369c33a

View File

@ -23,8 +23,8 @@ self.addEventListener('activate', (e) => {
console.log('ServiceWorker activated'); console.log('ServiceWorker activated');
} }
// Become available to all pages
e.waitUntil(clearAssetCache()); e.waitUntil(clearAssetCache());
// Become available to all pages
e.waitUntil(self.clients.claim()); e.waitUntil(self.clients.claim());
}); });
@ -32,23 +32,17 @@ self.addEventListener('activate', (e) => {
self.addEventListener('fetch', (e: FetchEvent) => { self.addEventListener('fetch', (e: FetchEvent) => {
const { url } = e.request; const { url } = e.request;
if (url.includes('_websync_')) { if (url.includes('/progressive/')) {
return false; e.respondWith(respondForProgressive(e));
return true;
} }
e.respondWith((() => { if (url.startsWith('http') && url.match(ASSET_CACHE_PATTERN)) {
if (url.includes('/progressive/')) { e.respondWith(respondWithCache(e));
return respondForProgressive(e); return true;
} }
if (url.startsWith('http') && url.match(ASSET_CACHE_PATTERN)) { return false;
return respondWithCache(e);
}
return fetch(e.request);
})());
return true;
}); });
self.addEventListener('push', handlePush); self.addEventListener('push', handlePush);