Fix serviceworker handling

This commit is contained in:
Kevin Kandlbinder 2022-05-04 16:28:12 +02:00
parent bd36ee221c
commit 5344dc3422
2 changed files with 14 additions and 12 deletions

View file

@ -1,6 +1,6 @@
{ {
"name": "kevins-data-toolbox", "name": "kevins-data-toolbox",
"version": "2.4.5", "version": "2.4.6",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@loadable/component": "^5.15.0", "@loadable/component": "^5.15.0",

View file

@ -13,18 +13,20 @@ let eventListeners: Map<events, ((ev: Event) => void)[]> = new Map<events, ((ev:
let pendingUpdate = false; let pendingUpdate = false;
navigator.serviceWorker.getRegistration().then((reg) => { if('serviceWorker' in navigator) {
if(reg && reg.waiting) { navigator.serviceWorker.getRegistration().then((reg) => {
pendingUpdate = true; if(reg && reg.waiting) {
let handlers = eventListeners.get(events.updateAvailable) || []; pendingUpdate = true;
let handlers = eventListeners.get(events.updateAvailable) || [];
handlers.forEach((func) => {
func({ handlers.forEach((func) => {
type: events.updateAvailable func({
type: events.updateAvailable
});
}); });
}); }
} })
}) }
const broadcast = new BroadcastChannel('sw-updates'); const broadcast = new BroadcastChannel('sw-updates');