Saltar a contenido

0.3.0 (2026-04-23)

Login social con OAuth, generación de descripciones AI y unificación del chat inteligente.

✨ Features

  • OAuth / Login Social con Google: arquitectura provider-agnostic (IOAuthProvider + OAuthProviderFactory) con Google OAuth 2.0 / OpenID Connect como primer proveedor. Extensible para futuros proveedores (GitHub, Microsoft) agregando solo una clase adaptadora.
  • OAuth gestionado como integración desde el panel admin (activar/desactivar).
  • Vinculación automática de cuentas: si el email OAuth coincide con una cuenta existente, el proveedor se vincula automáticamente.
  • Nuevos usuarios OAuth reciben cuenta automática con suscripción FREE.
  • Bypass de MFA para logins OAuth — JWT de 5 días emitido directamente.
  • Protección CSRF con tokens de estado server-side (TTL 10 minutos, auto-limpieza MongoDB).
  • Validación de ID token (firma, issuer, audience, expiración) para OpenID Connect.
  • Rate limiting en endpoint de callback OAuth.
  • Audit logging para todos los eventos OAuth (login exitoso/fallido, vinculación de cuenta).
  • Página de perfil muestra proveedores OAuth vinculados con fecha de vinculación.
  • Selector de idioma en páginas de login y registro (esquina superior derecha).
  • Versión de la aplicación visible en la página de login.
  • Banner MFA oculto para sesiones OAuth (no aplica MFA a logins sociales).
  • Generación libre de descripciones AI: genera descripciones en Markdown estructurado para diagramas existentes, con capacidad de refinar la descripción generada.
  • Chat unificado con detección automática de intención: el chat AI detecta automáticamente si el usuario quiere conversar, generar un diagrama nuevo o mejorar el existente — sin necesidad de seleccionar modo manualmente.

🐛 Fixes

  • Prompts de descripción mejorados para generar Markdown estructurado consistente.
  • La generación de descripciones ahora respeta el proveedor preferido del diagrama.
  • Soporte de DeepSeek agregado a _call_with_prompt para operaciones de refinamiento.
  • El proveedor seleccionado en sesiones de chat ahora se propaga correctamente a las preferencias del diagrama.
  • Corregido bloque except faltante en send_message del servicio de chat.

♻️ Refactors

  • Eliminado código muerto de los modos legacy de conversación/mejora en el chat.
  • Eliminado campo mode de los mensajes de chat (simplificación del modelo de datos).