diff options
-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'); |