Cambios Realizados Service Worker (public/service-worker.js) ❌ Removido skipWaiting() automático en install ❌ Removido claim() automático en activate ✅ Solo se activa cuando recibe mensaje SKIP_WAITING del usuario App.jsx ✅ Modal se muestra cuando hay actualización ✅ Nueva versión se instala en segundo plano ⏸️ Espera confirmación del usuario ✅ Solo actualiza cuando el usuario presiona el botón ✅ Protección contra recargas múltiples (refreshing flag) Flujo Actualizado Deploy de nueva versión (ej: v1.0.89) Usuario abre la app con versión antigua (v1.0.88) Service Worker detecta nueva versión Descarga en segundo plano la nueva versión Modal aparece → "¡Nueva Actualización!" ⏸️ La app sigue funcionando normalmente 👆 Usuario presiona "🚀 ACTUALIZAR AHORA" Service Worker se activa (skipWaiting) Página se recarga automáticamente ✅ Nueva versión activa Ventajas ✅ Usuario tiene control total ✅ No interrumpe trabajo en curso ✅ Puede terminar inspección antes de actualizar ✅ Modal bloqueante asegura que eventualmente actualice ✅ Actualización instantánea al presionar botón Ahora el usuario DEBE presionar el botón para actualizar! 🎯
29 lines
663 B
JSON
29 lines
663 B
JSON
{
|
|
"name": "checklist-frontend",
|
|
"private": true,
|
|
"version": "1.0.89",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"react": "^18.2.0",
|
|
"react-dom": "^18.2.0",
|
|
"react-router-dom": "^6.21.1",
|
|
"axios": "^1.6.5",
|
|
"react-signature-canvas": "^1.0.6",
|
|
"lucide-react": "^0.303.0",
|
|
"clsx": "^2.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^18.2.48",
|
|
"@types/react-dom": "^18.2.18",
|
|
"@vitejs/plugin-react": "^4.2.1",
|
|
"autoprefixer": "^10.4.16",
|
|
"postcss": "^8.4.33",
|
|
"tailwindcss": "^3.4.1",
|
|
"vite": "^5.0.11"
|
|
}
|
|
} |