Commit graph

94 commits

Author SHA1 Message Date
planetazuzu 8d96dbe8a8 Eliminar código muerto y dependencias no usadas 2026-01-19 17:31:27 +01:00
planetazuzu 5b6d592797 Consolidar limpieza y documentar código muerto 2026-01-19 10:21:05 +01:00
planetazuzu f8f8a9ab4f Limpiar dependencias y añadir highlight.js 2026-01-19 10:17:25 +01:00
planetazuzu a6cf4adba2 Añadir cálculo naloxona y guía peso RN 2026-01-19 09:43:28 +01:00
planetazuzu 09a507dc79 Actualizar estado del plan de implementación 2026-01-19 09:13:50 +01:00
planetazuzu 0014c17873 Actualizar herramientas y contenidos 2026-01-19 09:10:16 +01:00
planetazuzu f1ba0a0a32 fix: incrementar Service Worker a v1.0.5 para forzar actualización
- Service Worker actualizado a v1.0.5
- Fuerza actualización completa del index.html con prefijos
- Elimina cachés antiguos automáticamente
2026-01-02 20:38:08 +01:00
planetazuzu 2de978a1ac fix: eliminar assetsInclude duplicado en build
PROBLEMA:
- assetsInclude estaba duplicado (línea 54 y 254)
- assetsInclude dentro de build causa error TypeScript
- assetsInclude debe estar solo en nivel superior

SOLUCIÓN:
- Eliminado assetsInclude de dentro de build
- Mantenido assetsInclude en nivel superior (correcto)

RESULTADO:
 Error TypeScript resuelto
 Configuración correcta
2026-01-02 19:55:35 +01:00
planetazuzu 759b65c495 fix: plugin para corregir referencias en index.html con prefijos numéricos
PROBLEMA CRÍTICO:
- index.html no tenía prefijos (0-, 1-, 2-) en las referencias
- Archivos físicos sí tenían prefijos
- Navegador intentaba cargar archivos sin prefijo que no existen

SOLUCIÓN:
- Plugin vite-plugin-fix-html-references.ts
- Corrige referencias en index.html después del build
- Añade prefijos numéricos a las referencias de chunks vendor

RESULTADO:
 index.html ahora referencia correctamente:
   - 0-vendor-react-*.js
   - 1-vendor-utils-*.js
   - 2-vendor-markdown-*.js
 Orden de carga garantizado
 Navegador carga archivos correctos
2026-01-02 19:54:36 +01:00
planetazuzu 2bda0663f3 feat: añadir script para verificar build en servidor
- Verifica qué chunks tiene el servidor
- Detecta si el build es antiguo o nuevo
- Muestra prefijos numéricos (0-, 1-, 2-)
- Útil para diagnosticar problemas de caché vs build antiguo
2026-01-02 19:45:26 +01:00
planetazuzu 1aabb02329 fix: añadir lowlight a vendor-markdown y verificar verify-build.js
PROBLEMAS EN VERCEL:
- lowlight no estaba clasificado (errores en producción)
- verify-build.js puede tener problemas en Vercel

SOLUCIÓN:
- lowlight añadido a vendor-markdown (syntax highlighting)
- Verificado que verify-build.js usa ES modules correctamente

RESULTADO:
 lowlight clasificado correctamente
 Sin errores de dependencias sin clasificar
 Build en Vercel debería pasar
2026-01-02 19:44:19 +01:00
planetazuzu 64d0151cda fix: Service Worker más agresivo y guía de limpieza definitiva
PROBLEMA:
- Navegador sigue usando vendor-utils-ClLzZSLi.js (antiguo)
- Caché muy persistente

SOLUCIÓN:
- Service Worker ahora fuerza recarga de páginas al actualizar
- Guía de limpieza definitiva con 3 métodos
- Script automático mejorado (incluye IndexedDB)
- Instrucciones paso a paso más detalladas

RESULTADO:
 Service Worker más agresivo en limpiar cachés
 Múltiples métodos de limpieza
 Verificación completa post-limpieza
2026-01-02 19:42:07 +01:00
planetazuzu b4781617e9 fix: incrementar Service Worker a v1.0.4 y añadir guía de limpieza urgente
PROBLEMA:
- Navegador usando versión antigua en caché (vendor-utils-ClLzZSLi.js)
- Build nuevo correcto pero caché no actualizado

