WUIC ← Volver a las descargas

Notas de la versión — WUIC Framework v1.7.0

Fecha: 11 de agosto de 2026 Versión publicada anterior: 1.5.0 (21 de julio de 2026) Backend: .NET 10 + IIS / Linux nginx Frontend: Angular 21


Paquetes sustituidos el 15 de agosto de 2026. Los archivos publicados inicialmente incluían un appsettings.json con autoGeneratedQueryTimeout en 1: con ese valor, toda consulta que supere un segundo termina con un error del servidor. También habían quedado algunos ajustes de la cabecera (logotipo, orientación del menú, selector de temas, notificaciones) de una sesión de pruebas. Los archivos se han reconstruido y sus sumas de verificación actualizado.

Si descargaste antes del 15 de agosto: vuelve a descargar el paquete, o abre appsettings.json y devuelve autoGeneratedQueryTimeout a 30, eliminando las claves header-logo, header-logo-position, header-menu-orientation, header-show-theme-selector, header-menu-multicolumn-submenu y header-show-notifications si no las has definido tú. Ninguno de los dos ajustes afecta a los datos: basta con editar el archivo y reiniciar.


Tres semanas de trabajo en dos frentes. El primero es el aspecto: llega el Theme Builder, una página desde la que componer temas a medida — colores, tipografía, fondo, densidad, representación de la cuadrícula — que se aplican a todos los usuarios de la instalación, y la cabecera de la aplicación se ha rediseñado y hecho configurable. El segundo es la integración y la observabilidad: el nuevo Webhook Hub para recibir y enviar eventos con firma y reintentos, y el Performance Inspector que mide los tiempos de fetch y render por ruta. El chatbot aprende a actuar sobre otras tres superficies de la aplicación y a consultar el esquema de la base de datos.


🎨 Theme Builder

Una nueva página bajo Administración permite componer temas personalizados sin tocar código. Cada tema guardado aparece en el selector de temas de todos los usuarios de la instalación, junto a los predefinidos.

Qué se puede configurar:

La vista previa es en vivo y aplica el tema a toda la página mientras se compone, sin tocar las preferencias del usuario: al salir, recargar o cerrar el navegador vuelve el tema propio.

La exportación a Excel sigue el tema: un archivo exportado con un tema personalizado activo sale con los colores de ese tema — cabecera, filas alternas, bordes — en lugar de los grises genéricos. Se han añadido estilos de reserva para todas las familias de preajustes, de modo que un tema aún no muestreado hereda el aspecto de su familia.

El catálogo de temas predefinidos se amplía con nuevas variantes, y el tema activo se aplica ya en el primer fotograma tras una recarga, sin el parpadeo del tema anterior.

🖥️ Cabecera rediseñada y configurable

La cabecera de la aplicación es ahora un componente del framework: las instalaciones la heredan en lugar de mantener una copia. El bloque superior derecho se ha compactado — selector de temas, claro/oscuro, idioma, notificaciones y área de usuario viven en una tarjeta que se expande al pasar el ratón — y el área de usuario muestra nombre, rol, licencia y cierre de sesión.

Una nueva sección Header & Menu en los ajustes permite elegir la orientación del menú (horizontal arriba o abajo, vertical a la izquierda o a la derecha), cargar un logotipo y posicionarlo, y activar o desactivar el selector de idioma, el de temas y las notificaciones. También se puede desactivar la disposición automática en varias columnas de las entradas de submenú: en ese caso los submenús largos pasan a ser desplazables en vez de quedar cortados.

🔗 Webhook Hub

Nuevo sistema para integrar la aplicación con servicios externos, en ambas direcciones.

De salida: los eventos se encolan y se entregan de forma asíncrona, con firma HMAC del payload, reintentos a intervalo fijo o exponencial, cola de dead letter para las entregas fallidas definitivamente y posibilidad de reproducir una entrega. Cada intento queda registrado en los logs.

