Sistema de Actualización PWA Implementado (v1.0.87)

Frontend (v1.0.87)
Service Worker (public/service-worker.js)
 Cache versionado dinámico: ayutec-v1.0.87
 Estrategia Network-First con fallback a cache
 Auto-limpieza de caches antiguos en activación
 Skip waiting para activación inmediata
 Soporte para mensaje SKIP_WAITING desde cliente
Detección de Actualizaciones (App.jsx)
 Registro automático de Service Worker
 Listener de updatefound para detectar nuevas versiones
 Listener de controllerchange para recarga automática
 Estado updateAvailable y waitingWorker
Modal de Actualización
 Diseño grande y llamativo con animación bounce
 Overlay bloqueante (z-index 9999, no se puede cerrar)
 Botón enorme: "🚀 ACTUALIZAR AHORA"
 Gradiente indigo/purple, responsive
 Texto claro: "Nueva versión disponible"
 Recarga automática al actualizar
PWA Manifest (site.webmanifest)
 Agregado start_url y scope
 Configurado orientation: portrait
 Display standalone para app nativa
HTML Metatags (index.html)
 theme-color para barra de navegación
 apple-mobile-web-app-capable para iOS
 mobile-web-app-capable para Android
 Viewport con user-scalable=no para PWA
Automatización
 Script PowerShell update-version.ps1:
Incrementa versión automáticamente (patch)
Actualiza package.json
Actualiza service-worker.js
Sincroniza ambos archivos
 Guía completa PWA-UPDATE-GUIDE.md
Flujo de Actualización
Desarrollador ejecuta update-version.ps1
Build y deploy de nueva versión
Usuario abre la app
Service Worker detecta nueva versión
Modal aparece automáticamente bloqueando UI
Usuario presiona "ACTUALIZAR AHORA"
Service Worker se activa
Página se recarga automáticamente
Usuario usa nueva versión
Backend (v1.0.84)
Sin cambios
Ahora la PWA se actualiza automáticamente mostrando un modal imposible de ignorar! 🚀📱
This commit is contained in:
2025-11-30 23:11:33 -03:00
parent 45ad650bac
commit a692948a6f
7 changed files with 367 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
{
"name": "checklist-frontend",
"private": true,
"version": "1.0.86",
"version": "1.0.87",
"type": "module",
"scripts": {
"dev": "vite",