release-2.7.1 (#1296)

* Add Helm and GitOps deployment setup

* fix: build better-sqlite3 from source in Docker (#1267)

* fix: preserve runtime SSL settings (#1268)

* fix: support forwarding from the memory SSH agent (#1269)

* fix: support forwarding from the memory agent

* style: format memory agent test

* fix: prompt for encrypted SFTP key passphrases (#1270)

* fix: prompt for SFTP key passphrases

* style: format SSH key utility test

* fix: include host context in automation notifications (#1271)

* fix: include host context in automation notifications

* style: format automation notification changes

* fix: reserve sidebar height for host tags (#1272)

* fix: keep host action rows stable at large font sizes (#1273)

* fix: honor certificate setting during server probe (#1274)

* fix: package standard Linux icon sizes (#1275)

* fix: avoid duplicate Docker HTTPS listener (#1276)

* Fix host status without metrics collection (#1277)

* fix: allow eight-digit secure auth codes (#1263)

Allow TOTP prompts to accept secure auth codes longer than six digits without blocking valid authentication attempts.

Generated with Codebuff 🤖

Co-authored-by: Chetan <chetan.development@gmail.com>
Co-authored-by: Codebuff <noreply@codebuff.com>

* Harden Helm deployment defaults

* Update Helm workflow action

* Exclude Helm templates from Prettier

* Fix browser RDP file drops (#1279)

* Fix Proxmox guest credential usernames (#1280)

* Add WSL local terminal option (#1281)

* refactor: split the transfer engine into focused modules (#1282)

* refactor: extract SFTP promisify helpers into sftp-promisify module

* refactor: extract transfer timing and rate stats into transfer-stats module

* refactor: extract transfer error classes and recovery checks into transfer-errors module

* refactor: extract host/path utility helpers into transfer-host-utils module

* refactor: extract SFTP directory tree helpers into transfer-sftp-dir module

* refactor: extract segment copy job builder into transfer-segment-copy module

* refactor: extract file scan and sample helpers into transfer-scan module

* refactor: move throttled progress helper into transfer-stats module

* style: format transfer modules

* perf: optimize tmux monitor aggregation (#1283)

* fix: reserve credential tag row height (#1284)

* feat: edit AI provider model settings (#1285)

* fix: clarify click-to-expand host setting (#1286)

* fix: allow portable imports on remote databases (#1287)

* fix: allow HTTPS to share the configured port (#1288)

* fix: resolve synced jump hosts on the server (#1289)

* fix: make terminal clipboard shortcuts layout independent (#1290)

* fix: use compatible fetch dispatcher for Tailscale (#1291)

* fix: add OIDC environment recovery override (#1292)

* fix: coalesce rapid mobile terminal input (#1293)

* fix: coalesce rapid mobile terminal input

* fix: support clean xterm patch installs

* fix: resolve synced remote desktop host IDs (#1295)

* feat: make the SFTP file manager path bar editable (#1294)

Co-authored-by: Maxime Bonillo <257463937+dropafterfree@users.noreply.github.com>
Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>

* feat: add passkey sign in to the login screen

* fix: remove rounded corners from the host list search bar

* fix: stop image storage settings text wrapping to one word per line

* fix: prevent malformed websocket messages from crashing the server

* chore: increment version

* fix: remove gaps between host rows in the sidebar list

Keep sub-pixel row measurements and stop wiping the size cache on hover.

* fix: Failed to connect through jump hosts (#1180)

https://github.com/Termix-SSH/Support/issues/1180

* feat: Progress bar for file downloads in the file manager (#1158)

https://github.com/Termix-SSH/Support/issues/1158

* feat: Allow setting Silent OIDC Login via ENV var (#1174)

https://github.com/Termix-SSH/Support/issues/1174

* feat: `IdentityFile` to limit the number of attempts by agents (#1165)

https://github.com/Termix-SSH/Support/issues/1165

* feat: Credentials clone (#1159)

https://github.com/Termix-SSH/Support/issues/1159

* chore: update release notes

* docs: move helm setup guide to the docs site

* fix: type errors in FilteredAgent agent identity handling

* fix: remove stale better-sqlite3 prebuilds so the source build is used

* fix: actually build better-sqlite3 from source so arm64 docker images work

* fix: credential edit pencil in host editor and add clone action to credential list

* fix: clear editingHost so the credential pencil actually opens the editor

* chore: run format and lint

* fix: folder drag and drop upload failing in the file manager

* chore: sync Crowdin translations for 2.7.1

---------

Co-authored-by: alex-ctms <alex-ctms@users.noreply.github.com>
Co-authored-by: ZacharyZcR <zacharyzcr1984@gmail.com>
Co-authored-by: Chetan Kumar <74929596+ckloop@users.noreply.github.com>
Co-authored-by: Chetan <chetan.development@gmail.com>
Co-authored-by: Codebuff <noreply@codebuff.com>
Co-authored-by: ZacharyZcR <payasonorahc@protonmail.com>
Co-authored-by: dropafterfree <maxime.bonillo@gmail.com>
Co-authored-by: Maxime Bonillo <257463937+dropafterfree@users.noreply.github.com>
This commit is contained in:
165 files changed
+6778 -2090

No files matched your search

+27 -5
View File
@@ -111,8 +111,12 @@
"filterTypeKey": "Clave SSH",
"filterTagsGroup": "Etiquetas",
"copyDeployCommand": "Copiar comando de despliegue",
"cloneCredentialAction": "Credencial clonada",
"clonedCredential": "Clonado {{name}}",
"clonedCredentialName": "{{name}} (copiar)",
"deleteCredentialAction": "Eliminar credenciales",
"editCredentialAction": "Editar credenciales",
"failedToCloneCredential": "Error al clonar las credenciales",
"failedToDeleteCredential": "Error al eliminar las credenciales",
"idBadge": "IDENTIFICACIÓN",
"keyBadge": "LLAVE",
@@ -925,6 +929,9 @@
"agentSocketPathLabel": "Ruta del socket del agente",
"agentSocketPathPlaceholder": "Dejar vacío para usar SSH_AUTH_SOCK",
"agentSocketPathHint": "Dejar vacío para detectar automáticamente desde la variable de entorno SSH_AUTH_SOCK, o introduzca una ruta de socket personalizada (p. ej. /run/user/1000/gnupg/S.gpg-agent.ssh).",
"agentIdentityLabel": "Identidad del agente (clave pública)",
"agentIdentityPlaceholder": "Déjelo en blanco para probar todas las claves del agente.",
"agentIdentityHint": "Pegue una clave pública (por ejemplo, ssh-ed25519 AAAA...) para ofrecer únicamente esa clave desde el agente. Se recomienda cuando el agente maneja muchas claves, para evitar exceder el límite de intentos de autenticación (MaxAuthTries) del servidor.",
"shareSshAuthLabel": "Compartir autenticación SSH",
"shareSshAuthDesc": "Entregue a los destinatarios copias cifradas de la autenticación SSH de este host. La credencial personal del destinatario seguirá teniendo prioridad.",
"tailscaleDeviceSelect": "Seleccionar dispositivo Tailscale",
@@ -1234,6 +1241,12 @@
"noCredentialsFound": "No se encontraron credenciales",
"addCredentialBtn": "Añadir credencial",
"updateCredentialBtn": "Actualizar credencial",
"editCredentialAction": "Editar credenciales",
"backToHost": "Volver al anfitrión",
"saveCredentialAsNewBtn": "Guardar como nuevo",
"saveCredentialAsNewDesc": "Crea una nueva credencial con estos cambios y la asigna a este host. La credencial original permanece sin cambios.",
"credentialSavedAsNew": "Guardado como una nueva credencial",
"failedToSaveCredentialAsNew": "No se pudo guardar como una nueva credencial.",
"features": "Características",
"noFolder": "(Sin carpeta)",
"deleteSelected": "Eliminar",
@@ -1318,12 +1331,12 @@
"displayDensityCompact": "Compacto",
"displayShowTags": "Mostrar etiquetas",
"displayTrayOnClick": "Abrir acciones al hacer clic (en lugar de al pasar el ratón por encima)",
"actionsVisibility": "Acciones del anfitrión",
"actionsVisibilityDesc": "Cuando aparecen los botones de conexión y administración en cada host",
"actionsVisibility": "Visualización de acciones del host",
"actionsVisibilityDesc": "Elige cuándo se expanden las acciones del anfitrión. Selecciona \"Clic\" para restaurar el comportamiento anterior de \"clic para expandir\".",
"actionsAlways": "Siempre visible",
"actionsOnly": "Conéctate solamente, el resto al hacer clic.",
"actionsHover": "Mostrar al pasar el cursor",
"actionsClick": "Mostrar al hacer clic",
"actionsClick": "Haz clic para expandir/contraer",
"openOnDoubleClick": "Abrir con doble clic",
"openOnDoubleClickDesc": "Se requiere un doble clic para abrir una sesión de host en lugar de un solo clic.",
"deletedHost": "Eliminado {{name}}",
@@ -1867,6 +1880,7 @@
"uploaded": "Subido {{name}}",
"uploadFailed": "Error al cargar {{name}}",
"uploadDisabled": "Las cargas están deshabilitadas para esta conexión.",
"driveUnavailable": "Habilite la redirección de unidades RDP antes de cargar archivos.",
"dropToUpload": "Arrastra y suelta los archivos para subirlos"
},
"toolbar": {
@@ -2037,6 +2051,9 @@
"folderName": "Nombre de la carpeta",
"fileUploadedSuccessfully": "Archivo \"{{name}}\" subido correctamente",
"failedToUploadFile": "Error al subir el archivo",
"uploadingFolderFiles": "Subiendo {{count}} archivo(s)...",
"uploadedFolderFiles": "Se subieron correctamente los archivos {{count}}",
"uploadedFolderPartial": "Se subieron {{uploaded}} archivos, {{failed}} falló.",
"fileDownloadedSuccessfully": "Archivo \"{{name}}\" descargado correctamente",
"failedToDownloadFile": "Error al descargar el archivo",
"fileCreatedSuccessfully": "Archivo \"{{name}}\" creado correctamente",
@@ -2208,6 +2225,8 @@
"operationCompleted": "{{operation}} {{count}} elementos",
"downloadFileSuccess": "Archivo {{name}} descargado correctamente",
"downloadFileFailed": "Error en la descarga",
"downloadingFile": "Descargando {{name}}…",
"downloadProgressBytes": "{{transferred}} / {{total}}",
"moveTo": "Mover a {{name}}",
"diffCompareWith": "Comparar diferencias con {{name}}",
"dragOutsideToDownload": "Arrastrar fuera de la ventana para descargar ({{count}} archivos)",
@@ -3254,6 +3273,7 @@
"oidcAutoProvisionDesc": "Crear automáticamente cuentas para usuarios OIDC/SSO en el primer inicio de sesión (independiente de la opción de registro)",
"oidcSilentLoginDefault": "Inicio de sesión silencioso OIDC por defecto",
"oidcSilentLoginDefaultDesc": "Redirige automáticamente al inicio de sesión OIDC en cada visita, omitiendo por completo el formulario de inicio de sesión",
"oidcSilentLoginDefaultLockedDesc": "Esta configuración está bloqueada por la variable de entorno OIDC_SILENT_LOGIN_DEFAULT y no se puede cambiar aquí.",
"allowPasswordReset": "Permitir restablecimiento de contraseña",
"allowPasswordResetDesc": "Código de restablecimiento a través de los registros de Docker",
"commandHistoryEnabled": "Historial de comandos",
@@ -3317,11 +3337,11 @@
"createRole": "Crear",
"creating": "Creando...",
"exportDatabase": "Exportar base de datos",
"exportDatabaseDesc": "Descargar una copia de seguridad de todos los hosts, credenciales y configuraciones",
"exportDatabaseDesc": "Descarga una copia de seguridad portátil de SQLite de todos los hosts, credenciales y configuraciones.",
"export": "Exportar",
"exporting": "Exportando...",
"importDatabase": "Importar base de datos",
"importDatabaseDesc": "Restaurar desde un archivo de copia de seguridad .sqlite",
"importDatabaseDesc": "Restaurar desde una copia de seguridad .sqlite portátil en cualquier base de datos.",
"importDatabaseSelected": "Seleccionado: {{name}}",
"selectFile": "Seleccionar archivo",
"changeFile": "Cambiar",
@@ -4516,6 +4536,7 @@
"selectProvider": "Seleccione un proveedor",
"providerSettings": "Configuración del proveedor",
"addProvider": "Agregar proveedor",
"editProvider": "Editar proveedor",
"removeProvider": "Eliminar proveedor",
"providerType": "Proveedor",
"providerLabel": "Nombre",
@@ -4526,6 +4547,7 @@
"defaultModelPlaceholder": "Por ejemplo: llama3.1 o claude-opus-5",
"labelRequired": "Dale un nombre a este proveedor.",
"providerSaveFailed": "No se pudo guardar el proveedor",
"providerUpdated": "Proveedor actualizado",
"providerDeleteFailed": "No se pudo eliminar al proveedor.",
"privateEndpointHint": "Las direcciones de su red privada necesitan que un administrador autorice el acceso al host previamente.",
"providerOllama": "Ollama",