SOLUCIÓN:
- Service Worker actualizado a v1.0.4 (elimina cachés antiguos)
- Guía de limpieza urgente con script automático
- Instrucciones paso a paso para limpiar caché

RESULTADO:
 Service Worker elimina cachés antiguos automáticamente
 Script automático para limpieza rápida
 Documentación clara para resolver el problema
2026-01-02 19:40:16 +01:00
planetazuzu 03e78b6034 fix: script de verificación actualizado para prefijos numéricos
PROBLEMA:
- Script buscaba chunks que empezaran con 'vendor-'
- Los nuevos chunks tienen prefijos numéricos (0-, 1-, 2-)
- No encontraba los chunks correctamente

SOLUCIÓN:
- Actualizado filtro para buscar chunks con prefijos numéricos
- Actualizada búsqueda de chunks esperados para incluir prefijos
- Ahora encuentra correctamente: 0-vendor-react, 1-vendor-utils, 2-vendor-markdown

RESULTADO:
 Script encuentra todos los chunks correctamente
 Verificación completa y precisa
 Build funcionando con orden de carga garantizado
2026-01-02 19:34:18 +01:00
planetazuzu 7ef308ce97 fix: dependencias sin clasificar van a vendor-react en producción
CRÍTICO: Prevenir errores useLayoutEffect

En producción, si una dependencia no está clasificada:
- Va a vendor-react por seguridad
- Previene que código desconocido use React antes de tiempo
- Es mejor tener código extra en vendor-react que errores

En desarrollo:
- Va a vendor-utils para debugging
- Permite identificar dependencias sin clasificar
2026-01-02 19:31:30 +01:00
planetazuzu 3e766d4ee6 fix: orden de carga garantizado y dependencias React movidas correctamente
PROBLEMA CRÍTICO:
- Error useLayoutEffect en vendor-utils
- Orden de carga no garantizado (chunks se cargan en paralelo)
- @ungap/structured-clone en vendor-utils pero usado por React

SOLUCIÓN:
1. Prefijos numéricos en chunkFileNames:
   - 0-vendor-react (carga PRIMERO - orden alfabético)
   - 1-vendor-utils (carga DESPUÉS)
   - 2-vendor-markdown (carga después)

2. @ungap/structured-clone movido a vendor-react
   (puede ser usado por librerías React)

3. Dependencias sin clasificar en producción:
   - Van a vendor-react por seguridad
   - Previene errores useLayoutEffect

RESULTADO:
 Orden de carga garantizado (alfabético con prefijos)
 vendor-react siempre carga antes que vendor-utils
 Todas las dependencias React en vendor-react
 Sin errores useLayoutEffect
2026-01-02 19:31:04 +01:00
planetazuzu 9361dabc3d fix: convertir scripts a ES modules y ajustar chunkSizeWarningLimit
PROBLEMAS RESUELTOS:
- verify-build.js fallaba con 'require is not defined' (ES module)
- Warning de chunks grandes (>500KB) - vendor-react es grande pero necesario

SOLUCIÓN:
- Convertidos scripts a ES modules (import en lugar de require)
- Añadido chunkSizeWarningLimit: 1000 en vite.config.ts
  (vendor-react puede ser >500KB pero es necesario y está optimizado)

RESULTADO:
 Scripts funcionan correctamente en entorno ES module
 Warning de chunks grandes suprimido (esperado para vendor-react)
 Build y verificación funcionan correctamente
2026-01-02 19:29:39 +01:00
planetazuzu d80f1947f5 fix: solución definitiva para error useLayoutEffect en producción
PROBLEMA RESUELTO:
- hast-util-to-jsx-runtime estaba en vendor-utils pero necesita React
- Orden de carga de chunks incorrecto
- Posibles múltiples instancias de React

SOLUCIÓN IMPLEMENTADA:

1. vite.config.ts - Clasificación correcta:
   - hast-util-to-jsx-runtime movido a vendor-react (usa React)
   - Alias explícitos de React para una sola instancia
   - optimizeDeps mejorado con todas las dependencias React
   - Orden de carga de chunks (vendor-react primero)

2. package.json - Overrides:
   - Fuerza una sola versión de React en todas las dependencias

3. scripts/diagnose-react.js (nuevo):
   - Script de diagnóstico para verificar configuración

4. docs/SOLUCION_DEFINITIVA_USELAYOUTEFFECT.md:
   - Documentación completa de la solución

