Skip to content

Commit

Permalink
fix(service-worker): only register service-worker when available
Browse files Browse the repository at this point in the history
  • Loading branch information
PatrickJS committed May 6, 2024
1 parent 08d0137 commit 8d5aec6
Showing 1 changed file with 23 additions and 19 deletions.
42 changes: 23 additions & 19 deletions packages/qwik-city/runtime/src/sw-register.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,26 +30,30 @@ import type { QPrefetchData, QPrefetchMessage } from './service-worker/types';
}
});

navigator.serviceWorker
.register('__url')
.then((reg) => {
initServiceWorker = () => {
swReg = reg;
queuedEventDetails.forEach(sendPrefetch!);
sendPrefetch!({ bundles: queuedEventDetails });
};
if ('serviceWorker' in navigator) {
navigator.serviceWorker
.register('__url')
.then((reg) => {
initServiceWorker = () => {
swReg = reg;
queuedEventDetails.forEach(sendPrefetch!);
sendPrefetch!({ bundles: queuedEventDetails });
};

if (reg.installing) {
reg.installing.addEventListener('statechange', (ev: any) => {
if (ev.target.state == 'activated') {
initServiceWorker!();
}
});
} else if (reg.active) {
initServiceWorker!();
}
})
.catch((e) => console.error(e));
if (reg.installing) {
reg.installing.addEventListener('statechange', (ev: any) => {
if (ev.target.state == 'activated') {
initServiceWorker!();
}
});
} else if (reg.active) {
initServiceWorker!();
}
})
.catch((e) => console.error(e));
} else {
console.log('Service worker not supported in this browser.');
}
})([]);

interface QwikServiceWorker extends ServiceWorker {
Expand Down

0 comments on commit 8d5aec6

Please sign in to comment.