diff --git a/src/App.vue b/src/App.vue index 65817a4..0acc233 100644 --- a/src/App.vue +++ b/src/App.vue @@ -56,6 +56,7 @@ import ModalDialog from 'brdgm-commons/src/components/structure/ModalDialog.vue' import { version, description } from '@/../package.json' import { registerSW } from 'virtual:pwa-register' import { showModalIfExist } from 'brdgm-commons/src/util/modal/showModal' +import onRegisteredSWCheckForUpdate from 'brdgm-commons/src/util/serviceWorker/onRegisteredSWCheckForUpdate' export default defineComponent({ name: 'App', @@ -77,8 +78,13 @@ export default defineComponent({ }) const store = useStore() - // PWA refresh + // handle PWA updates with prompt if a new version is detected, check every 8h for a new version + const checkForNewVersionsIntervalSeconds = 8 * 60 * 60 const updateServiceWorker = registerSW({ + // check for new app version, see https://vite-pwa-org.netlify.app/guide/periodic-sw-updates.html + onRegisteredSW(swScriptUrl : string, registration? : ServiceWorkerRegistration) { + onRegisteredSWCheckForUpdate(swScriptUrl, registration, checkForNewVersionsIntervalSeconds) + }, onNeedRefresh() { showModalIfExist('serviceWorkerUpdatedRefresh') }