Skip to content

Release Notes - v5.0.3 🚀

28 de mayo de 2026

Esta versión de parche (v5.0.3) introduce la parametrización de la expiración de sesión a través de constantes globales y servicios de configuración, y corrige un error de carga infinita en la barra de navegación al existir referencias inactivas de organización. En POQTROL, se integra el botón de subida de archivos dentro de los campos de formulario. En Labcare Cloud, se optimiza la validación y gestión de turnos junto a la modernización del conversor de datos. En Mi proceso, se añade el envío de correos de bienvenida para MIPROCESO y se asegura la persistencia de filtros de búsqueda.


🌐 General

Expiración de Sesión (Session Timeout) (#1095)

  • Servicio y Configuración:
    • Adición de un servicio para configurar el tiempo de expiración de sesión de forma dinámica en el proyecto.
    • Inclusión del campo de tiempo de expiración de sesión en la configuración de productos del sistema.
    • Extracción de la expiración por defecto a una constante global compartida.
  • Validaciones y Pruebas:
    • Adición de pruebas unitarias para session-timeout.service.
    • Corrección y endurecimiento de las validaciones de entrada de datos para evitar valores nulos, nulos por defecto o inválidos.
    • Adición de validaciones robustas ante fallas de navegación de rutas.

Barra de Navegación (Navbar) (#1196, #1197)

  • Estabilidad ante Organizaciones Inválidas:
    • Prevención de la carga infinita e inestabilidad general de la aplicación cuando el rol de organización del usuario apunta a una referencia huérfana o inaccesible.
    • Exclusión automática de las organizaciones no resueltas de los roles activos del usuario.
    • Implementación de un flujo de salida segura (sign-out) con la alerta NO_ORGS_CUSTOMERS_E en caso de que ninguna de las organizaciones asignadas cuente con una membresía válida o activa.

📈 POQTROL

Formulario de Carga de Archivos (#1205)

  • Mejoras de UI/UX:
    • Reubicación del botón de subida de archivos como un icono de sufijo dentro de un contenedor estándar mat-form-field.

🧪 Labcare Cloud

Conversor y Validación de Turnos (#1206)

  • Gestión de Turnos:
    • Corrección y ajuste en las validaciones de turnos dentro del conversor de datos.
    • Adición de validaciones y de un mensaje informativo cuando no hay turnos configurados pero el uso de turnos está activo.
    • Corrección de errores por lectura de propiedades no definidas (undefined).
  • Refactorización y Modernización:
    • Modernización en el control de inputs y lógica de filtrado del componente DataMappingConversor utilizando @ViewChild e interoperabilidad con RxJS.

📋 Mi proceso

Activación de Cuentas y Onboarding (#1178, #1202)

  • Flujo de Notificación de MIPROCESO:
    • Integración de MIPROCESO en la función onCreateSendEmail para generar un enlace de restablecimiento de contraseña (activación) usando auth.generatePasswordResetLink y enviar el correo de bienvenida usando la plantilla welcome_miproceso_template.
    • Salvaguardas defensivas para omitir el envío y registrar el incidente en caso de que falte el correo de usuario o el nombre de la organización.
    • Actualización del mensaje de error de credenciales no válidas en el inicio de sesión para guiar a los nuevos usuarios no activados a activar su cuenta por correo o mediante la opción "¿Olvidaste la contraseña?".

Persistencia del Filtro de Búsqueda (#1175, #1199)

  • Mantenimiento del Estado de Búsqueda:
    • Persistencia del término de búsqueda de "Mis Procesos" tras reconstrucciones de la lista de datos (como al cerrar ventanas de diálogo).
    • Almacenamiento del filtro en una propiedad currentSearchFilter vinculada mediante ngModel.
    • Centralización de la creación de la fuente de datos en setupDataSource() con soporte defensivo (fallback ?? '') y restablecimiento del paginador a la primera página ante cambios de filtro.

⬅️ Versión Anterior | Volver a zymDev Core

Desarrollado con ❤️ por zymDev Team.