diff --git a/web/src/main.tsx b/web/src/main.tsx index 57cf86b5..6026c031 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -4,20 +4,18 @@ import { App } from './App' import './index.css' import { registerSW } from 'virtual:pwa-register' -const updateSW = registerSW({ - onNeedRefresh() { - if (confirm('New version available! Reload to update?')) { - updateSW(true) - } - }, +registerSW({ + immediate: true, onOfflineReady() { console.log('App ready for offline use') }, onRegistered(registration) { if (registration) { - setInterval(() => { - registration.update() - }, 60 * 60 * 1000) + document.addEventListener('visibilitychange', () => { + if (document.visibilityState === 'visible') { + registration.update() + } + }) } }, onRegisterError(error) { diff --git a/web/vite.config.ts b/web/vite.config.ts index da7ce5bb..c0527a7b 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -44,6 +44,8 @@ export default defineConfig({ ] }, workbox: { + skipWaiting: true, + clientsClaim: true, globPatterns: ['**/*.{js,css,html,ico,png,svg,woff,woff2}'], runtimeCaching: [ {