diff --git a/pwabuilder-sw.js b/pwabuilder-sw.js index c78da6cb..0695fe5e 100644 --- a/pwabuilder-sw.js +++ b/pwabuilder-sw.js @@ -4,7 +4,7 @@ // App version number - ENSURE IT MATCHES VALUE IN init.js // DEV: Changing this will cause the browser to recognize that the Service Worker has changed, and it will download and // install a new copy -const appVersion = '1.1.4-RP1'; +const appVersion = '1.1.4-RP2'; // Kiwix ZIM Archive Download Server in regex form // DEV: The server URL is defined in init.js, but is not available to us in SW @@ -57,6 +57,7 @@ const precacheFiles = [ "www/img/icons/map_marker-18px.png", "www/img/spinner.gif", "www/index.html", + "www/article.html", "www/js/app.js", "www/js/init.js", "www/js/lib/bootstrap.js", @@ -106,10 +107,17 @@ self.addEventListener("install", function (event) { }); if (!excludedURLSchema.test(requests[0].url)) event.waitUntil( caches.open(CACHE).then(function (cache) { - console.log("[SW] Caching pages during install"); - return cache.addAll(requests).then().catch(function(err) { - console.error('There was an error precaching the app because', err); - }); + return Promise.all( + requests.map(function (request) { + return fetch(request).then(function (response) { + // Fail on 404, 500 etc + if (!response.ok) throw Error('Could not fetch ' + request.url); + return cache.put(request.url.replace(/\?v[^?/]+$/, ''), response); + }).catch(function (err) { + console.error("There was an error pre-caching files", err); + }); + }) + ); }) ); }); diff --git a/www/js/init.js b/www/js/init.js index 97203ff4..fef38c23 100644 --- a/www/js/init.js +++ b/www/js/init.js @@ -49,7 +49,7 @@ var params = {}; */ var appstate = {}; /******** UPDATE VERSION IN pwabuilder-sw.js TO MATCH VERSION *******/ -params['version'] = "1.1.4-RP1"; //DEV: Manually update this version when there is a new release: it is compared to the Settings Store "version" in order to show first-time info, and the cookie is updated in app.js +params['version'] = "1.1.4-RP2"; //DEV: Manually update this version when there is a new release: it is compared to the Settings Store "version" in order to show first-time info, and the cookie is updated in app.js /******* UPDATE THIS ^^^^^^ IN serveice worker!! ********************/ params['packagedFile'] = "wikipedia_en_100_maxi.zim"; //For packaged Kiwix JS (e.g. with Wikivoyage file), set this to the filename (for split files, give the first chunk *.zimaa) and place file(s) in default storage params['archivePath'] = "archives"; //The directory containing the packaged archive(s) (relative to app's root directory)