Skip to content

v0.15.8

Choose a tag to compare

@github-actions github-actions released this 04 Jun 18:33
· 15 commits to main since this release

What's Changed

Fixed

  • Keybinding reassignment not registering keystrokes — the 0.15.7 fix (suspending accelerators) was necessary but not sufficient: after the Record button becomes insensitive it loses keyboard focus, leaving GTK4 with no target widget for key event propagation. Additionally, AdwPreferencesDialog with search_enabled=true installs a key_capture_widget on its internal SearchEntry that intercepts letter keys in bubble phase. Now the recorder (1) moves focus to the parent ActionRow so GTK4 has a valid propagation target, and (2) temporarily disables PreferencesDialog search during recording to eliminate SearchEntry interference. Both are restored on recording completion or cancellation (#167)
  • Sidebar: right-click context menu not appearing for hosts in groups — on Wayland with multiple groups, the empty_space_gesture on ScrolledWindow (bubble phase) could race with the per-item gesture on TreeExpander (capture phase): both handlers fired for the same right-click event, causing empty_space_gesture to call close_active_popover() and immediately destroy the item context menu that had just opened. Now empty_space_gesture checks via pick() + ancestor(TreeExpander) whether the click landed on an actual row and bails out if so. Additionally fixed a memory leak where focus-widget signal handlers accumulated on the window (never disconnected after popover close) and eliminated double unparent() calls that produced GTK critical warnings (#168)
  • Secret variable with vault entry name wrote duplicate entry to vault — when a secret variable had a custom "Vault entry" name (e.g., AD Credentials), saving still wrote the password under the default rustconn/var/{name} key, creating an unnecessary duplicate in Bitwarden/1Password/Passbolt/Pass. Now variables with a vault entry reference are treated as read-only — nothing is written back to the vault (#166)
  • Sidebar: status icon size inconsistent with custom icons — the connection status indicator (green checkmark / red stop) appeared larger for connections with a custom emoji icon because the sibling-based widget navigation found the wrong Image widget when an emoji label was prepended. Now status icons are located by CSS class (status-icon) and the main connection icon has a fixed pixel_size(16), ensuring uniform 10px status indicators for all connection types

Improved

  • Variable dialog: vault entry UX hints — when the "Vault entry" field is filled, the password field placeholder changes to "Fetched from vault at connect time" to indicate no manual password input is needed. Updated tooltip explains that nothing is written back to the vault (#166)

Dependencies

  • Updated: chrono 0.4.44→0.4.45, log 0.4.31→0.4.32, yoke 0.8.2→0.8.3

Installation

Flatpak (Recommended)

flatpak install flathub io.github.totoshko88.RustConn

Snap

sudo snap install rustconn

Debian/Ubuntu (.deb from this release)

sudo dpkg -i rustconn_0.15.8_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (.rpm from this release)

sudo dnf install rustconn-0.15.8-1.fc44.x86_64.rpm

AppImage

chmod +x RustConn-0.15.8-x86_64.AppImage
./RustConn-0.15.8-x86_64.AppImage

macOS (Homebrew)

brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.app

All dependencies (GTK4, libadwaita, VTE, Adwaita icons) are installed automatically.
Requires macOS 13 (Ventura) or later.

OBS Repositories

Packages available at: https://build.opensuse.org/package/show/home:totoshko88:rustconn/rustconn

# Debian 13 (Trixie)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Debian_13/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Ubuntu 24.04 LTS (Noble)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_24.04/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Ubuntu 26.04 LTS (Resolute)
echo 'deb http://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/ /' \
  | sudo tee /etc/apt/sources.list.d/rustconn.list
curl -fsSL https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/xUbuntu_26.04/Release.key \
  | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/rustconn.gpg > /dev/null
sudo apt update && sudo apt install rustconn

# Fedora 44
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_44/home:totoshko88:rustconn.repo
sudo dnf install rustconn

# Fedora 43
sudo dnf config-manager addrepo --from-repofile=https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/Fedora_43/home:totoshko88:rustconn.repo
sudo dnf install rustconn

# openSUSE Tumbleweed
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Tumbleweed/ rustconn
sudo zypper ref && sudo zypper in rustconn

# openSUSE Leap 16.0
sudo zypper ar https://download.opensuse.org/repositories/home:/totoshko88:/rustconn/openSUSE_Leap_16.0/ rustconn
sudo zypper ref && sudo zypper in rustconn

Arch Linux (AUR)

yay -S rustconn

FreeBSD (Ports)

pkg install rustconn

Full installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md