Registro de cambios
Notas de versión e historial del cliente de escritorio Upvault.
Añadido
- Caja de archivos del espacio de trabajo: guarda cualquier archivo en un espacio de trabajo, sincronízalo a través de tu propio Google Drive y descárgalo en otro dispositivo solo cuando lo necesites
- Añadir un archivo de la caja a la búsqueda con IA, o sacarlo de ahí sin eliminar el archivo
- Cambiar el nombre de los archivos de la caja
- Guardar un archivo de la caja en cualquier lugar del disco, con confirmación cuando ya existe un archivo con ese nombre y accesos directos para abrirlo o mostrarlo en la carpeta
- Uso de almacenamiento de Google Drive en la barra lateral, con el desglose por carpeta en los ajustes de sincronización
- Búsqueda entre conversaciones, para que el asistente pueda recuperar contexto de tus otros chats
- Búsqueda de mensajes dentro de una conversación
- Configuración de la clave de API de búsqueda web en los ajustes
- Icono del proveedor en el avatar del asistente
Cambiado
- Se actualizó el formato de almacenamiento (esquema v46). Actualiza tus otros dispositivos a esta versión antes de volver a sincronizarlos, o su sincronización se detendrá
- El explorador muestra primero las conversaciones, después las notas y después los archivos, e indica el progreso de la transferencia en la fila del archivo
- Las transferencias de archivos a Google Drive continúan donde se quedaron tras un reinicio o una caída de conexión
Corregido
- Los documentos adjuntados con @ no cargaban su contenido
- Los originales en CSV, XLSX y XLS nunca se subían a Google Drive
- Al eliminar varios documentos a la vez quedaban atrás los archivos locales y las copias de Drive
- El restablecimiento de fábrica no propagaba la eliminación de documentos ni de modelos personalizados a tus otros dispositivos
- Los resultados de búsqueda de documentos mostraban nombres de archivo UUID internos en lugar de los originales
- Ctrl+K no encontraba documentos por su nombre de archivo original
- Las listas de documentos no se actualizaban al terminar una sincronización
- La aplicación podía cerrarse inesperadamente durante la sincronización, al combinar la base de datos vectorial
- Las carpetas eliminadas reaparecían después de sincronizar
- Faltaba el tamaño de archivo en los documentos añadidos antes de la caja de archivos
- Las etiquetas de indexado del explorador no quedaban alineadas
Interno
- Refuerzo del servidor MCP local: aislamiento por cuenta y verificación del transporte (D-14 A1 Step 1 y 2)
- Automatización de capturas de pantalla para la landing page
Añadido
- Visualización de la información del asistente de chat (modelo, proveedor, contexto)
Cambiado
- Mejorada la estabilidad de la sincronización
Cambiado
- Programación automática de actualización de la lista de modelos de IA (los nuevos modelos de los proveedores aparecen automáticamente)
Interno
- CI/CD: eliminadas cachés duplicadas, verificaciones limitadas a MRs para pipelines más rápidos
Añadido
- Pipeline de reranking — reordena los resultados de búsqueda/RAG para una mayor precisión en los primeros resultados
- Nueva lógica de búsqueda con combinaciones jerarquía/filtro más potentes
Cambiado
- Renovación del diseño del editor Tiptap + mejora de la persistencia de la sesión de edición
- Pulido final de la renovación de diseño a gran escala (fuentes, barra de tareas)
- Mejoras del parser de PDF
Corregido
- Script de despliegue: protección para evitar que el push del tag continúe si falla el push a main
Cambiado
- Pequeña versión de estabilización
Añadido
- Nuevo proveedor de IA
Cambiado
- Renovación de diseño 3 — Spine card, Explorer, Folder, Header
- Rediseño de la barra lateral, cabecera e interruptores
Corregido
- Varios problemas de Spine card / CSS
Cambiado
- Renovación de diseño — sistema de fuentes unificado (DM Sans / DM Serif Display / JetBrains Mono / Pretendard / Noto Serif KR / D2Coding)
Interno
- Flujo de trabajo de release reforzado contra el bloqueo de main en GitLab CI/CD (el push del tag v* bloquea los pushes a main con 403 durante el CI)
- deploy.ps1: protección no interactiva -Yes más robusta
Corregido
- Mejores mensajes de error de licencia
- Bug de visualización de mensajes de error en el chat
- Problema de desplazamiento de pestañas
Interno
- deploy.ps1: flags -Yes/-Shutdown para despliegues no interactivos
Corregido
- La licencia se liberaba espontáneamente
- Limpieza de UX de toast/diálogo de confirmación
Corregido
- Bugs relacionados con toasts
- Consistencia del script de despliegue
Interno
- Alineadas las versiones de la API JS de Tauri y los crates de Rust (@tauri-apps/api, plugin-dialog)
Añadido
- Funciones de Configuración ampliadas
Cambiado
- Mejoras acumuladas de abril~mayo
Añadido
- Rediseño de la UI del editor Fase 1 — BubbleMenu (9 botones de formato + submenú de IA), placeholder del comando Slash, limpieza de LinkEditPopover
- Catálogo remoto de modelos — obtiene automáticamente los modelos más recientes desde R2 con caché de 24 horas (22 modelos)
- Rediseño de UX del visor de documentos (Fase A) — visor inline de TXT/MD, diálogo de guía para PDF/DOCX, 4 modos de visualización
- Función Inbox (Fase A/B/C) — Inbox como workspace del sistema, barra de acciones dedicada, clasificación manual con IA + Undo
- Importación de notas — traer archivos de texto TXT/MD como notas + Import Dialog
- Descarga bajo demanda de documentos originales — descarga desde la nube solo cuando se necesitan los originales subidos desde otro dispositivo
- Tooltip al pasar el cursor sobre carpetas en la barra lateral — vista previa del contenido de la carpeta
- Timeout de inactividad para la clave maestra — bloqueo automático tras un tiempo configurable (0/5/15/30/60 min) + botón Lock Now
Cambiado
- Limpieza de 45 cadenas en inglés hardcodeadas en 9 idiomas
Corregido
- Renombrado de carpetas en la barra lateral: race condition Enter/Blur, Escape para cancelar
- Caché stale del tooltip de carpetas al pasar el cursor
- Token de Google Drive no cacheado tras reiniciar la app
- Fallo en la descarga de documentos desde la nube
- Fallo en la restauración del merge de Lance Pull cuando falta la tabla
- Problema de instalación del modelo de embeddings
Añadido
- Renovación de CI/CD y firma de código (Certificate) — comienza la distribución del instalador de Windows firmado
Añadido
- Limpieza de vectores huérfanos de LanceDB (M-6) — eliminación automática de vectores de conversaciones expiradas + compactación periódica de 3 tablas
- Utilidad de reconciliación — verificación de consistencia entre fuentes eliminadas y vectores
- Múltiples mejoras en documentos/notas
Corregido
- Problema de descarga del modelo de embeddings
- Fallo en la descarga de documentos desde la nube (cambio de immutable_files + limpieza de oplog + fallback de Drive)
- CI/CD: aplicado curl --ssl-no-revoke, node_modules excluido de la caché
Añadido
- Gestión de dispositivos y desactivación remota (EDGE-2-C) — ver los dispositivos registrados en tu licencia + desactivar un dispositivo específico de forma remota
- Gestión de OAuth de Google Drive (M-3) — aprobación en Producción, refresh proactivo cada 55 minutos, parada inmediata ante invalid_grant, banner in-app cuando se requiere reautenticación
- Estabilidad de las llamadas a LLM (M-2) — backoff exponencial x3 para 429/5xx en los pipelines de título automático/resumen/memoria
- Mejoras de integridad de sincronización (serie SYNC-D) — hashing Merkle BLAKE3, resuelta duplicación de drive_file_id, Lance Pull preserva vectores solo locales (merge basado en source_file), historial de Push rastreado hasta 50 entradas
- Barra "idioma + copiar" en bloques de código (L-10) — aplicada al chat y al editor de notas, con soporte de indentación con Tab
Corregido
- Definición duplicada de hook NSIS (hooks.nsh)
Añadido
- Sincronización rediseñada por completo (SYNC-REDESIGN) — R/W siempre en cada dispositivo, eliminado WriterLocker, Union Merge, unificación de oplog.jsonl, UX de 5 estados (Synced/Syncing/Offline/Error/NotConnected)
- Pipeline de pagos completo (D-15-D) — integración con la API de licencias de Lemon Squeezy, Grace Period offline de 7 días, UI de la pestaña License, visualización del estado del dispositivo, cupón de actualización Standard→Premium
- Plan gating Fase 2 (D-15-B) — límite de 50 documentos en Free (triple comprobación individual/batch/carpeta), UpgradePromptModal, insignias de plan
- Rediseño del tutorial de onboarding (U-1) — Welcome → TutorialCarousel de 4 pasos, entrar en la app sin clave API, tarjeta guía inline + reenvío automático cuando falta la clave API
- Sistema de diseño de botones v1+v2 — 7 variantes × 7 tamaños, sistema de capas de profundidad, ~80+ botones unificados en ~38 archivos
- Elemento Upload Docs en los menús contextuales de Explorer/carpetas
- 3 capas de UX para documentos remotos entre dispositivos — banner cuando falta el archivo original, insignia CloudOff en Explorer, toast de aviso de subida
- UX de sincronización con cierre elegante al cerrar la app — detección automática de cambios sin enviar → overlay → push → salida
- Menú contextual de pestañas — Cerrar a la izquierda/derecha, protección de Pin
- UX de descarga en tiempo de ejecución de bge-m3 (R-2) — visualización de progreso, previene la degradación silenciosa del RAG, rutas de caché normalizadas
- Infraestructura de la landing page — despliegue estático en R2, visualización dinámica de la versión, overlay de checkout, ToS + política de reembolso en 9 idiomas
- Normalización del Auto Updater (UPDATER-FIX) — R2 unificado, detección dinámica del nombre de archivo, protección de versión tag/build
- Refresco de la caché de iconos de Windows — llamada a SHChangeNotify tras la actualización fuerza la recarga de IconCache
- Conmutador de plan solo para DEV — cambio instantáneo entre Free/Standard/Premium (no incluido en builds de release)
Corregido
- 4 bugs críticos de sincronización (SYNC-HOTFIX) — bloquear Push cuando falla Pull, manejar fallos de parseo de fetch_remote_state, proteger la primera sincronización con Pull-only
- Sincronización de imágenes (SYNC-IMG-FIX) — miss de Pull + protección contra borrado inmutable
- last_seen_at del dispositivo no se actualizaba + etiqueta incorrecta "Synced" al iniciar la app
- Auto Sync ejecutándose al inicio cuando está OFF
- Bug de creación duplicada de instancias de dispositivo (D-15-D-FIX2)
- Recuperación de Cargo.toml / package.json corruptos
- Toma total de la UI por toast de error (límite de visibleToasts, id fijo para dedup)
- Ruptura del responsive móvil de la landing
Interno
- Supabase Edge Functions — API dinámica de Checkout, gestor de dispositivos, webhook de LS → subscriptions
- Lógica de reintento de subida con curl en CI/CD
- URL de Checkout dividida en UUIDs separados para Standard/Premium
Interno
- Tags de release candidate para preverificación (detección dinámica de archivos en el pipeline de CI/CD, etc.)
Añadido
- Sistema de agentes (2C-2) — integración con el chat, relay de proveedor de temperature, UI de gestión de presets, limpieza de i18n
- Abstracción de MCP Transport + Streamable HTTP — estabilidad de stdio + soporte de servidor HTTP + migración de almacenamiento SQLite + almacenamiento de tokens de autenticación en Keyring
- Sync Batch A — capa universal de sincronización de archivos, dirty flag en tiempo real
- Batch de funciones de chat — adjuntar PDF (nativo para 3 proveedores + fallback personalizado), guardado de memo por selección de rango, galería de imágenes
- Mejoras de búsqueda jerárquica de IA + mejoras de búsqueda (trigram FTS5, RRF de 3 vías, vista previa de 2 columnas, UI de filtros)
Cambiado
- Sistema de diseño GLASS aplicado
- Rediseño de UI/UX S1~S6 — gestor de ventanas (FloatingPanel + PanelCanvas), adopción de shadcn/ui, rediseño de TaskBar, panel Explorer, modo de layout Docked
- Primera pasada de reemplazo de Phosphor Icons
- Mejoras en breadcrumb / popover de Tools
Corregido
- Múltiples parches de QA para la búsqueda jerárquica de IA
- Validación de target_id en el panel de documentos, guardado de mensajes incompletos tras cancelar, indicador de workspace activo y más
Añadido
- Papelera — soft delete + TrashView + restauración, previene la pérdida de datos por CASCADE
- Factory Reset — 8 categorías seleccionables individualmente
Cambiado
- Múltiples mejoras de UI, parches de QA
Corregido
- Clippy manual_flatten, etc.
Corregido
- Corrección de raíz del 404 en descarga de release en CI/CD — cambio a GitLab Generic Packages Registry
- Corrección de raíz de la no generación de .nsis.zip — añadido createUpdaterArtifacts
- Build de CI/CD: diagnóstico de clave de firma + verificación del zip del updater
Corregido
- Visualización de la versión, 3 problemas de build de despliegue
Seguridad
- Mejora en la gestión del PAT (Personal Access Token)
Añadido
- Adjuntar imágenes en el chat — Ctrl+V / selección de archivo / arrastrar y soltar, enrutado multimodal por proveedor
- Guardado de memo del par Q&A — incluye automáticamente la pregunta, formato blockquote
- Conmutador de vista de conversación/memo en la barra lateral — control segmentado
- Vista previa extendida de fragmentos de documento — Split View, puntuación de similitud, insignia de referencia
- Gestión avanzada de modelos — etiquetas de Capabilities, reordenación DnD, dashboard de costes, 9 proveedores preconfigurados
- Supabase Auth (Google/GitHub) completo — PKCE + callback en localhost, auto-refresh, UI de perfil
Cambiado
- Automatización de RAG (2C-RAG-FIX) — useRag por defecto true, delete-before-ingest, mejora de la herramienta search_documents
- Eliminada la jerga "chunks" en favor de términos intuitivos (2C-CHUNK-UX)
- Terminología Workspace → Folder unificada (i18n en 5 idiomas)
- Sistema de color cambiado a tonos fríos + acento púrpura profundo
- Tamaños de fuente unificados al estándar de la industria
- Refactorización del layout de barra lateral/Configuración (sin bordes, disposición de 3 columnas)
- ChatHeader rediseñado y fusionado con la parte inferior de la barra de entrada
Corregido
- Rediseño de raíz del pipeline de imágenes en notas (2C-IMG-FIX3) — race condition, atomicidad, rutas relativas, limpieza al borrar
- Colisión de state en OAuth (PKCE ahora gestiona la protección CSRF)
- 8 correcciones de lint de Clippy
Añadido
- Editor de notas WYSIWYG con Tiptap
- Sincronización entre dispositivos (Fase 2B) — backend de Google Drive, Union Merge de SQLite, UX de sincronización
- Contexto persistente (2B-3/4) — resumen automático de conversaciones, extracción automática de memoria, forget_note, búsqueda semántica
- Búsqueda semántica de conversaciones (2B-5) — híbrido FTS5 + LanceDB, modal de búsqueda rediseñado
- Registro dinámico de modelos (2C-1) — registrar proveedores personalizados, obtención automática de /v1/models
- Tema "Soft Depth" — sistema de variables CSS (--v-*), paleta de colores, árbol de la barra lateral
- Barra de pestañas — pestañas temporales/fijadas, estado de expansión de la barra lateral movido a Zustand
- Función de actualización manual
Cambiado
- Limpieza de la UI del chat — bordes en gradiente, tarjeta de bienvenida, bloques de código
- Colapso de carpetas, conversación de nuevo workspace, panel de notas, terminología de Sync
Corregido
- Warning de Clippy type_complexity
- Prevención de contaminación de caché en CI/CD
Añadido
- Jerarquía de workspaces (3 niveles)
- CRUD de memos + cifrado AES-256-GCM
- Selección de contexto con @mención — referenciar documentos/memos directamente desde la entrada
- Conversión de conversación → memo (📌 guardar)
- Herramientas integradas de IA (búsqueda, consulta de documentos, etc.)
- Visualización en tiempo real de tokens/coste (diferenciación BYOK)
- Persistencia de conversaciones (SQLite) + título automático + búsqueda FTS5 + datos reales en la barra lateral + modal de búsqueda Ctrl+K
- Onboarding OOBE + UI de confianza de clave API
- GitLab CI/CD + instalador NSIS + Auto Updater
Añadido
- Primera versión alpha — MVP (Fase 1) completo
- Chat multimodelo (BYOK) — streaming de Claude, GPT (código de Gemini completo)
- Base de datos vectorial local — vectorización y búsqueda de conversaciones/documentos basada en LanceDB
- Embeddings locales — ejecución en CPU de bge-m3, soporte multilingüe (30~86ms/chunk)
- RAG básico — subida de TXT/MD/HTML/PDF/DOCX → chunking → embeddings → búsqueda → respuesta
- Integración básica de MCP — servidor stdio, orquestación de Tool Use para 3 proveedores (Claude/GPT/Gemini), servidor de sistema de archivos (14 herramientas) probado en vivo
- Layout de 3 paneles + núcleo del chat (streaming + Markdown + ToolCall) + UI de Configuración/MCP/RAG + ModelSelector