diff options
author | Andrew Dolgov <[email protected]> | 2024-01-12 22:26:13 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2024-01-12 22:26:13 +0300 |
commit | 9b5e351076387887b91044b29ab48555bc7c56e3 (patch) | |
tree | 9e1d8250cd00d2d67b5b18d383e1ed6506b8fbbe | |
parent | d31fcb72cc6f6b2d1d798a75ff62d06c4dcd0cb4 (diff) |
exp: worker clear all caches before refreshclear-all-caches
-rw-r--r-- | js/app.js | 2 | ||||
-rw-r--r-- | worker.js | 18 |
2 files changed, 17 insertions, 3 deletions
@@ -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(); } }); @@ -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'); |