From a9a879d70a7ec8bc15ba80399dadbaa7c77fdcb2 Mon Sep 17 00:00:00 2001 From: Stefan Seifert Date: Sun, 19 Nov 2023 17:29:46 +0100 Subject: [PATCH] check for new PWA app version every 8h --- src/App.vue | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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') }