summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.php2
-rw-r--r--js/index.js1
-rw-r--r--worker.js31
3 files changed, 10 insertions, 24 deletions
diff --git a/index.php b/index.php
index 32e611a..1b39ecb 100644
--- a/index.php
+++ b/index.php
@@ -164,6 +164,8 @@
}
if (event.data == 'client-reload') {
+ const ts = parseInt(new Date().getTime()/1000);
+ localforage.setItem("epube.cache-timestamp", ts);
window.location.reload()
}
diff --git a/js/index.js b/js/index.js
index 2ec8508..bf892be 100644
--- a/js/index.js
+++ b/js/index.js
@@ -15,7 +15,6 @@ function cache_refresh(force) {
if (navigator.serviceWorker.controller) {
navigator.serviceWorker.controller.postMessage("refresh-cache");
- localforage.setItem("epube.cache-timestamp", ts);
} else {
localforage.getItem("epube.initial-load-done").then(function(done) {
diff --git a/worker.js b/worker.js
index 7ae7724..65e12f4 100644
--- a/worker.js
+++ b/worker.js
@@ -75,40 +75,25 @@ self.addEventListener('message', function(event){
send_broadcast('refresh-started');
- caches.open(CACHE_NAME).then(function(cache) {
- const promises = [];
+ return caches.open(CACHE_NAME).then(function(cache) {
- for (let i = 0; i < CACHE_URLS.length; i++) {
+ Promise.all(CACHE_URLS.map((url) => {
+ return fetch(url + "?ts=" + Date.now()).then((resp) => {
+ console.log('got', resp.url, resp);
- if (CACHE_URLS[i].match("backend.php"))
- continue;
-
- const fetch_url = CACHE_URLS[i] + "?ts=" + Date.now();
-
- const promise = fetch(fetch_url).then(function(resp) {
- const url = new URL(resp.url);
- url.searchParams.delete("ts");
-
- console.log('got', url);
-
- send_broadcast('refreshed:' + url);
+ send_broadcast('refreshed:' + resp.url);
if (resp.status == 200) {
- cache.put(url, resp);
+ return cache.put(url, resp);
} else if (resp.status == 404) {
- cache.delete(url);
+ return cache.delete(url);
}
});
- promises.push(promise);
-
- }
-
- Promise.all(promises).then(function() {
+ })).then(function() {
console.log('all done');
send_broadcast('client-reload');
});
-
});
}
});