Skip to content

Commit 0dcf4b3

Browse files
CLEAR_FETCH_CACHE fixed.
1 parent c156973 commit 0dcf4b3

File tree

3 files changed

+25
-0
lines changed

3 files changed

+25
-0
lines changed

src/client/initMatrix.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import EventEmitter from 'events';
22
import * as sdk from 'matrix-js-sdk';
33

44
import Olm from '@matrix-org/olm';
5+
6+
import { clearFetchPwaCache } from '@src/util/pwa/installer';
57
import storageManager from '@src/util/libs/Localstorage';
68
import MxcUrl from '@src/util/libs/MxcUrl';
79

@@ -256,6 +258,7 @@ class InitMatrix extends EventEmitter {
256258
}
257259

258260
clearCacheAndReload() {
261+
clearFetchPwaCache();
259262
this.matrixClient.stopClient();
260263
this.matrixClient.store.deleteAllData().then(() => {
261264
if (global.tinyJsonDB && typeof global.tinyJsonDB.clearCacheData === 'function') {

src/util/pwa/installer.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ export function isUsingPWA() {
6868
return usingPWA;
6969
}
7070

71+
export function clearFetchPwaCache() {
72+
if ('serviceWorker' in navigator || 'ServiceWorker' in navigator) {
73+
navigator.serviceWorker.controller.postMessage({
74+
type: 'CLEAR_FETCH_CACHE',
75+
});
76+
}
77+
}
78+
7179
export function installPWA() {
7280
if ('serviceWorker' in navigator || 'ServiceWorker' in navigator) {
7381
// Get Items

src/util/pwa/service-worker.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,17 @@ self.addEventListener('fetch', function (event) {
162162

163163
event.respondWith(proxyRequest(caches, request));
164164
});
165+
166+
self.addEventListener('message', (event) => {
167+
if (event.data && event.data.type === 'CLEAR_FETCH_CACHE') {
168+
event.waitUntil(
169+
caches.keys().then(function (cacheNames) {
170+
return Promise.all(
171+
cacheNames.map(function (cacheName) {
172+
return caches.delete(cacheName);
173+
}),
174+
);
175+
}),
176+
);
177+
}
178+
});

0 commit comments

Comments
 (0)