This commit is contained in:
crschnick
2025-04-29 21:26:21 +00:00
parent 29f36cef5e
commit 7e2e0cff12
20 changed files with 144 additions and 3 deletions
+93
View File
@@ -0,0 +1,93 @@
## Docker
This release introduces support for docker compose. Containers in compose projects are grouped together and can be managed all at the same time via compose project entries.
The container state information shown is also improved, always showing the container state in combination with the system information.
## Batch mode
There is now a batch mode available which allows you to select multiple systems via checkboxes and perform actions for the entire batch. This can include starting/stopping, automatically adding available subconnections, or running scripts on all selected systems.
You can toggle the batch mode in the top left corner.
## Terminals
The terminal integration comes with many new features, so make sure to check out the settings menu:
- There is now built-in support for the terminal multiplexers tmux, zellij, and screen. This is especially useful for terminals without tabbing support.
- There is also now built-in support for custom prompts with starship, oh-my-posh, and oh-my-zsh.
- On Windows, you now have the ability to use a WSL distribution as the terminal environment, allowing you to use the new terminal multiplexer integration seamlessly on Windows systems as well.
## Password managers
The password manager integrations have been upgraded:
- There is now support for KeePassXC (Thanks to @illnesse for the large contribution of this feature)
- All password manager integrations have been reworked to work out of the box without configuration
- There is now support to use password manager SSH agents more easily
- The documentation site now contains setup instructions for all supported password managers
- You can now unlock the xpipe vault with your password manager
- Password manager requests are cached, fixing potential password manager overload issues when a lot of passwords are queried
- The password $KEY identifier has been adapted to reflect the individual name/schema of the password key reference
## SSH
Various improvements were made to the SSH implementation:
- The SSH gateway implementation has been reworked so that you can now use local SSH keys and other identities for connections with gateways
- The VSCode SSH remote integration has been reworked to allow more connections it to be opened in vscode. It now supports essentially all simple SSH connections, custom SSH connections, SSH config connections, and VM SSH connections. This support includes gateways
- There is now built-in support to refresh an SSO openpubkey with the opkssh tool when needed
- When the SSH password is set to none, XPipe will no longer prompt for it anyway if the preferred auth failed
- There is now the option to enable verbose ssh output to diagnose connection issues better
- For VMs, you can now choose to not use the hypervisor host as SSH gateway and instead directly connect to the VM IP
## Category configuration
There is now a new category configuration dialog available. You can find it by clicking on any category -> Configure. The goal of this is to unify the various available configuration options for categories, such as git sync status, color, and more.
This was added to give finer-grained control over how and when to enable scripts on systems within the category, especially now that there is now support for terminal prompts that can be automatically installed on a system. If you have production systems in a category, you can now exclude those easily from any kind of custom scripting functionality and other modifications to not touch them at all.
The available configuration options will also be expanded in future updates.
## Other
- Generated connection names, e.g. VM names, will now automatically update on refresh when they were changed
- Various speed improvements for shell operations
- Various startup speed improvements
- You can now launch custom scripts within XPipe with a command output dialog window without having to open a terminal
- Various installation types like the linux apt/rpm repository and homebrew installations now support automatic updates as well
- Improve sudo file write dialog to support more permission cases
- Handle cases where file transfer was interrupted better by not overriding the open local file on re-edit with a blank file
- Many dialog windows have now been merged with the main window
- The settings menu has been updated to support continuous scrolling
- Key files synced via git are now synced as pairs if a public key is available
- The script context menus will now use the respective icons of the script entries
- The k8s integration will now automatically add all namespaces for the current context when searching for connections
- The application window will now hide any unnecessary sidebars when being resized to a small width. This makes it much easier to use XPipe in a tiling window arrangement
- The webtop has been updated to have terminal multiplexers, proper konsole tab support, disabled kwallet, and more
- Various error messages and connection creation dialogs now contain a help link to the documentation sections
- The Windows application will now block the shutdown until save/sync has finished, preventing vault corruption caused by a sudden system shutdown
- RDP tunnel connections can now be configured with custom authentication and additional RDP options
- There is now a new introduction quick setup dialog to set the most important options on startup
- The scripts context menu now shows the respective scripts icons instead of generic ones
- The predefined sample script selection has been updated
- Add setting to disable HTTPs TLS verification for license activation API calls for cases where TLS traffic is decrypted in your organization
- Clarify more git password prompts for when a token was required
- Upgrade to GraalVM OpenJDK 24
- Add Korean translations
## Fixes
- Fix various embedded and busybox systems failing to open in file browser when essential commands like stat were missing
- Fix Windows msi updates failing when initial installation was installed per-user with Administrator privileges (will only work for new installs)
- Fix Windows msi updates launching XPipe as Administrator when restarting if it was a system-wide program files installation
- Fix some dialog content shifting around on initial show
- Fix custom service commands not launching properly with PowerShell as the local shell
- Fix update check being influenced by the local GitHub rate limiting
- Fix some file browser terminal dock window ordering issues
- Fix Windows terminal launch failing if default profile was set to launch as admin
- Fix tailscale login check not opening website on Linux
- Fix terminal connections failing to launch for some systems with a read-only file system
- Fix Windows Terminal launch failing if it was not added to the PATH
- Fix some launched applications exiting on Windows if XPipe is closed
- Fix powershell profile modules potentially breaking powershell shell environments
- Fix terminal launch failing on Windows when connection name contained some special characters
- Fix selfhst icons git clone not reliably working for chinese users
- Fix application restart after update not applying current workspace directory
+14
View File
@@ -0,0 +1,14 @@
## Compose
Several docker management platforms like portainer restrict external control of their compose projects. Instead of throwing confusing error messages, XPipe now detects if a compose project is managed by an external tool like portainer and displays this state for the compose project and prevents these external modifications. This also fixes cases where some compose projects were not listed by XPipe.
## Fixes
- Fix directory rename in file browser not working when pressing enter
- Fix launched electron applications (e.g. vscode) not using the wayland platform if possible, resulting in worse performance
- Fix RDP client files using wrong temp dir
- Fix rare StackOverflow when normalizing files
- Fix service types not updating in display when changed
- Fix WSL terminal environment on Windows not working without multiplexer
- Fix terminal recommended status not being updated when multiplexer settings change
- Fix exception when entering space in file choice text field
+3 -1
View File
@@ -76,7 +76,7 @@ windowsApp=Windows App.app
chmod=Chmod
chgrp=Chgrp
chown=Chown
wsl=Windows Subsystem for Linux
windowsSubsystem=Windows Subsystem for Linux
docker=Docker
proxmox=Proxmox PVE
xonXoff=XON/XOFF
@@ -124,3 +124,5 @@ starship=Starship
ohmyposh=Oh My Posh
ohmyzsh=Oh My Zsh
uxterm=UXTerm
portainer=Portainer
wsl=WSL
+2
View File
@@ -1404,3 +1404,5 @@ configure=Konfigurer
addConnection=Tilføj forbindelse
noCompatibleConnection=Ingen kompatibel forbindelse fundet
newCategory=Ny kategori
dockerComposeRestricted=Compose-projektet er begrænset af $NAME$ og kan ikke ændres eksternt. Brug venligst $NAME$ til at administrere dette compose-projekt.
restricted=Begrænset
+2
View File
@@ -1390,3 +1390,5 @@ configure=Konfigurieren Sie
addConnection=Verbindung hinzufügen
noCompatibleConnection=Keine kompatible Verbindung gefunden
newCategory=Neue Kategorie
dockerComposeRestricted=Das Kompositionsprojekt ist durch $NAME$ eingeschränkt und kann nicht von außen geändert werden. Bitte verwende $NAME$, um dieses Compose-Projekt zu verwalten.
restricted=Eingeschränkt
+2
View File
@@ -1425,3 +1425,5 @@ configure=Configure
addConnection=Add connection
noCompatibleConnection=No compatible connection found
newCategory=New category
dockerComposeRestricted=The compose project is restricted by $NAME$ and can't be modified externally. Please use $NAME$ to manage this compose project.
restricted=Restricted
+3 -1
View File
@@ -1332,7 +1332,7 @@ refreshOpenpubkey=Actualizar identidad openpubkey
refreshOpenpubkeyDescription=Ejecuta opkssh refresh para que la identidad openpubkey vuelva a ser válida
all=Todos los
terminalPrompt=Terminal prompt
terminalPromptDescription=La herramienta prompt de terminal a utilizar en tus terminales remotos. Habilitar un prompt de terminal establecerá y configurará automáticamente la herramienta prompt en el sistema de destino al abrir una sesión de terminal.\n\nEsto no modifica ninguna configuración de avisos o archivos de perfil existentes en un sistema. Esto aumentará el tiempo de carga del terminal por primera vez mientras se configura el prompt en el sistema remoto. Es posible que tu terminal necesite una fuente especial de https://github.com/ryanoasis/nerd-fonts para mostrar el prompt correctamente.
terminalPromptDescription=La herramienta prompt de terminal a utilizar en tus terminales remotos. Habilitar un prompt de terminal establecerá y configurará automáticamente la herramienta prompt en el sistema de destino al abrir una sesión de terminal.\n\nEsto no modifica ninguna configuración de prompt ni archivos de perfil existentes en un sistema. Esto aumentará el tiempo de carga del terminal por primera vez mientras se configura el prompt en el sistema remoto. Es posible que tu terminal necesite una fuente especial de https://github.com/ryanoasis/nerd-fonts para mostrar el prompt correctamente.
terminalPromptConfiguration=Configuración del indicador de terminal
terminalPromptConfig=Archivo de configuración
terminalPromptConfigDescription=El archivo de configuración personalizada que se aplicará al prompt. Esta configuración se establecerá automáticamente en el sistema de destino cuando se inicialice el terminal y se utilizará como configuración predeterminada del indicador.\n\nSi quieres utilizar el archivo de configuración por defecto existente en cada sistema, puedes dejar este campo vacío.
@@ -1359,3 +1359,5 @@ configure=Configura
addConnection=Añadir conexión
noCompatibleConnection=No se ha encontrado ninguna conexión compatible
newCategory=Nueva categoría
dockerComposeRestricted=El proyecto compose está restringido por $NAME$ y no puede modificarse externamente. Por favor, utiliza $NAME$ para gestionar este proyecto de composición.
restricted=Restringido
+2
View File
@@ -1398,3 +1398,5 @@ configure=Configurer
addConnection=Ajouter une connexion
noCompatibleConnection=Aucune connexion compatible trouvée
newCategory=Nouvelle catégorie
dockerComposeRestricted=Le projet compose est restreint par $NAME$ et ne peut pas être modifié de l'extérieur. Utilise $NAME$ pour gérer ce projet compose.
restricted=Restreint
+2
View File
@@ -1359,3 +1359,5 @@ configure=Mengkonfigurasi
addConnection=Menambahkan koneksi
noCompatibleConnection=Tidak ditemukan koneksi yang kompatibel
newCategory=Kategori baru
dockerComposeRestricted=Proyek compose ini dibatasi oleh $NAME$ dan tidak dapat dimodifikasi secara eksternal. Silakan gunakan $NAME$ untuk mengelola proyek penulisan ini.
restricted=Dibatasi
+2
View File
@@ -1359,3 +1359,5 @@ configure=Configurare
addConnection=Aggiungi connessione
noCompatibleConnection=Nessuna connessione compatibile trovata
newCategory=Nuova categoria
dockerComposeRestricted=Il progetto compose è limitato da $NAME$ e non può essere modificato dall'esterno. Utilizza $NAME$ per gestire questo progetto di composizione.
restricted=Limitato
+2
View File
@@ -1359,3 +1359,5 @@ configure=設定する
addConnection=接続を追加する
noCompatibleConnection=互換性のある接続が見つからない
newCategory=新しいカテゴリー
dockerComposeRestricted=composeプロジェクトは$NAME$ 。このcomposeプロジェクトの管理には$NAME$ 。
restricted=制限あり
+2
View File
@@ -1359,3 +1359,5 @@ configure=구성
addConnection=연결 추가
noCompatibleConnection=호환되는 연결을 찾을 수 없습니다
newCategory=새 카테고리
dockerComposeRestricted=이 작성 프로젝트는 $NAME$ 에 의해 제한되며 외부에서 수정할 수 없습니다. 이 작성 프로젝트를 관리하려면 $NAME$ 을 사용하세요.
restricted=제한됨
+2
View File
@@ -1359,3 +1359,5 @@ configure=Configureren
addConnection=Verbinding toevoegen
noCompatibleConnection=Geen compatibele verbinding gevonden
newCategory=Nieuwe categorie
dockerComposeRestricted=Het compose project is beperkt door $NAME$ en kan niet extern gewijzigd worden. Gebruik $NAME$ om dit compose project te beheren.
restricted=Beperkt
+2
View File
@@ -1360,3 +1360,5 @@ configure=Konfiguruj
addConnection=Dodaj połączenie
noCompatibleConnection=Nie znaleziono zgodnego połączenia
newCategory=Nowa kategoria
dockerComposeRestricted=Projekt compose jest ograniczony przez $NAME$ i nie może być modyfikowany zewnętrznie. Użyj $NAME$ do zarządzania tym projektem compose.
restricted=Ograniczony
+2
View File
@@ -1359,3 +1359,5 @@ configure=Configura
addConnection=Adiciona uma ligação
noCompatibleConnection=Não encontraste uma ligação compatível
newCategory=Nova categoria
dockerComposeRestricted=O projeto compose é restrito por $NAME$ e não pode ser modificado externamente. Utiliza $NAME$ para gerir este projeto de composição.
restricted=Restrito
+2
View File
@@ -1359,3 +1359,5 @@ configure=Настройте
addConnection=Добавить соединение
noCompatibleConnection=Не найдено совместимое соединение
newCategory=Новая категория
dockerComposeRestricted=Проект compose ограничен $NAME$ и не может быть изменен извне. Пожалуйста, используй $NAME$ для управления этим проектом compose.
restricted=Ограниченный
+2
View File
@@ -1359,3 +1359,5 @@ configure=Konfigurera
addConnection=Lägg till anslutning
noCompatibleConnection=Ingen kompatibel anslutning hittades
newCategory=Ny kategori
dockerComposeRestricted=Compose-projektet är begränsat av $NAME$ och kan inte ändras externt. Använd $NAME$ för att hantera detta compose-projekt.
restricted=Begränsad
+2
View File
@@ -1359,3 +1359,5 @@ configure=Yapılandırma
addConnection=Bağlantı ekle
noCompatibleConnection=Uyumlu bağlantı bulunamadı
newCategory=Yeni kategori
dockerComposeRestricted=Compose projesi $NAME$ tarafından kısıtlanmıştır ve harici olarak değiştirilemez. Bu compose projesini yönetmek için lütfen $NAME$ adresini kullanın.
restricted=Kısıtlı
+2
View File
@@ -1584,3 +1584,5 @@ configure=配置
addConnection=添加连接
noCompatibleConnection=未找到兼容连接
newCategory=新类别
dockerComposeRestricted=该 compose 项目受$NAME$ 限制,不能从外部修改。请使用$NAME$ 管理此撰写项目。
restricted=限制级
+1 -1
View File
@@ -1 +1 @@
16.1
16.2-1