You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(shell): webapp-shell adoption + black-screen-on-deploy fix
Fix pantalla negra tras despliegue (bug reportado en todas las apps):
- lazyRetry: React.lazy recarga una vez por sesion si el chunk viejo ya no existe
- ErrorBoundary global: tarjeta con boton recargar en vez de pantalla negra
- updatecheck: banner 'nueva version desplegada' al detectar cambio en /api/version (poll 10min + visibilitychange)
- spaHandler: Cache-Control no-cache para index.html/sw.js, immutable para /assets/
Adopcion webapp-shell:
- sidebar colapsable manual a rail 64px (persiste easyzfs-sidebar-collapsed) con pie: usuario clicable + Ajustes + plegar
- Ajustes accesible a todos los usuarios (zona admin con tinte sutil); bottomnav movil incluye Ajustes
- Apariencia: switch reducir animaciones (clase html.reduce-motion)
- Acerca de: comprobar actualizaciones contra GitHub releases (GET anonima solo al pulsar), changelog enlaza a releases, instalar PWA oculto si el navegador no lo soporta
- Login: guardado de credencial con Credential Management API
- users.language en BD (migracion v11) como fuente de verdad del idioma: GET /api/me devuelve language, PUT /api/me/language propio, PUT /api/users/{name}/language (admin) + desplegable por usuario en Ajustes
- claves localStorage canonicas easyzfs-* con migracion desde las legacy zfc-* (tema, acento, densidad, idioma) en boot anti-FOUC y providers
Verificado: go build/vet/test OK, tsc OK, npm build OK, Playwright 17/17 (colapso persistente, pie, reduce-motion, zona admin, idioma por usuario, bottomnav) contra server DEMO local