What's Changed
Added
- Passbolt Secret Backend — Passbolt password manager integration (#6):
PassboltBackendimplementingSecretBackendtrait viago-passbolt-cli- Store, retrieve, and delete credentials as Passbolt resources
- CLI detection and version display in Settings → Secrets
- Server configuration status check (configured/not configured/auth failed)
PasswordSource::Passboltoption in connection dialog password source dropdownSecretBackendType::Passboltoption in settings backend selector- Credential resolution and rename support in
CredentialResolver - Requires
passbolt configureCLI setup before use
Changed
- Unified Secret Backends — Replaced individual
PasswordSourcevariants (KeePass, Keyring, Bitwarden, OnePassword, Passbolt) with singleVaultvariant:- Connection dialog password source dropdown: Prompt, Vault, Variable, Inherit, None
- Serde aliases preserve backward compatibility with existing configs
PasswordSourceis nowCloneonly (no longerCopy) due toVariable(String)
- Variable Password Source — New
PasswordSource::Variable(String)reads credentials from a named secret global variable:- Connection dialog shows variable dropdown when "Variable" is selected
- Dropdown populated with secret global variables only
- Variables Dialog Improvements — Show/Hide and Load from Vault buttons for secret variables:
- Toggle password visibility with
view-reveal-symbolic/view-conceal-symbolicicon - Load secret value from vault with key
rustconn/var/{name} - Secret variable values auto-saved to vault on dialog save, cleared from settings file
- Toggle password visibility with
Fixed
- Secret Variable Vault Backend — Fixed secret variables always using libsecret instead of configured backend:
- Save/load secret variable values now respects Settings → Secrets backend (KeePassXC, libsecret)
- Added
save_variable_to_vault()andload_variable_from_vault()functions using settings snapshot - Toast notification on vault save/load failure with message to check Settings
- Variable Dropdown Empty in Connection Dialog — Fixed Variable dropdown showing "(Немає)" when editing connections:
set_global_variables()was never called when creating/editing connections- Added call to all three
ConnectionDialogcreation sites (new, edit, template) - Edit dialog:
set_global_variables()called beforeset_connection()so variable selection works
- Telnet Backspace/Delete Key Handling — Fixed keyboard settings not working correctly for Telnet connections (#5):
- Replaced
stty eraseshell wrapper approach with VTE nativeEraseBindingAPI - Backspace/Delete settings now applied directly on the VTE terminal widget before process spawn
Automaticmode uses VTE defaults (termios for Backspace, VT220\e[3~for Delete)Backspace (^H)sends ASCII0x08,Delete (^?)sends ASCII0x7Fas expected- Fixes Delete key showing
3~escape artifacts on servers that don't support VT220 sequences
- Replaced
- Split View Panel Sizing — Fixed left panel shrinking when splitting vertically then horizontally:
- Use model's fractional position (0.0–1.0) instead of hardcoded
size / 2for divider placement - Disable
shrink_start_child/shrink_end_childto prevent panels from collapsing below minimum size - One-shot position initialization via
connect_mapprevents repeated resets on widget remap - Save user-dragged divider positions back to the model via
connect_notify_local("position") - Each split now correctly divides the current panel in half without affecting other panels
- Use model's fractional position (0.0–1.0) instead of hardcoded
Installation
Debian/Ubuntu
sudo dpkg -i rustconn_0.8.1_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora
sudo dnf install rustconn-0.8.1-1.fc41.x86_64.rpmAppImage
chmod +x RustConn-0.8.1-x86_64.AppImage
./RustConn-0.8.1-x86_64.AppImageopenSUSE (OBS)
Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn
# Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref
sudo zypper in rustconn
# Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/16.0/ rustconn
sudo zypper ref
sudo zypper in rustconn