Merge branch 'lock-sw' into 'main'
Prevent a new ServiceWorker from being installed after the page loads See merge request soapbox-pub/soapbox!2862
This commit is contained in:
commit
f7aff70185
|
@ -25,11 +25,12 @@ import './styles/tailwind.css';
|
|||
|
||||
import './precheck';
|
||||
import ready from './ready';
|
||||
import { registerSW } from './utils/sw';
|
||||
import { registerSW, lockSW } from './utils/sw';
|
||||
|
||||
if (BuildConfig.NODE_ENV === 'production') {
|
||||
printConsoleWarning();
|
||||
registerSW('/sw.js');
|
||||
lockSW();
|
||||
}
|
||||
|
||||
ready(() => {
|
||||
|
|
|
@ -1,9 +1,16 @@
|
|||
/** Register the ServiceWorker. */
|
||||
function registerSW(path: string) {
|
||||
if ('serviceWorker' in navigator) {
|
||||
window.addEventListener('load', () => {
|
||||
navigator.serviceWorker.register(path, { scope: '/' });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/** Prevent a new ServiceWorker from being installed. */
|
||||
function lockSW() {
|
||||
if ('serviceWorker' in navigator) {
|
||||
navigator.serviceWorker.register = () => {
|
||||
throw new Error('ServiceWorker already registered.');
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -22,4 +29,5 @@ const unregisterSW = async(): Promise<void> => {
|
|||
export {
|
||||
registerSW,
|
||||
unregisterSW,
|
||||
lockSW,
|
||||
};
|
Loading…
Reference in New Issue