summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/app.js2
-rw-r--r--worker.js18
2 files changed, 17 insertions, 3 deletions
diff --git a/js/app.js b/js/app.js
index f2774f2..1daa689 100644
--- a/js/app.js
+++ b/js/app.js
@@ -100,7 +100,7 @@ const App = {
if (event.data == 'client-reload') {
localforage.setItem("epube.cache-timestamp", App.last_mtime);
localforage.setItem("epube.cache-version", App.version);
- window.location.reload()
+ window.location.reload();
}
});
diff --git a/worker.js b/worker.js
index 73024fd..84975dc 100644
--- a/worker.js
+++ b/worker.js
@@ -16,6 +16,18 @@ self.addEventListener('activate', function(event) {
);
});
+async function clear_all_caches() {
+ console.log('clearing local cache...');
+
+ const all_caches = await caches.keys();
+
+ all_caches.forEach((cache) => {
+ caches.delete(cache);
+ });
+
+ console.log('cache cleared');
+}
+
function send_message(client, msg) {
client.postMessage(msg);
}
@@ -28,11 +40,13 @@ function send_broadcast(msg) {
})
}
-self.addEventListener('message', function(event){
+self.addEventListener('message', async function(event){
console.log('got message', event.data);
if (event.data.msg == 'refresh-cache') {
- console.log("refreshing cache...", event);
+ await clear_all_caches();
+
+ console.log("cleared, refreshing cache...", event);
send_broadcast('refresh-started');