De entrada: el endpoint POST /api/webhooks/inbound acepta llamadas externas y las encamina según una configuración de metadatos — ejecución SQL, llamada HTTP o invocación de un método — con protección anti-replay.

Se incluyen además políticas de notificación con periodo de silencio configurable, una API administrativa para gestionar los endpoints y un job del planificador que vacía la cola. Toda la configuración — endpoints, eventos, suscripciones, reglas de entrada — vive en tablas de metadatos: añadir una integración no requiere ni código dedicado ni un nuevo despliegue. La página «Webhook Hub» de la documentación integrada recoge el procedimiento completo en 5 idiomas.

📈 Performance Inspector

El framework puede recoger métricas de fetch y render para cada ruta, agregarlas y mostrarlas en un panel administrativo: media, p95, máximo y recuento, con una retención de 7 días y activación ruta por ruta.

La función está desactivada de forma predeterminada y se habilita con AppSettings:enablePerformanceInspector, en hot-reload. Junto a las métricas hay un inspector de la calidad del dato, activable por ruta desde el props bag (extraProps.qualityInspector).

🤖 Chatbot: nuevas acciones y lectura del esquema

El chatbot RAG gana diez nuevos tipos de acción y la capacidad de consultar la estructura del proyecto.

Una nueva página de documentación enumera los prompts admitidos, verificada frente a las pruebas automáticas.

📊 Spreadsheet: visibilidad de columnas alineada con la cuadrícula

El spreadsheet respeta ahora los mismos indicadores de visibilidad que la list grid: mc_hide_in_list, mc_hide_in_edit y mc_show_in_filters. Una columna oculta en el listado ya no aparece en la hoja, y una columna oculta en edición ya no es editable en las celdas.

🛡️ Seguridad

Hardening best-effort en la generación asistida de informes: el nombre de archivo solicitado ahora se valida rechazando rutas absolutas y caracteres no permitidos, con una comprobación que se comporta igual en Windows y en Linux — antes se apoyaba en una normalización que filtraba de forma distinta en ambos sistemas. El error devuelto distingue una configuración no válida de un fallo de generación, de modo que quien integra el framework no busca el problema en el sitio equivocado.

🐛 Correcciones destacadas

🔧 Actualizaciones operativas recomendadas para quien actualiza

  1. Revisar appsettings.json tras la actualización: las claves nuevas tienen valores predeterminados prudentes y no requieren intervención, pero es un buen momento para repasarlas.
  2. Performance Inspector: poner AppSettings:enablePerformanceInspector en true para activarlo; permanece inactivo si la clave no existe.
  3. Webhook Hub: no hace falta ninguna intervención para que sea accesible. Tablas, rutas administrativas y entradas de menú — agrupadas en un submenú «Webhook Hub» bajo Administración — se crean en la primera carga del menú, tanto en una instalación nueva como al actualizar desde una versión anterior. Queda por configurar la integración: de salida son tres filas (el endpoint con URL de destino, secreto compartido, tiempo de espera y política de reintento; el evento; la suscripción que los enlaza), de entrada un endpoint con dirección inbound y una regla de encaminamiento. La firma viaja en la cabecera X-Wuic-Signature; el procedimiento completo está en la página «Webhook Hub» de la documentación integrada.
  4. Theme Builder: la tabla de temas se crea en el primer guardado. Si se usan temas personalizados, comprobar la exportación a Excel de una cuadrícula para confirmar que los colores son los esperados.
  5. Chatbot: las nuevas acciones están disponibles tras reiniciar el motor RAG; las operaciones no reversibles exigen confirmación y no pueden aplicarse sin ella.
  6. Linux tras un proxy inverso: si la instalación responde en un puerto no estándar o solo por HTTP, regenerar la configuración de nginx o alinear a mano el vhost existente con proxy_set_header Host $http_host; y proxy_set_header X-Forwarded-Proto $scheme;. Las actualizaciones no reescriben un vhost ya presente.