v0.15.14
What's Changed
Improved
- External RDP/VNC sessions no longer freeze the window for 1.5 s on connect — launching FreeRDP blocked the GTK main thread with a
sleep(1500ms)used to catch immediate failures (certificate/auth errors). The launcher now returns right after spawn and watches the process with a non-blocking 250 ms poll over the same 1.5 s window; early failures still close the tab, show the parsed FreeRDP error toast, and record the failure in history - Tray messages are now event-driven instead of polled — the main loop woke ~20×/second to
try_recv()tray clicks even when idle, costing CPU and battery on laptops. Tray menu events (Linux ksni, macOS) now arrive over anasync-channelawaited on the main context, so the loop only wakes on real clicks; tray handling is skipped entirely when the tray icon is disabled in settings - Secret backend detection in Settings is parallel and cached — probing KeePassXC, Bitwarden, 1Password, Passbolt, pass and secret-tool spawned 10+ CLI processes sequentially (1–5 s before statuses appeared). Probes now run in parallel scoped threads (latency = slowest probe) and the result is cached for 30 s, making a quick reopen of Settings instant; the result-delivery loop also no longer spins the main loop at 100% CPU while detection runs (idle source → 50 ms timer)
- Connection history writes are debounced and off the main thread — every session start/end serialized and wrote
history.tomlinline on the GTK main thread (twice per session). Changes now mark history dirty and a flusher coalesces a 2 s burst into a single write on a background thread; pending changes are flushed on shutdown - One suggested action per dialog (GNOME HIG) — "Add Variable"/"Add Property" in the connection dialog's Data tab no longer compete with the dialog's primary action for the suggested style, and the tunnel wizard hides its "Next" footer button while the empty-state "New SSH Connection" call-to-action is shown
Dependencies
- Added: async-channel 2.5.0 (event-driven tray message delivery)
- Updated: crypto-primes 0.7.1→0.7.2
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.15.14_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.15.14-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.15.14-x86_64.AppImage
./RustConn-0.15.14-x86_64.AppImagemacOS (Homebrew)
brew tap totoshko88/rustconn
brew install rustconn
open $(brew --prefix)/opt/rustconn/RustConn.appAll 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 rustconnArch Linux (AUR)
yay -S rustconnFreeBSD (Ports)
pkg install rustconnFull installation guide: https://github.com/totoshko88/RustConn/blob/main/docs/INSTALL.md