From 883f2bc0f90bdc0d51d15948e9db4e5eaf51de3c Mon Sep 17 00:00:00 2001 From: Danny Coates Date: Thu, 5 Sep 2019 19:04:03 -0700 Subject: [PATCH] wait until serviceWorker activate to precache --- app/serviceWorker.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/app/serviceWorker.js b/app/serviceWorker.js index d334e19b..bc824e2d 100644 --- a/app/serviceWorker.js +++ b/app/serviceWorker.js @@ -13,12 +13,12 @@ const VERSIONED_ASSET = /\.[A-Fa-f0-9]{8}\.(js|css|png|svg|jpg)$/; const DOWNLOAD_URL = /\/api\/download\/([A-Fa-f0-9]{4,})/; const FONT = /\.woff2?$/; -self.addEventListener('install', event => { - event.waitUntil(precache()); +self.addEventListener('install', () => { + self.skipWaiting(); }); self.addEventListener('activate', event => { - event.waitUntil(self.clients.claim().then(cleanCache)); + event.waitUntil(self.clients.claim().then(precache)); }); async function decryptStream(id) { @@ -84,10 +84,15 @@ async function decryptStream(id) { } async function precache() { - const cache = await caches.open(version); - const images = assets.match(IMAGES); - await cache.addAll(images); - return self.skipWaiting(); + try { + await cleanCache(); + const cache = await caches.open(version); + const images = assets.match(IMAGES); + await cache.addAll(images); + } catch (e) { + console.error(e); + // cache will get populated on demand + } } async function cleanCache() {