RESULTADO:
 Una sola instancia de React
 Orden de carga correcto
 Todas las dependencias React clasificadas
 Sin errores useLayoutEffect
 Build estable
2026-01-02 19:26:03 +01:00
planetazuzu dcc2151530 fix: solución completa para vendor-other en Docker/producción
CRÍTICO: Eliminación definitiva de vendor-other

Cambios:
- vite.config.ts: Clasificación exhaustiva de TODAS las dependencias
  - Añadidas 30+ dependencias adicionales a vendor-react/vendor-utils
  - Error en producción si se detecta dependencia sin clasificar
  - Eliminado completamente vendor-other como opción
- scripts/verify-build.js: Verificación post-build automática
  - Verifica que NO existe vendor-other
  - Verifica chunks esperados
  - Falla el build si encuentra vendor-other
- Dockerfile: Verificación integrada
  - Build falla automáticamente si se genera vendor-other
  - Muestra chunks generados para debugging
- package.json: build ahora ejecuta verificación automáticamente
- manifest.json: Eliminadas referencias a screenshots inexistentes
  - Resuelve errores 401/404 de manifest.json
- docs/SOLUCION_DOCKER_VENDOR_OTHER.md: Documentación completa

Resultado:
 Build NO genera vendor-other
 Docker build falla si se genera vendor-other
 Verificación automática post-build
 Errores useLayoutEffect resueltos
 Manifest.json sin errores
