Releases: IvanRosNavarro/Vela-Browser
Vela v0.1.9
Cambios
- fix(extensions): Autofill de Bitwarden MV3 funcional en Vela:
- PopupView con sandbox:false para que Chromium reconozca el popup como contexto de extension valido.
- chrome.scripting.executeScript con files: delega en Chromium nativo (extension isolated world con acceso a chrome.* APIs).
- Hook onProfileSessionReady: ECE se crea antes de cargar extensiones del usuario, garantizando registro correcto de content scripts.
Vela v0.1.8
Novedades
Traducción de texto seleccionado
Selecciona cualquier texto en una web y tradúcelo al instante sin salir del navegador. Sin API key ni registro requeridos.
- Botón globo en la URL bar con tres estados: neutral, sugerido y traducido.
- Popup de resultado persistente en la esquina inferior derecha.
- Menú contextual sobre texto seleccionado → opción Traducir.
- Command Palette (Ctrl+Shift+P) → comando Traducir texto seleccionado.
- Idioma destino configurable en vela://settings → General (15 idiomas).
Navegador predeterminado en Windows 11
Vela ahora aparece en Configuración → Aplicaciones → Aplicaciones predeterminadas de Windows 11.
Mejoras en el editor de capturas
- Ctrl+C — copia la captura anotada al portapapeles.
- Ctrl+S — guarda como PNG.
- La modal se cierra automáticamente tras exportar.
Fixes
- Corregido crash del editor de capturas al abrirlo.
Vela v0.1.7
Novedades
Herramientas de desarrollador integradas en la shell
Las 10 herramientas dev se han movido del popup flotante a un modal nativo de la shell:
- Color picker con eyedropper nativo (captura cualquier pixel de la pantalla)
- JSON formatter con coloreado de sintaxis
- Regex tester con flags y coincidencias resaltadas
- Text diff linea a linea
- Conversores: unidades CSS, Base64, Hash (MD5/SHA), UUID/NanoID, Timestamps Unix
Accesibles desde el Command Palette, el menu de Vela y el boton DevMode.
Recarga vaciando cache
Ctrl+Shift+R y Ctrl+F5 vacia la cache y recarga la pagina activa. Tambien disponible en el Command Palette como 'Recargar vaciando cache'.
Idioma espanol por defecto
El navegador y todas las extensiones instaladas (Bitwarden, uBlock...) se cargan ahora en espanol.
Correcciones
- fix: popup de extensiones CRX (Bitwarden, uBlock...) no se abria. Las extensiones se cargaban antes de la instancia ECE, dejando el actionMap vacio. Incluye patch ECE 4.9.0 para race condition en PopupView (popup encolia a 25x25 px).
- fix: color del logo incorrecto en temas Vela Oscuro y Vela Claro (issue #27). El logo usaba el accent en lugar de --vela-fg.
- fix: clipboard-sanitized-write fallaba con NotAllowedError en origenes HTTPS (issue #26).
- fix: crash al hacer clic derecho sobre texto seleccionado (issue #28). Caracteres en selectionText escapaban incorrectamente en el HTML del menu contextual.
Vela v0.1.6
Novedades
Windows Jump List
- Acceso rápido a perfiles y ventanas abiertas desde el icono de Vela en la barra de tareas de Windows.
- Ventana fantasma para abrir una nueva ventana de perfil directamente desde el Jump List.
Ventana blindada desde paleta y atajo
- Nuevo comando
window.openBlindedaccesible desde el Command Palette. - Atajo
Ctrl+Shift+Bpara abrir una ventana blindada (efímera, sin historial ni persistencia).
Modal de actualizaciones
- El botón «Buscar actualizaciones» en
vela://settings → Generalabre ahora una modal con el estado de la actualización. - 6 fases visuales: buscando, al día, disponible, descargando (barra de progreso), lista para instalar, error.
- En builds de desarrollo muestra un mensaje informativo en lugar de conectar con el servidor de actualizaciones.
Correcciones
fix(updater): la comunicación entre el WCV de settings y el shell renderer usa IPC correctamente — el proceso principal hace broadcast y el shell actualiza su store.
Instalación
Descarga el instalador para tu plataforma en los assets de abajo.
Vela v0.1.5
Correcciones
- fix(updater): corregido error «Cannot find latest.yml» al comprobar actualizaciones. El CI publicaba los assets en un release borrador de GitHub, inaccesible para
electron-updater. Ahora los releases se publican directamente como públicos. - chore(ci): actualización de GitHub Actions a v6 (runtime Node 24).
Vela v0.1.4
Correcciones de errores
Sincronización
- Sesión de sync perdida al expirar el token: cuando el servidor devolvía 401, el evento
SYNC_SESSION_EXPIREDse emitía pero nadie lo procesaba. El token expirado sobrevivía en disco y cada arranque de Vela entraba en un bucle de intentos fallidos. Ahora el cliente limpia las credenciales y notifica a la UI para que el usuario pueda volver a iniciar sesión. - Sesión expirada después de 30 días de uso continuo: el TTL de sesión era fijo desde la creación. Usar Vela cada día no prolongaba la sesión. Ahora cada petición autenticada renueva la sesión otros 30 días (sliding window).
- Cambio de nombre de dispositivo no funcionaba: el cliente no enviaba el token de autenticación y el servidor tampoco tenía el endpoint. Ambos corregidos.
Interfaz
- Popup de sugerencias de URL con URLs largas: el popup fallaba con
ERR_FAILEDcuando la URL de búsqueda superaba cierta longitud (enviada por query string). Ahora se envía por IPC de forma directa. La altura del popup también es dinámica según el número de sugerencias.
Compatibilidad web
- Login de Google y WhatsApp Web: algunos sitios rechazaban Vela por el user-agent. Mejorada la compatibilidad con servicios que comprueban el agente de usuario.
Vela v0.1.3
Correcciones de errores
Compatibilidad con sitios web
- User agent: se eliminaba correctamente el token
Electron/pero quedabavela/0.1.2en el UA, haciendo que WhatsApp Web y otros sitios detectasen Vela como un navegador desconocido. Ahora el UA es un Chrome estándar. - Permisos de storage:
persistent-storagese denegaba silenciosamente, impidiendo que sitios como WhatsApp registrasen sus Service Workers (errorInvalidStateError) y corrompiendo la base de datos de cuotas de Chromium.
Portapapeles
- Las escrituras al portapapeles desde páginas web fallaban con
NotAllowedErrorporque se ejecutaban fuera de un gesto de usuario. Ahora se enrutan por IPC al proceso principal.
Descargas
- El popup de descargas no se mostraba correctamente en algunos casos.
- El nombre de archivo guardado podía quedar incorrecto al descargar.
Estabilidad
- Instancia única: si se lanzaba un segundo ejecutable mientras Vela ya estaba abierto, se producían colisiones de caché en Windows (
Access Denied). AñadidorequestSingleInstanceLock; el segundo lanzamiento abre una nueva ventana en el proceso existente. - Error boundary: corregidos modificadores
overrideen TypeScript strict que causaban errores de compilación.
Vela v0.1.2
Fixes
#14 — Se pierde todo el sidebar al navegar a sitios con cert inválido
El evento certificate-error de Electron se disparaba también para el WebContents del shell cuando intentaba cargar el favicon de un sitio con certificado inválido. CertificateManager llamaba wc.loadURL('vela://cert-error') sobre ese WebContents, reemplazando toda la React app. Ahora el evento se ignora en BrowserWindows (shell y popups); solo se navega a vela://cert-error en WebContentsViews (tabs).
#12 — Buscar actualizaciones no mostraba ninguna notificación
El Toaster se renderizaba en el área del WCV, que es una capa nativa de Electron que flota por encima del HTML. Los toasts quedaban tapados e invisibles. Reposicionado dentro del área del sidebar con ancho máximo dinámico.
Mejoras internas
ErrorBoundaryen el renderer para mostrar crashes de renderizado en lugar de pantalla negra- Fondo sólido en estados de carga/error (eran transparentes en Windows con fondo
#00000000)
Vela v0.1.1
Novedades
Navegador predeterminado (feature-1)
Nueva sección «Navegador predeterminado» en vela://settings#general. Usa app.isDefaultProtocolClient / setAsDefaultProtocolClient de Electron para gestionar los protocolos http/https. En Windows 10/11 abre el diálogo de apps predeterminadas del sistema; en macOS/Linux lo establece directamente.
Vault — Formulario de nueva contraseña (issue-1)
Botón + Nueva contraseña en la toolbar del gestor que abre un formulario inline con campos: dominio, URL de login, usuario, contraseña, carpeta y notas. El botón 🎲 del campo contraseña integra el generador directamente. Tras guardar, la nueva entrada queda seleccionada en la lista. Nueva opción «Contraseñas» en el menú Vela entre Favoritos y Descargas.
Correcciones
Vault — Captura de credenciales en SPAs (issue-2)
beforeunload no se dispara en SPAs que usan history.pushState tras un submit exitoso. Se inyecta un hook en el main world que detecta la navegación y envía las credenciales pendientes al preload. Además: se excluyen checkbox/radio del candidato a campo de usuario, y se amplía el temporizador de descarte de 4 s a 10 s para APIs lentas.
CSP de producción — menú contextual (issue-5)
La CSP se aplicaba a todos los file://, incluyendo vela-ctxmenu.html (escrito en userData). En producción, script-src sin 'unsafe-inline' bloqueaba el JS del popup y el menú nunca aparecía. Fix: restringir el check de file:// al prefijo del ASAR/app. Adicionalmente, Electron se oculta del User-Agent para evitar bloqueos en sitios que filtran el header.
Empaquetado — extensiones de Chrome (issue-3)
Añadido asarUnpack para electron-chrome-extensions en electron-builder.config.cjs. Resuelve fallos al cargar extensiones cuando el binario está empaquetado en ASAR.