Novedades · Changelog

Cada semana, un poco mejor.

Mejoramos GarBotGPT casi a diario. Estas son las novedades más recientes: nuevas herramientas, mejoras de velocidad y arreglos, contadas en claro.

  1. v9.4.62

    🐛 Arreglado a fondo el análisis de documentos (carpetas, conocimiento y proyectos)

    Continuación del arreglo anterior. El mismo fallo (la lectura del contenido de los documentos dependía de un paso de búsqueda que a veces fallaba) afectaba también a las carpetas con archivos, a las bases de conocimiento y a los proyectos: la IA veía la lista de archivos pero no su contenido, así que decía cosas como "no tengo los importes, solo veo los metadatos". Ahora, cuando ese paso falla, la IA lee igualmente el contenido real de cada documento (los primeros fragmentos de cada archivo), así que puede analizar nóminas, presupuestos, etc. aunque la búsqueda semántica no esté disponible.

    Nuevo

    • 📂 La IA ya lee el contenido de los archivos de una carpeta (no solo la lista de nombres)
    • 📚 Igual para bases de conocimiento (p. ej. la colección de nóminas) y proyectos
    • 🧮 Puede calcular totales / analizar varios documentos aunque la búsqueda semántica falle

    Análisis de documentos (robustez)

    • El contenido de carpeta, conocimiento y proyecto ya no se omite si falla/!no se genera el embedding.
    • Nuevo fallback común: cuando no hay coincidencias semánticas, se inyectan los primeros fragmentos de CADA archivo (clave para colecciones grandes como 16 nóminas).
    • La búsqueda semántica se sigue priorizando cuando está disponible; el fallback solo entra si no devuelve nada.
    • Cubre los 4 caminos: adjuntos del mensaje, archivos de carpeta, colecciones de conocimiento y archivos de proyecto.
  2. v9.4.61

    🐛 Arreglado: la IA pedía el PDF aunque ya estaba adjunto + 📎 Archivos recientes

    Bug importante corregido: al adjuntar un PDF (u otro documento) y pedir analizarlo, a veces la IA respondía "envíame el archivo" aunque ya estaba en el chat. La causa: la lectura del contenido del documento estaba ligada por error a la generación del vector de búsqueda (embedding); si ese paso fallaba, el modelo no recibía nada del adjunto. Ahora la extracción del texto del documento funciona siempre, con o sin embedding. Además, nueva opción "Archivos recientes" en el menú de herramientas para adjuntar un archivo que ya subiste, sin volver a subirlo (estilo ChatGPT).

    Nuevo

    • 📎 Nuevo "Archivos recientes" en herramientas: adjunta un archivo ya subido sin re-subirlo

    Arreglado

    • 🐛 La IA ya no pide el archivo cuando el PDF/documento ya está adjunto
    • 📄 La extracción del contenido del documento ya no depende del embedding (más robusta)

    Arreglo de adjuntos

    • La inyección del contenido de los adjuntos al modelo ya no se salta si falla/no se genera el embedding.
    • La búsqueda semántica (con embedding) sigue priorizándose cuando está disponible; sin ella, se cae a chunks directos y a extracción inline del documento.
    • Si aún no hay texto extraíble, el modelo recibe el aviso de "archivo en proceso" en vez de pedir que lo reenvíes.

    Archivos recientes

    • Nueva entrada "Archivos recientes" en el menú de herramientas del chat.
    • Lista tus archivos ya subidos y, al elegir uno, lo adjunta al mensaje reutilizando el archivo (sin volver a subirlo).
    • Evita duplicados y respeta el modelo con visión para imágenes.
  3. v9.4.60

    ✨ Carga de chats rediseñada (logo animado + skeleton)

    Las pantallas de carga del chat ahora son mucho más cuidadas. Al abrir, restaurar o preparar un chat aparece un loader con el logo, un anillo girando y un halo suave (con soporte claro/oscuro); y mientras se descargan los mensajes se muestra un "esqueleto" de burbujas con efecto shimmer en vez del spinner pequeño. Además se ha eliminado la antigua pantalla de bienvenida (splash) que ya no se usaba.

    Nuevo

    • Loader de marca al abrir/restaurar un chat (logo + anillo + halo, claro/oscuro)
    • 💀 Skeleton de mensajes con shimmer mientras cargan (antes un spinner pequeño)
    • 🧹 Eliminada la pantalla splash muerta (y su número de versión desactualizado)

    Carga de chats

    • Nuevo componente ChatLoading: pantalla de carga con logo animado, anillo y halo; respeta "reduce motion".
    • Esqueleto de burbujas (usuario/asistente) con efecto shimmer mientras se descargan los mensajes.
    • Unificado en los estados "Cargando chat", "Restaurando chat" y "Preparando nuevo chat".
    • Eliminado el componente SplashScreen huérfano (no se montaba y mostraba una versión antigua).
  4. v9.4.59

    ⌘K Paleta de comandos, slash de herramientas, prompts guardados y arrastrar chats a carpetas

    Tanda grande de productividad en escritorio. (1) ⌘K (o Ctrl+K) abre una paleta de comandos: busca en chats y lanza acciones (nuevo chat, ajustes), cambia de modelo, activa herramientas o salta a una carpeta. (2) Escribiendo "/" en el chat puedes activar herramientas: /imagen, /buscar, /tabla, /documento, /investigar. (3) Nuevos "Prompts guardados" (Ajustes → Prompts): plantillas reutilizables que aparecen como tus propios slash. (4) En el panel lateral puedes arrastrar un chat a una carpeta y seleccionar varios chats para archivar/borrar/mover de golpe.

    Nuevo

    • 🔖 Prompts guardados: plantillas reutilizables usables como /tu-atajo
    • 🗂️ Arrastra un chat a una carpeta; multiselección con archivar/borrar/mover en bloque

    Mejorado

    • ⌘K abre una paleta de comandos (acciones, modelos, herramientas, carpetas y búsqueda)
    • Slash que activan herramientas: /imagen, /buscar, /tabla, /documento, /investigar

    Paleta de comandos (⌘K)

    • Sustituye al buscador anterior: incluye la búsqueda en chats y añade acciones rápidas.
    • Acciones: nuevo chat, abrir ajustes; cambiar a cualquier modelo; activar herramientas (web, imagen, investigación, documento, hoja de cálculo); ir a una carpeta.
    • Filtro al escribir y navegación por teclado (↑↓, ⏎, Esc). Funciona con Ctrl+K y ⌘K (Mac).

    Slash commands de herramientas

    • /imagen, /buscar, /tabla, /documento, /investigar activan la herramienta correspondiente.
    • Si el modelo actual no admite esa herramienta, avisa en vez de activarla.
    • Conviven con los slash de plantilla existentes (/summarize, /translate, /code, etc.).

    Prompts guardados

    • Nueva pestaña Ajustes → Prompts para crear plantillas (nombre, atajo y texto).
    • Se usan en el chat escribiendo "/" + su atajo; el texto se inserta para editarlo antes de enviar.
    • Se guardan en tu cuenta (disponibles entre dispositivos).

    Organización de chats (escritorio)

    • Arrastra un chat del panel lateral y suéltalo sobre una carpeta para moverlo.
    • Multiselección: "Seleccionar" en el menú del chat activa casillas; barra superior para archivar, eliminar o mover a carpeta en bloque.
    • No afecta a la lista normal: la ordenación y apertura de chats siguen igual.
  5. v9.4.58

    📌 Reordenar tus chats anclados arrastrando (móvil)

    En el móvil, al filtrar por "Anclados" ahora puedes arrastrar (con el asa ≡) para poner tus chats favoritos en el orden que quieras; el orden se guarda. La lista normal de chats no cambia: se sigue ordenando por actividad reciente, el orden manual solo afecta a los anclados.

    Nuevo

    • 📌 Arrastra ≡ para reordenar los chats anclados (vista "Anclados" en móvil)
    • 💾 El orden manual se guarda y se mantiene entre dispositivos
    • La lista normal de chats no se toca (sigue por actividad reciente)

    Reordenar anclados

    • Nueva columna pin_order en la base de datos para guardar el orden de los anclados.
    • En el filtro "Anclados" del móvil, lista plana con asa de arrastre (pointer/táctil) para reordenar.
    • El nuevo orden se aplica solo entre chats anclados; los no anclados siguen por updated_at.
  6. v9.4.57

    🖼️ Visor de imágenes con zoom táctil y "Guardar en Fotos" + 🎙️ notas de voz

    Dos mejoras pensadas para el móvil. (1) Al abrir una imagen (generada o adjunta) ahora puedes hacer zoom con dos dedos (pinch) y moverla con el dedo, y hay un botón "Guardar/Compartir" que en el móvil abre la opción nativa de guardar la imagen en Fotos. (2) Nueva "Nota de voz" en el menú de herramientas: graba un audio, lo adjunta a tu mensaje y además lo transcribe a texto editable para que lo revises antes de enviar.

    Nuevo

    • 🖼️ Zoom con dos dedos (pinch) y arrastre en el visor de imágenes
    • 💾 Botón "Guardar/Compartir": en móvil guarda la imagen en Fotos (Web Share)
    • 🎙️ Nota de voz: graba audio, lo adjunta y transcribe el texto al input
    • ⏱️ Barra de grabación con cronómetro, parar y cancelar (tope 2 min)

    Visor de imágenes

    • Pinch-zoom táctil (dos dedos) y arrastre con un dedo cuando hay zoom, además del zoom con rueda/botones en escritorio.
    • Botón Guardar/Compartir: usa Web Share con el archivo (en móvil ofrece "Guardar imagen"/"Guardar en Fotos") y degrada a descarga si no está disponible.
    • Aplica tanto a imágenes generadas por IA como a imágenes adjuntas.

    Notas de voz

    • Nueva opción "Nota de voz" en el menú de herramientas del chat.
    • Graba con el micrófono (barra con cronómetro, parar y cancelar; tope de 2 minutos).
    • Al parar, adjunta el audio al mensaje y transcribe el texto al campo de escritura para editarlo antes de enviar.
    • Es distinta del dictado por voz: la nota CONSERVA el audio además del texto.
  7. v9.4.56

    📸 Cámara en móvil + memoria global editable en Ajustes

    Dos novedades. (1) Nuevo botón "Hacer foto" en el menú de herramientas del chat: en el móvil abre directamente la cámara del dispositivo y adjunta la foto a tu mensaje (con compresión y subida directa, igual que cualquier imagen). (2) La pestaña "Memoria" de Ajustes pasa a ser un perfil global: ahora ves y editas TODAS las cosas que GIA sabe de ti entre conversaciones (antes solo las globales), con filtro Todas/Globales/De conversaciones, etiqueta de tipo, de dónde se capturó cada recuerdo y edición del texto.

    Nuevo

    • 📸 Botón "Hacer foto": abre la cámara del móvil y adjunta la imagen al chat
    • 🧠 Pestaña Memoria global: ver y editar todo lo que GIA recuerda de ti, no solo lo global
    • 🔎 Filtro Todas / Globales / De conversaciones + etiqueta de tipo y origen del recuerdo
    • ✏️ Edición inline del texto de cada recuerdo (además de activar/desactivar y borrar)

    Cámara (móvil)

    • Nuevo "Hacer foto" en el menú de herramientas (móvil y escritorio).
    • En móvil abre la cámara trasera; en escritorio degrada a selector de archivo.
    • La foto se adjunta reutilizando el flujo existente (compresión + subida firmada directa a Storage).
    • Si el modelo no admite imágenes, avisa igual que al adjuntar una imagen normal.

    Memoria global (Ajustes)

    • La pestaña Memoria lista ahora TODAS tus memorias (todos los ámbitos), no solo las globales.
    • Filtro Todas / Globales / De conversaciones y etiqueta de ámbito (Global, Conversación, Proyecto).
    • Muestra "Capturado en: <nombre del chat>" cuando se conoce el origen.
    • Edición del texto del recuerdo en línea (botón lápiz), además de activar/desactivar y eliminar.
    • Botón de recargar la lista.
  8. v9.4.55

    ⚡ Agentes más potentes: pasos en paralelo, varios agentes a la vez, email del resultado y elegir modelo

    Mejora grande de los agentes. Ahora los pasos de búsqueda/lectura se ejecutan en paralelo (más rápido), las ejecuciones programadas también crean un chat con el resultado (antes solo quedaba en el Historial), puedes pedir que te llegue el resultado por email, elegir el modelo del agente (gpt-4o-mini o gpt-4o) y los agentes pueden dar más pasos (hasta 12). En las ejecuciones programadas, varios agentes corren a la vez.

    Nuevo

    • 🗓️ Las ejecuciones programadas también crean y guardan un chat con el resultado
    • ✉️ Opción de recibir el resultado del agente por email
    • 🤹 En la programación, varios agentes se ejecutan a la vez

    Mejorado

    • Los pasos de un agente (buscar/leer URLs) se ejecutan en paralelo: más rápido
    • 🧠 Elegir el modelo del agente (gpt-4o-mini rápido / gpt-4o más capaz) y más pasos (12)

    Velocidad (pasos en paralelo)

    • Los pasos de herramienta (búsqueda web, leer URLs, consulta a BD) ya no se hacen uno detrás de otro: se lanzan en paralelo y luego se resume todo junto.
    • El planificador puede usar hasta 12 pasos (antes 10) para tareas más complejas.

    Ejecuciones programadas

    • Cada ejecución programada crea un chat nuevo con el resultado (igual que al pulsar "Ejecutar"), no solo una entrada en el Historial.
    • En cada pasada del programador, los agentes pendientes se ejecutan en paralelo en vez de en fila.

    Email del resultado

    • Nueva opción al crear/editar un agente: "Enviarme el resultado por email".
    • El email se manda solo a tu propia cuenta (la conectada en Integraciones), nunca a terceros.

    Modelo configurable

    • Puedes elegir el modelo del agente: gpt-4o-mini (rápido y barato) o gpt-4o (más capaz).
    • Afecta tanto a la planificación como al resumen final del agente.
  9. v9.4.54

    🧹 Respuesta del agente más limpia + nueva herramienta "Leer URLs"

    Cuando un agente abre un chat con su resultado, ahora muestra solo la respuesta (antes se colaba la "traza interna" con los pasos como texto suelto, que quedaba feo; esa traza sigue disponible en el Historial). Además, al crear un agente puedes activar la herramienta "Leer URLs" para que descargue y lea páginas concretas (no solo buscar). Se ha quitado del agente la opción "Intérprete de código", que no funciona en este entorno.

    Nuevo

    • 🧹 La respuesta del agente en el chat ya no incluye la traza interna (queda en Historial)
    • 🔗 Nueva herramienta seleccionable: "Leer URLs" (browse_url)
    • Quitada del agente la opción no funcional "Intérprete de código"
  10. v9.4.53

    🤖 Ejecutar un agente abre un chat con el resultado + panel de agentes unificado

    Dos arreglos en los agentes. (1) Al pulsar "Ejecutar" en un agente, ahora se crea un chat nuevo automáticamente con el resultado y se abre, en vez de dejarlo solo en el Historial: así ves la respuesta como una conversación normal. Además se avisa de que la ejecución puede tardar ~30s (el agente busca en web y razona). (2) Había dos paneles de agentes distintos y al refrescar saltabas de uno a otro; ahora hay uno solo (el del panel de administración). El agente ya funcionaba —el problema era que tardaba y no mostraba bien el resultado.

    Nuevo

    • 🤖 "Ejecutar" crea y abre un chat nuevo con el resultado del agente
    • Aviso de que la ejecución tarda ~30s (antes parecía colgado)
    • 🧹 Un único panel de agentes (se elimina el duplicado y el salto al refrescar)

    Ejecución de agentes

    • Al ejecutar un agente se crea una conversación nueva (título = nombre del agente) con tu mensaje y la respuesta, y se abre automáticamente.
    • Si la creación del chat fallara, la ejecución igualmente se completa y queda en el Historial.
    • Indicador "Ejecutando… (~30s)" mientras trabaja.

    Panel de agentes

    • Eliminada la página suelta /admin/agents que duplicaba la pestaña del panel y causaba un cambio de UI al refrescar.
    • Ahora /admin/agents siempre carga la pestaña de Agentes del panel de administración.
  11. v9.4.52

    🩹 Arreglado el indicador de agente activo en el composer

    Al activar la herramienta "Agentes", el indicador del agente seleccionado se mostraba descolocado y sin estilo (texto suelto debajo del cuadro de escribir), porque reutilizaba el hueco del indicador de "herramientas activas". Ahora aparece como una etiqueta morada propia ("🤖 Nombre", con ✕ para quitarlo) justo encima del input, con el aviso de que tu mensaje lo ejecutará ese agente.

    Nuevo

    • ✕ Quitar el agente o tocar el nombre para cambiarlo

    Arreglado

    • 🩹 El agente activo se ve como etiqueta limpia encima del input (ya no descolocado)
  12. v9.4.51

    🤖 Agentes desde el chat: elígelos, créalos y ejecútalos

    Ahora puedes usar tus agentes directamente desde el composer. En el menú de herramientas hay una entrada nueva "Agentes": abre un panel donde ves tus agentes, eliges uno (queda activo, con un indicador junto al cuadro de escribir) y al enviar un mensaje lo ejecuta ESE agente —con su plan y herramientas— en vez del modelo normal; el resultado aparece como respuesta. Desde el mismo panel puedes crear un agente nuevo (nombre, objetivo y herramientas). Además, el agente ahora tiene en cuenta el mensaje que escribes (antes solo ejecutaba su objetivo fijo). Y de paso: el botón del menú que decía "Modo agente" en realidad era el intérprete de código —lo hemos renombrado a "Intérprete de código" para que deje de confundir.

    Nuevo

    • 🤖 Nueva entrada "Agentes" en el composer: elegir, crear y ejecutar agentes
    • 🏷️ Indicador de agente activo junto al input (y opción de quitarlo)
    • 💬 El agente tiene en cuenta tu mensaje, no solo su objetivo fijo
    • 🧹 Renombrado "Modo agente" → "Intérprete de código" (estaba mal etiquetado)

    Usar agentes desde el chat

    • Menú de herramientas → "Agentes" abre un panel con tus agentes activos.
    • Al elegir uno queda activo: lo ves en un chip junto al composer y, al enviar, ese agente ejecuta tu mensaje (no el modelo).
    • Botón para "dejar de usar el agente" y volver al chat normal.

    Crear agentes

    • Desde el mismo panel: nombre, objetivo en lenguaje natural y herramientas (Búsqueda Web / Base de Datos).
    • Se crean como "manual"; puedes ponerles horario desde el panel de administración de agentes.

    Motor

    • El ejecutor ahora recibe tu mensaje como contexto del planificador (antes ignoraba lo que escribías).
    • Sin cambios en seguridad: el agente solo lee tus datos (db_query SELECT con lista blanca) y no escribe nada.
  13. v9.4.50

    ⌨️ Arreglado el "Tab" del autocompletado y quitado en móvil

    La sugerencia gris del autocompletado (con el botón "Tab") a veces se pintaba encima del texto de ejemplo del input cuando estaba vacío, viéndose superpuesta y confusa. Ahora solo aparece cuando ya has escrito algo. Además, en móvil se desactiva por completo: sin teclado físico, el atajo "Tab" no aporta y solo molestaba.

    Nuevo

    • ⌨️ El autocompletado solo se muestra con texto escrito (ya no se solapa con el placeholder)
    • 📱 Desactivado en móvil (no tiene sentido sin tecla Tab)

    Autocompletado (ghost text + Tab)

    • Ya no se renderiza el texto fantasma cuando el input está vacío (era lo que se superponía al placeholder).
    • Solo se muestra con contenido real y en una sola línea (no en mensajes multilínea).
    • En móvil se desactiva tanto la generación de sugerencias como su overlay.
  14. v9.4.49

    🪄 Las herramientas se activan solas según lo que escribes

    Extendemos el auto-activado a más herramientas: si escribes una intención clara, se enciende sola la herramienta correcta (y lo ves, con un aviso). "Genérame una imagen / dibuja…" activa Generar Imagen; "haz una presentación / unas diapositivas" activa Presentación; "redáctame un documento / informe" activa Generar Documento. Se suma a la búsqueda web (enlaces y "busca en internet"). Los textos están acotados para no dispararse por error, y si lo apagas a mano no se reactiva.

    Nuevo

    • 🖼️ "genérame una imagen / dibuja…" → activa Generar Imagen
    • 📊 "haz una presentación / diapositivas…" → activa Presentación (en el chat)
    • 📄 "redáctame un documento / informe…" → activa Generar Documento
    • 🤝 Visible (aviso) y respetuoso: si lo apagas a mano, no se reactiva

    Detección de intención

    • Generar Imagen: se activa con "genérame/crea/haz/dibuja/pinta una imagen, foto, ilustración, dibujo, logo, póster…" (y equivalentes en inglés: generate/draw/create image/picture).
    • Presentación: se activa con "genera/haz/prepara una presentación, diapositivas, slides, PowerPoint, ppt, keynote…" (solo en el chat; la pantalla de inicio no gestiona presentaciones).
    • Generar Documento: se activa con "genera/haz/redacta/escribe/prepara un documento, informe, reporte, Word, PDF, carta, memo, ensayo, artículo…".
    • Búsqueda web (de v9.4.47/48): pegar un enlace o escribir "busca en internet / búsqueda web / cerca web / search the web".

    Cómo se comporta

    • Solo se activa en la transición (cuando aparece el disparador), no en cada tecla.
    • Si desactivas la herramienta a mano, no se vuelve a activar para ese mismo texto.
    • Si borras la frase/enlace y la habíamos activado nosotros, se apaga sola.
    • Respeta permisos del modelo, ajustes de chat compartido y límites de invitado.

    Anti-falsos-positivos

    • El verbo de crear debe ir pegado al sustantivo: "busca el documento X" o "tengo una foto" NO disparan nada.
    • Cada herramienta tiene su propio patrón; "genera un documento" no enciende imagen ni presentación.
  15. v9.4.48

    🔗 Pega un enlace (o di "busca en internet") y la búsqueda web se activa sola

    Cuando escribes o pegas un enlace en el chat —o escribes una intención explícita como "busca en internet" o "búsqueda web"— la herramienta de búsqueda web se activa automáticamente (y lo ves: aparece en las herramientas activas, con un aviso). Como la búsqueda ahora también LEE las URLs (v9.4.47), basta con pegar el enlace y pedir "analízalo" — sin acordarte de encender nada. Si prefieres desactivarla, la apagas a mano y no se vuelve a activar; y si borras el disparador, se apaga sola si la habíamos encendido nosotros.

    Nuevo

    • 🔗 Detecta enlaces en el input y activa la búsqueda web automáticamente (visible)
    • 🗣️ También se activa con frases como "busca en internet" / "búsqueda web"
    • 🤝 Respeta tu decisión: si la apagas a mano, no se reactiva
    • 🧭 Disponible en el chat y en la pantalla de inicio
  16. v9.4.47

    🔗 La búsqueda web ahora LEE los enlaces que le pegas

    Antes, con "Cerca Web" activo, si pegabas un enlace y pedías "analiza esta página", el sistema solo buscaba por palabras clave: si la página no estaba indexada (un sitio nuevo o propio), la IA no recibía su contenido y respondía que no lo tenía. Ahora, cuando tu mensaje contiene una o varias URLs, se descarga y lee el contenido REAL de esas páginas (usando navegador headless cuando hacen falta para páginas con JavaScript) y se le pasa a la IA para que lo analice de verdad.

    Nuevo

    • 🔗 Lee directamente las URLs que pegas (hasta 3), no solo busca por palabras clave
    • 🧩 Funciona incluso con páginas nuevas/propias no indexadas y con páginas que requieren JS

    Seguridad

    • 🛡️ Mantiene la protección anti-SSRF (solo URLs públicas)
  17. v9.4.46

    🧠 Captura de memoria más lista (con ayuda de un modelo)

    La detección automática de datos para recordar ya no depende solo de patrones de texto. Si los patrones rápidos no detectan nada, un modelo pequeño analiza el mensaje y decide si hay un dato personal duradero que valga la pena recordar (en cualquier idioma), redactándolo en tercera persona. Sigue pidiéndote confirmación antes de guardar nada. Para acotar el coste, el modelo solo se consulta cuando los patrones no encuentran nada y el mensaje tiene cierta longitud.

    Nuevo

    • 🧠 Captura con LLM como respaldo del regex (multiidioma, menos casos perdidos)
    • Sigue requiriendo tu confirmación antes de guardar
    • 💸 Coste acotado: el modelo solo se usa cuando el regex no detecta nada
  18. v9.4.45

    🔄 Las carpetas también se sincronizan entre dispositivos

    Completamos la sincronización en tiempo real entre dispositivos. Ahora, al crear, renombrar, marcar como favorita o borrar una CARPETA en un dispositivo, el cambio aparece al instante en el sidebar de tus otros dispositivos (antes había que refrescar). Los chats, los fijados, el archivado y los mensajes del chat que tengas abierto ya se sincronizaban.

    Nuevo

    • 🗂️ Carpetas (crear/renombrar/favorita/borrar) sincronizadas en tiempo real entre dispositivos
  19. v9.4.44

    ⚡ Menos latencia: respuestas que empiezan antes

    Optimización de la ruta del chat: dos consultas a la base de datos que antes se hacían en serie antes de empezar a responder (el GPT activo de la conversación y los recuerdos del usuario) ahora se piden en paralelo junto a las demás. Menos idas y vueltas a la base de datos = el modelo empieza a escribir un poco antes en cada mensaje. Sin cambios de comportamiento.

    Nuevo

    • 🛡️ Sin tocar el historial ni los caminos de chat compartido/regenerar

    Mejorado

    • active_gpt_id y memorias del usuario se cargan en paralelo (−2 consultas en serie)
  20. v9.4.43

    🧠 Memoria mejorada + sincronización del sidebar entre dispositivos

    Mejoras en el sistema de memoria y dos arreglos. Memoria: ahora puedes EDITAR cada recuerdo desde el panel; cada recuerdo muestra su fecha y de qué chat se capturó; un indicador en cada respuesta enseña qué recuerdos influyeron; y puedes PAUSAR la memoria en un chat concreto. Arreglos: al crear, renombrar o borrar un chat en un dispositivo, ahora aparece al instante en el sidebar de tus otros dispositivos (antes había que refrescar); y el botón para desactivar la herramienta de YouTube desde el composer ahora funciona (era la única que no se desactivaba).

    Nuevo

    • ✏️ Editar recuerdos en el panel, con fecha y chat de origen
    • 🧠 Indicador de "recuerdos usados" en cada respuesta + pausar memoria por chat
    • 🔄 El sidebar se sincroniza entre dispositivos al crear/renombrar/borrar chats

    Arreglado

    • 🛠️ Arreglado el botón de desactivar la herramienta de YouTube
  21. v9.4.42

    🧩 Pulido: quiz a medida, indicador de escritura más robusto y mejor captura de memoria

    Tres arreglos menores detectados en la auditoría. (1) El generador de quiz ahora respeta el número de preguntas que pides ("quiz de 5 preguntas"); antes siempre creaba 10. (2) El indicador de "escribiendo…" ya no genera errores 500 esporádicos ante un fallo transitorio de base de datos: al ser una función decorativa, ahora degrada en silencio. (3) La captura automática de memorias reconoce más casos (ubicación, idioma preferido, dieta/alergias, más profesiones) y filtra ruido (deja de guardar frases triviales como "me gusta esto").

    Nuevo

    • 🎯 El quiz respeta el nº de preguntas pedido (1–20, por defecto 10)
    • 🔇 Indicador de "escribiendo" degrada en silencio en vez de dar 500
    • 🧠 Captura de memoria con más categorías (ubicación/idioma/dieta) y menos ruido
  22. v9.4.41

    🧠 Memoria: un único sistema, sin duplicados ni tablas muertas

    El sistema de memoria tenía dos caminos divergentes: el chat inyectaba las memorias por separado (sin deduplicar y sin tope) mientras existía un consolidador más completo que no usaba nadie, además de varias tablas creadas y nunca conectadas. Ahora hay un solo camino: las memorias de usuario y de proyecto se fusionan en un bloque deduplicado, ordenado por especificidad y con tope de inyección, y se han eliminado las piezas muertas. Las memorias de carpeta/colaboración no cambian.

    Nuevo

    • 🧠 Memorias de usuario+proyecto consolidadas en un solo bloque (dedup + orden por especificidad)

    Mejorado

    • Tope de inyección (máx. 50): el prompt ya no crece sin freno al acumular memorias
    • 🧹 Eliminadas tablas/endpoint/UI muertos del subsistema (categorías, relaciones, log de accesos, settings)
  23. v9.4.40

    ⚡ Rendimiento: menos latencia en el chat, navegación y carga de imágenes

    Optimizaciones de la auditoría (P1–P5). (P1) El chat leía el perfil del usuario varias veces antes de responder; ahora se lee una sola vez y se reutiliza → una ida menos a la base de datos por mensaje. (P2) El middleware consultaba el perfil (rol/suspensión) en CADA petición; ahora se cachea unos segundos por instancia → menos latencia en toda la navegación. (P3/P4) Añadidos índices en la base de datos que faltaban (claves foráneas de canales/incidentes y la tabla de actividad). (P5) Las miniaturas de un mensaje con varias imágenes se firman en UNA sola llamada en vez de una por imagen. Sin cambios de comportamiento.

    Nuevo

    • 🗂️ Índices BD añadidos (FKs de canales/incidentes + tabla de actividad)
    • 🖼️ Firma de imágenes en lote (una llamada por mensaje, no por imagen)

    Mejorado

    • Perfil del usuario leído una sola vez por mensaje (−1 consulta) + caché de rol en el middleware
  24. v9.4.39

    🛡️ Auditoría: corregidos los errores y agujeros de seguridad detectados

    Tras una auditoría a fondo del proyecto, se han corregido todos los errores encontrados (de crítico a bajo). Seguridad: (CRÍTICO) un usuario ya no puede sobrescribir mensajes de otra conversación al "regenerar" (se valida que el mensaje pertenece a la conversación); (ALTO) ya no se pueden adjuntar archivos a proyectos ajenos (se exige rol de editor); (ALTO) el resumen de chat vuelve a funcionar para participantes de chats compartidos; las consultas SQL del asistente bloquean sentencias apiladas y comentarios; y se limita el tamaño del mensaje. Robustez: las fotos de chats compartidos vuelven a verse (firma vía servidor con permiso verificado); borrar una conversación es ahora atómico; el contador de vistas de enlaces compartidos es atómico; el listado de chats ya no carga toda la tabla de participantes; y se evita el solapamiento al enviar mensajes en cola.

    Nuevo

    • 🛡️ CRÍTICO: cerrado IDOR de "regenerar" (no se pueden reescribir mensajes ajenos)
    • 🧱 SQL del asistente endurecido (sin sentencias apiladas/comentarios) + límite de tamaño de entrada
    • 🖼️ Fotos de chats compartidos visibles de nuevo; borrado y contador de vistas atómicos

    Seguridad

    • 🔒 ALTO: adjuntar a un proyecto exige rol de editor; resumen de chats compartidos restaurado
  25. v9.4.38

    🩹 Arreglado "Conversation not found": el mensaje ya no se pierde si el chat activo no existe

    Si al abrir la app se restauraba un chat "último activo" que ya no existía (un chat borrado, o una sesión de invitado anterior), al escribir y enviar el mensaje fallaba con "Conversation not found" y no había respuesta de la IA (reutilizaba ese id muerto sin crear la conversación). Ahora, si /api/chat responde 404, la app crea la conversación con ese id y reintenta el envío una vez automáticamente, así el mensaje llega y la IA responde. Detectado probando la app en el navegador.

    Nuevo

    • 🤖 La IA responde aunque el "último chat" restaurado fuera obsoleto

    Arreglado

    • 🩹 Enviar en un chat cuyo id ya no existe ya no falla: se crea y reintenta solo
  26. v9.4.37

    🐞 Posible arreglo del error React #185 al enviar (solo en producción)

    En producción, al enviar un mensaje, la consola mostraba el error React #185 ("Maximum update depth": un bucle de re-render que React corta solo, no fatal, pero ensuciaba la consola). Solo ocurría en producción (no en desarrollo), lo que apunta al React Compiler. Se ha aplicado la puerta de escape oficial ("use no memo") al componente del cuadro de escritura (ChatInput) para que el compilador no lo transforme y vuelva al comportamiento estándar de React. El resto de la app mantiene las optimizaciones del compilador. Pendiente de confirmar en producción.

    Nuevo

    • 🐞 ChatInput excluido del React Compiler ("use no memo") para cortar el bucle de #185

    Mejorado

    • ⚙️ El resto de la app conserva las optimizaciones del compilador
  27. v9.4.36

    🔊 Leer en voz alta por mensaje · ⌨️ atajos de teclado · 🔁 regenerar con otro modelo

    Tres mejoras de productividad. (1) Cada respuesta del asistente tiene ahora un botón 🔊 para leerla en voz alta (y pararla); solo suena un mensaje a la vez. (2) Atajos de teclado: Ctrl/Cmd+J abre un chat nuevo, "/" enfoca el cuadro de escritura, Esc detiene la respuesta en curso, y Ctrl/Cmd+M abre el selector de modelo. (3) En cualquier respuesta puedes pulsar el "▾" junto a Regenerar para "Regenerar con otro modelo": rehace esa respuesta con el modelo que elijas sin tener que reescribir el mensaje (y respeta exactamente ese modelo, sin AutoModel).

    Nuevo

    • 🔊 Botón de leer en voz alta en cada respuesta de la IA
    • ⌨️ Atajos: Ctrl/Cmd+J nuevo chat · "/" enfocar input · Esc detener · Ctrl/Cmd+M modelo
    • 🔁 "Regenerar con otro modelo" sin reescribir el prompt
  28. v9.4.35

    🌐 El idioma se guarda en tu cuenta y se sincroniza entre dispositivos

    Antes el idioma (Català/Castellano) se guardaba solo en el navegador (localStorage), así que al entrar desde otro PC salía en castellano aunque tú lo tuvieras en catalán. Ahora se guarda en tu cuenta (en la base de datos): al iniciar sesión en cualquier dispositivo se aplica tu idioma, y al cambiarlo se actualiza para todos. La preferencia que ya tenías en este equipo se migra automáticamente la primera vez. El navegador sigue usándose como caché para el primer pintado.

    Nuevo

    • 🌐 Idioma guardado en la cuenta (profiles.language), no solo en el navegador
    • 🔄 Sincroniza entre dispositivos al iniciar sesión
    • ⤴️ Migra automáticamente tu idioma actual la primera vez
  29. v9.4.34

    ✨ Welcome más bonita (Quiz + cards rediseñadas) y subida de imágenes más rápida

    Tres cosas. (1) En las acciones rápidas de la pantalla de bienvenida, "Unidad de red" se sustituye por "Quiz" (el generador interactivo). (2) Las cards de esas acciones se han rediseñado: icono con color propio por herramienta, estado activo con acento y punto indicador, hover con elevación y subtítulo (Activado / Tocar para activar). (3) Las imágenes ahora se comprimen/redimensionan en el navegador ANTES de subirse (máx ~1600px, JPEG): una foto de móvil de 3-4 MB pasa a ~300-700 KB, así la subida es mucho más rápida y la visión más ágil. Si la compresión no es posible (formato raro), se sube el original.

    Mejorado

    • Cards de la welcome rediseñadas (color por herramienta, activo con acento, hover elevado)
    • 🎯 "Quiz" reemplaza a "Unidad de red" en las acciones rápidas de la welcome
    • Imágenes comprimidas en el cliente antes de subir → subida mucho más rápida
  30. v9.4.33

    🆚 Comparador de modelos: respuestas lado a lado + consumo de cada modelo

    La comparativa multi-modelo ya no muestra las respuestas apiladas una debajo de otra. Ahora salen en COLUMNAS, a la misma altura (2 modelos lado a lado; con 3-4 se desliza en horizontal). Cada columna lleva su cabecera con el nombre del modelo y, abajo, su CONSUMO: tokens (entrada→salida = total) y latencia. La información estaba ya guardada pero no se mostraba; ahora se ve por cada modelo. (Las comparativas antiguas siguen viéndose en el formato anterior.)

    Nuevo

    • 🆚 Respuestas de los modelos en columnas a la misma altura (no apiladas)
    • ↔️ Con 3-4 modelos, las columnas se deslizan en horizontal

    Mejorado

    • 📊 Consumo por modelo: tokens (entrada/salida/total) + latencia

1036 versiones publicadas · página 25 de 35. Míralo dentro de la app.