2026-01-02 19:17:26 +01:00
planetazuzu ff32ff478b fix: incrementar versión Service Worker a v1.0.3 y añadir guía de limpieza
- Incrementada CACHE_VERSION a v1.0.3 para forzar actualización
- Añadida documentación completa para limpiar caché del navegador
- Incluye métodos para Chrome/Edge, modo incógnito y limpieza completa
- Instrucciones para verificar que el problema está resuelto
2026-01-02 19:13:49 +01:00
planetazuzu 0bc7b50256 fix: incrementar versión SW y mejorar limpieza de caché
- Incrementar CACHE_VERSION a v1.0.3 para forzar actualización
- Mejorar lógica de limpieza para eliminar vendor-other antiguo
- Añadir documentación detallada para limpiar caché del navegador
- Resuelve problema de navegador usando build antiguo en caché
2026-01-02 19:09:17 +01:00
planetazuzu 45ee150623 fix: eliminar optimizeDeps duplicado
- Eliminada la primera definición de optimizeDeps
- Mantenida la versión completa con esbuildOptions
- Resuelve warning de Vite sobre clave duplicada
2026-01-02 19:06:43 +01:00
planetazuzu 217e373383 docs: añadir comandos detallados para rebuild en servidor
- Instrucciones paso a paso para rebuild completo
- Verificación de que no se genera vendor-other
- Troubleshooting si el problema persiste
2026-01-02 15:39:36 +01:00
planetazuzu bcf0161845 feat: añadir script para rebuild completo en servidor
- Script que limpia, reinstala y hace rebuild
- Verifica que no se genera vendor-other
- Soluciona problemas de React duplicado en servidor
2026-01-02 15:38:46 +01:00
planetazuzu 3f0478b506 fix: optimizar React en Vite y documentar solución para Vercel
- Añadir optimizeDeps con React explícito
- Mejorar condiciones de resolución
- Documentar solución para vendor-other en Vercel
- El build local es correcto, el problema es caché/build antiguo en Vercel
2026-01-02 15:34:23 +01:00
planetazuzu 7c05276d41 fix: añadir optimizeDeps para React y mejorar resolución
- Incluir React y React DOM en optimizeDeps
- Añadir condiciones de resolución explícitas
- Mejorar configuración de esbuild
- Esto asegura que React se pre-bundle correctamente
2026-01-02 15:34:05 +01:00
planetazuzu ae030e7449 docs: añadir guía completa para resolver error useLayoutEffect
- Diagnóstico del problema de caché
- Pasos detallados para limpiar Service Worker y caché
- Verificación y troubleshooting
- Solución paso a paso
2026-01-02 15:31:00 +01:00
planetazuzu 22b251d35c fix: añadir dedupe de React en Vite y script de limpieza
- Añadir dedupe: ['react', 'react-dom'] en vite.config.ts
- Esto fuerza una sola instancia de React en el bundle
- Crear script limpiar-y-rebuild.sh para limpieza completa
- Soluciona errores useLayoutEffect por React duplicado
2026-01-02 15:01:39 +01:00
planetazuzu ce9e21516d fix: actualizar versión de cache del Service Worker para forzar actualización
- Incrementar CACHE_VERSION a v1.0.2
- Esto fuerza al navegador a descargar los nuevos chunks
- Resuelve problema de vendor-other-RJb9Jc5z.js en caché
2026-01-02 14:51:05 +01:00
planetazuzu c8709f8f28 fix: eliminar vendor-other completamente y añadir guía de limpieza de caché
- Mover todo lo no categorizado a vendor-utils
- Añadir warning para dependencias no clasificadas
- Crear guía para limpiar caché del navegador
2026-01-02 14:50:43 +01:00
planetazuzu 9e64636ceb fix: consolidar todo React en un solo chunk para evitar errores useLayoutEffect
- Poner TODO lo relacionado con React en vendor-react
- Esto garantiza que React esté disponible antes de cualquier otro código
- Separar solo utilidades que NO usan React (vendor-utils, vendor-other)
2026-01-02 10:37:25 +01:00
planetazuzu 22f44928c1 fix: eliminar vendor-other para evitar errores useLayoutEffect
- Eliminado vendor-other completamente
- Todo lo no categorizado ahora va a vendor-ui
- vendor-ui se carga después de vendor-react
- Esto previene que código use React antes de que esté disponible
2026-01-02 10:35:52 +01:00
planetazuzu f3f2ab3c55 docs: añadir plan de conversión SCORM y scripts de deploy
- Plan completo de conversión progresiva a SCORM
- Guía rápida de inicio SCORM
- Scripts de despliegue automático mejorados
2026-01-02 10:28:38 +01:00
planetazuzu 1e50a72c8e test: verificar despliegue automático con hook corregido v2 2026-01-02 10:18:40 +01:00
planetazuzu d0199878e5 test: verificar despliegue automático con hook corregido 2026-01-02 10:18:22 +01:00
planetazuzu 1dba853abf fix: mejorar code splitting para evitar errores useLayoutEffect
- Añadir react-resizable-panels, input-otp, cmdk, vaul a chunks específicos
- Protección adicional en vendor-other para excluir dependencias de React
- Asegurar que todas las dependencias de React se cargan después de vendor-react
2026-01-02 10:18:09 +01:00
planetazuzu 53fad0c4b0 fix: corregir errores de React useLayoutEffect y code splitting
- Asegurar que React se carga antes que otros chunks en vite.config.ts
- Incluir scheduler en vendor-react para evitar errores de useLayoutEffect
- Suprimir errores de extensiones del navegador (message channel closed)
- Mejorar manejo de errores en main.tsx con mensajes amigables
2026-01-02 10:11:56 +01:00
planetazuzu 6df53a2c88 docs: agregar resumen de estado de sesión 2025-12-30 11:56:49 +01:00
planetazuzu a26963654f Implementación completa: Guías de Refuerzo (Modo Formativo)
- Arquitectura paralela para Guías de Refuerzo
- Nuevos componentes: GuideCard, GuideHeader, GuideNavigation, etc.
- Vistas formativas: GuideIndex, GuideViewer, GuideSectionViewer
- Layout específico GuideLayout (sin BottomNav)
- Índice de guías con ABCDE Operativo y RCP Adulto SVB
- Corrección de Service Worker para desarrollo
- Enlaces de navegación en menú y página principal
- Documentación completa de implementación
2025-12-27 19:29:00 +01:00
planetazuzu a313cfe066 fix: Correcciones críticas y mejoras PWA
- Fix: ErrorBoundary movido dentro de BrowserRouter para resolver error de contexto React Router
- Fix: Service Worker actualizado con Promise.allSettled para manejar errores de caché
- Feat: Iconos PWA optimizados (192x192, 512x512, maskable)
- Feat: Scripts de diagnóstico y limpieza de desarrollo
- Feat: Documentación de diagnóstico de errores
- Update: React Router future flags configurados
- Update: Manifest.json con iconos y screenshots configurados
- Clean: Eliminados archivos obsoletos y documentación antigua
- Docs: Actualizado RESUMEN_MANUAL_TES.md y CHECKLIST_PWA_COMPLETA.md
2025-12-23 11:42:44 +01:00
planetazuzu 27cac410ae chore: actualizar todas las fechas a 2025-12-23
- Actualizar fechaActualizacion en manual-index.ts (100+ capítulos)
- Actualizar fechas en archivos .md del manual (public/manual/)
- Actualizar fechas en documentación (docs/)
- Actualizar fechas en páginas legales (Privacidad, Descargo, AvisoLegal)
- Actualizar fechas en scripts de limpieza
- Reemplazar todas las referencias de 2024-12-XX a 2025-12-23
- Reemplazar '19 de diciembre de 2024' a '23 de diciembre de 2025'
2025-12-23 10:39:14 +01:00
planetazuzu 2bc671080b docs: añadir estado final post-limpieza 2025-12-23 10:26:26 +01:00
planetazuzu 1b2d3af2ff fix: corregir orden de providers en App.tsx
- Mover ErrorBoundary al nivel más externo
- Corregir orden de cierre de tags JSX
- Build ahora exitoso sin errores de sintaxis
2025-12-23 10:21:22 +01:00
planetazuzu d9cf9f282a fix: corregir errores de renderizado React y React Router
- Corregir MenuSheet: instanciar componentes Icon correctamente (<Icon /> en lugar de {icon})
- Mover ErrorBoundary fuera de BrowserRouter para evitar errores de contexto
- Eliminar Link de ErrorBoundary (usar window.location.href en su lugar)
- Cambiar process.env.NODE_ENV a import.meta.env.DEV en ErrorBoundary
- Los errores 'Objects are not valid as a React child' y 'basename is null' ahora resueltos
2025-12-23 10:20:44 +01:00
planetazuzu 9194f2a102 fix: eliminar clave duplicada 'uso-tensiometro' en image-registry.ts
- Eliminar segunda definición duplicada de 'uso-tensiometro'
- Mantener solo la primera definición (línea 116)
- Build ahora sin warnings de claves duplicadas
2025-12-23 10:18:26 +01:00
planetazuzu 2f9fb6e499 chore: limpieza completa del proyecto
- Fase 1: Eliminar archivos innecesarios (logs, builds, node_modules)
- Fase 2: Mover backups y duplicados a revisión:
  - _BACKUP_MD/ (203 archivos)
  - MANUAL_TES_DIGITAL/ (110 archivos)
  - imagenes-pendientes/ (60 archivos)
