Repository navigation
v0.23.15
What's Changed
Fixed
- Mouse pointer no longer vanishes on the "Session disconnected" screen after a remote RDP box reboots (issue #383) — the embedded IronRDP viewer mirrors the server's cursor: a
CursorHiddenevent sets the drawing area's pointer to"none". A rebooting Windows host hides its cursor on the "Restarting…" screen (and holds it there, longest during Windows Updates) just before it drops the link, so the last cursor state RustConn received was "hidden". When the session then disconnected, nothing restored the local pointer, so the "Session disconnected" / Reconnect overlay was presented with an invisible cursor and the user had to hunt for the Reconnect button. On theDisconnectedtransition the viewer now forces the default arrow (set_cursor_from_name("default")) unconditionally — there is no remote session left to own the pointer, soshow_local_cursordoes not apply — making the Reconnect overlay usable regardless of the cursor state the session ended in. (The reporter's hunch about OpenH264 being disabled is unrelated: this is pointer state, not video decoding.) (rustconn/src/embedded_rdp/connection.rs) - Same invisible-pointer fix applied to the embedded VNC viewer — the VNC viewer mirrors the server cursor identically (an empty server
CursorUpdatebitmap sets the pointer to"none"), and its reconnect banner is shown in exactly theDisconnected/Errorstates, so a VNC server that left the cursor hidden before dropping the link reproduced the #383 symptom on the VNC reconnect banner. The default arrow is now restored centrally in the state-change handler whenever the reconnect banner is shown, so every banner-showing transition is covered by one invariant (banner visible ⇒ arrow visible): clean disconnect, "unexpected end of file" (EOF-as-disconnect), a generic session error, and the failure path of the external-viewer encryption fallback. (rustconn/src/embedded_vnc/mod.rs)
Changed
- Removed stale editor backup files from the source tree — six
launcher.rs.bak*snapshots inrustconn/src/embedded_rdp/and onemod.rs.bak14inrustconn/src/embedded_vnc/had been committed before*.bakwas added to.gitignore(which does not untrack already-tracked files). They are now deleted; the.gitignorerule already prevents new ones.
Dependencies
- Updated: inout 0.2.3 → 0.2.4, zip 9.0.3 → 9.0.4, openh264 0.9.8 → 0.9.9, openh264-sys2 0.9.8 → 0.9.9, lzma-rust2 0.21.0 → 0.22.0, zstd 0.14.2 → 0.14.3, zstd-safe 8.1.0 → 8.2.0, zstd-sys 2.1.1 → 2.1.2, libc 0.2.190 → 0.2.191, schannel 0.1.29 → 0.1.30, combine 4.6.8 → 4.6.9, font-types 0.12.6 → 0.12.7, zbus_names 4.3.4 → 4.3.5, zvariant 5.15.0 → 5.15.1, zvariant_derive 5.15.0 → 5.15.1. All semver-compatible patch/minor bumps. The inout bump clears a yanked-version warning: 0.2.3 was yanked upstream (
cargo deny check advisoriesflagged it as a yanked crate, pulled transitively through the aes-gcm/picky stack), and 0.2.4 is the drop-in replacement; advisories are otherwise clean. CLI download versions all current (TigerVNC pinned at 1.16.2, confirmed latest upstream); the RustCrypto release-candidate family and the out-of-range majors remain held back, pinned transitively by the sspi/picky-krb stack exactly as in 0.23.1–0.23.14. The Flatpak/Flathub manifests are in sync (GNOME runtime 51, FreeRDP 3.32.1, cJSON 1.7.19, OpenH264 2.6.0).
Installation
Flatpak (Recommended)
flatpak install flathub io.github.totoshko88.RustConnSnap
sudo snap install rustconnDebian/Ubuntu (.deb from this release)
sudo dpkg -i rustconn_0.23.15_amd64.deb
sudo apt-get install -f # Install dependencies if neededFedora (.rpm from this release)
sudo dnf install rustconn-0.23.15-1.fc44.x86_64.rpmAppImage
chmod +x RustConn-0.23.15-x86_64.AppImage
./RustConn-0.23.15-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
Verifying your download
Every binary on this release (deb, rpm, AppImage, Flatpak) is covered two ways.
Plain checksums — download SHA256SUMS alongside the asset, then:
sha256sum -c SHA256SUMSSigned build provenance (SLSA, via Sigstore) — proves the file was built by this
workflow from this commit:
gh attestation verify RustConn-0.23.15-x86_64.AppImage --repo totoshko88/RustConn(The snap is signed by the Snap Store; the macOS build is delivered via the Homebrew tap.)