github keithvassallomt/ClusterCut v0.3.4

5 hours ago

Release v0.3.4

Fixed

  • A "paired before this version's TLS upgrade — please re-pair" banner could appear for a manually-probed address that was never actually a paired device (e.g. a VPN gateway that forwards port 4654 to a real node). The startup sweep flagged any stored peer without a cert fingerprint as legacy, which also caught throwaway manual-<ip> probe placeholders. It now only flags genuine paired devices, so the banner can't fire for an address you can never re-pair with.
  • Pairing now gives a clear "Failed to join network. The PIN may be incorrect." error when the PIN is wrong, instead of the misleading "Pairing session expired". Backend and Settings input also trim invisible trailing whitespace on the PIN, which used to silently break pairing. Enabling Verbose pairing logs dumps the responder's PIN bytes on failure for diagnosis.
  • Rich-text sync to a Windows peer no longer clears the sender's clipboard (#17). The Windows clipboard write was wiping its own earlier formats on each step; pasting in Notepad, browsers, etc. on the Windows side now also works.
  • Pasting a code copy from PyCharm into Word (HTML format) on a Windows peer now shows the whole snippet instead of the last few characters.
  • A single space, newline, or tab on the clipboard is no longer broadcast or applied across the cluster — these had no useful content but would overwrite a peer's clipboard.
  • Echo-suppression is more forgiving across any backend whose clipboard layer drops formats or the plain-text channel on the round-trip, closing a class of "truncated payload bounces back" bugs.

Changed

  • Receiving a rich-text payload on a GNOME machine now lands the plain text on the clipboard by default and fires a system notification with a one-click "Switch to Rich" action — no app window needed. This works around a hard GJS limitation that prevents the GNOME extension from offering multiple MIME types simultaneously (see GJS #255; the most-deployed Clipboard Indicator hits the same wall). Before this change, only the rich format reached the OS clipboard, so pastes into gedit, GNOME Text Editor, OnlyOffice, and browser inputs got nothing. Windows, macOS, and KDE/Sway/Hyprland receivers are unaffected — they write all MIME types atomically.
  • Internal code cleanup, no behavior change: the two biggest source files were split into focused modules — the Rust backend (lib.rs, ~5,500 → ~870 lines) and the React UI (App.tsx, ~3,000 → ~1,230 lines). Deciding whether a peer's protocol version is compatible now happens in the Rust backend and is sent to the UI as a flag, instead of being re-implemented in TypeScript. Nothing user-facing changed; the work is purely about making the codebase easier to navigate and maintain.

📦 Installation

Linux
If you're on a modern Linux distribution (i.e. with Wayland and Flatpak support), the recommended method of installing ClusterCut is via FriendlyHub.

Tip

If you need X11 support, or don't have Wayland/Flatpak support, use the RPM or DEB files from the assets in this release.

macOS
Download the DMG file from the assets of this release.

Windows
Download the EXE file from the assets of this release.


Full Changelog: https://github.com/keithvassallomt/ClusterCut/CHANGELOG.md

Don't miss a new ClusterCut release

NewReleases is sending notifications on new releases.