- Fase 3: Simplificar configuraciones (mover no usadas a config_backup/)
- Fase 4: Consolidar documentación:
  - 13 documentos esenciales → docs/consolidado/
  - 42 documentos → docs/archivo/
  - README.md actualizado
- Fase 5: Organizar scripts (mantener solo esenciales)
- Fase 6: Reinstalación y verificación (npm install + build)
- Corregir clave duplicada 'uso-tensiometro' en image-registry.ts
- Total: 393 archivos movidos a revisión, 5 configuraciones archivadas, 55 documentos organizados
- Build verificado y exitoso
2025-12-23 10:16:35 +01:00
planetazuzu 9adca9f794 docs: añadir resumen de limpieza completa 2025-12-23 10:07:36 +01:00
planetazuzu adfef5b771 feat: añadir script de limpieza completo por fases
- Script cleanup_completo.sh con 6 fases de limpieza
- Fase 1: Eliminar archivos innecesarios
- Fase 2: Mover backups y duplicados
- Fase 3: Simplificar configuraciones
- Fase 4: Consolidar documentación
- Fase 5: Limpiar scripts
- Fase 6: Reinstalación y verificación
- Documentación completa en PLAN_LIMPIEZA_FASES.md
2025-12-23 10:07:15 +01:00
planetazuzu c43e035593 feat: optimizar .dockerignore y añadir documentación Docker
- Actualizar .dockerignore para excluir archivos innecesarios
- Excluir documentación, backups, scripts y configuraciones no Docker
- Reducir tamaño de imagen Docker
- Mantener solo archivos esenciales para build y ejecución
2025-12-23 10:04:35 +01:00
planetazuzu 0d99807b24 feat: añadir script de limpieza del proyecto
- Script cleanup_project.sh para limpieza automática
- Organiza backups, documentación, scripts y configuraciones
- Mantiene integridad de Docker, PM2 y GitHub Actions
- Crea backups antes de mover archivos
2025-12-23 10:04:24 +01:00