Skip to content

v0.22.2

Choose a tag to compare

@github-actions github-actions released this 20 Sep 18:36
· 5 commits to main since this release

What's Changed

Fixed

  • Reconnecting a split-screen guest pane dropped it into a new tab (issue #328) — after the split-view reconnect affordances landed, reconnecting a guest pane (any pane that is not the one owning the tab) still opened the reconnected session as a fresh tab and tore the split apart, instead of reconnecting in place. The in-place reconnect bailed out because prepare_for_reconnect recognised only two homes for a session — a tab page or a detached window — and a split guest has neither: parking it into the split removed its tab-page entry, and it is not detached, so the guard returned early and the reconnect fell through to the close-and-recreate fallback, which only knows how to restore a tab position or a detached window. It now also recognises a session that lives in a split pane (via the split-pane container provider already wired for #328). Because a guest's VTE widget never leaves the owner's pane and is still keyed by session id, the in-place spawn reuses it and the session stays exactly where it was, with its scrollback intact.
  • The Reconnect Session shortcut could reset a live pane (issue #328) — the configurable "Reconnect Session" key (default Ctrl+Shift+Y) reconnected the focused pane unconditionally, so pressing it on a still-connected session reset its terminal and dropped the connection. It now only acts on a session that has actually disconnected and is a silent no-op on a live pane, matching the MobaXterm-style "reconnect when a session is disconnected" behaviour the issue asked for.

Changed

  • Group broadcast no longer shows a toast when enabled — enabling group broadcast raised both a transient toast and the persistent banner with near-identical text, so the same state was announced twice and the extra toast added noise. Enabling now shows only the banner, which is the correct surface for a persistent state that reaches tabs the user cannot see (GNOME HIG). Disabling still shows a toast, because the banner disappears and a brief confirmation is the only feedback left. Split-view broadcast is unchanged: its panes are all on screen, so it keeps its toast and needs no banner.

Improved

  • Reconnect can no longer reset a live session (issue #328) — the "only reconnect a disconnected session" guard now lives in the one function every in-place reconnect passes through (prepare_for_reconnect), rather than in a single UI action. Every reconnect entry point already fired only for a disconnected session, so nothing changes for users today; the point is that no future call site can bypass it and wipe a working terminal. The tab/detached/split-pane placement decision behind it is now a pure function with unit tests.
  • Developer tooling — the mechanical Definition of Done (scripts/verify.sh) is now referenced from the always-loaded contributor docs, and a new scripts/sync-cargo-sources.sh regenerates both Flatpak and Flathub cargo-sources.json in one step so a dependency bump cannot leave them stale. No effect on the shipped application.

Dependencies

  • Updated: gtk4/gdk4/gsk4 0.11.4→0.11.5, gio/glib 0.22.9→0.22.10, rand 0.10.2→0.10.3.
  • Unchanged, checked: ./scripts/check-cli-versions.sh — every CLI download endpoint reachable and current (TigerVNC pinned at 1.16.2; the auto-latest tools resolve at runtime). Flatpak GNOME runtime 50 and bundled sources unchanged from 0.22.1.

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.22.2_amd64.deb
sudo apt-get install -f  # Install dependencies if needed

Fedora (.rpm from this release)

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

AppImage

chmod +x RustConn-0.22.2-x86_64.AppImage
./RustConn-0.22.2-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