Skip to content

GoodComms v0.9.99 - The Video Streaming & Reliability Update

Latest

Choose a tag to compare

@junkoe junkoe released this 04 Jul 19:23
682c6d9

GoodComms v0.9.99 — The Video Streaming & Reliability Update

A major update focused on screen-sharing quality and reliability, real server administration controls, and connection robustness.

GoodComms is a self-hosted communication platform for chat, voice, and screen sharing, built entirely in Rust with native clients and a lightweight relay server. See the v0.9.98 release notes for the full feature overview.


What's new in 0.9.99

Screen Sharing

  • Perfectly smooth motion from any monitor: The encoder samples frames on an exact fixed-rate clock instead of following your monitor's refresh timing — streaming from a 144Hz/120Hz display no longer produces periodic micro-stutter for viewers.
  • 60 FPS streaming option: Settings → Video Streaming → Stream Frame Rate (30 default / 60).
  • New Go Live picker: One window with live preview snapshots of every screen and window, plus the Include Audio toggle and capture device — click a preview and the stream starts instantly.
  • Encoder fallback: If your GPU encoder fails — at startup or mid-stream — the stream switches to software encoding with a notification instead of dying silently. New Video Encoder setting (Automatic / Hardware Only / Force Software).
  • Stream settings apply live: Frame rate, encoder mode, and audio auto-leveling changes take effect on a running stream.
  • Auto-leveled stream audio: Quiet system audio is automatically brought to a consistent level for viewers (Settings → "Auto-level stream audio", default on).
  • Resizing a shared window follows through to viewers, viewer mute button, dark-themed viewer toolbar, automatic self-healing after network blips, and clean guidance for uncapturable exclusive-fullscreen games.
  • Stream audio works after restarting a stream: Restarting a screen share could leave viewers with video but no audio. Viewers now resync immediately.

Server Administration

  • Server settings now actually work: Registration toggle enforced, upload size limit enforced live (0 = unlimited), download speed limit applies without restart, and invalid values are rejected with clear messages.
  • Automatic database backups: Interval, keep-count rotation, and folder are configurable; a new Maintenance page adds manual Backup, Restart, Clear All Messages, and Emergency Stop — all behind confirmation dialogs. Backups use a crash-safe snapshot method.
  • Destructive actions ask first: Deleting a user, channel, or role shows a confirmation dialog; deleting a user disconnects them immediately.

Reliability & Fixes

  • Clean server switching with a proper Disconnect button — no more leftover state from the previous server.
  • Fixed a crash affecting new installs: A single corrupted image on a server could crash every freshly-installed client on login. Images are now validated at upload and at display.
  • Rate limiter fix for reverse-proxy deployments: Only failed logins count toward brute-force bans; proxy deployments should set TRUST_PROXY=true (see server.env.example) so bans apply to real client addresses instead of the proxy.
  • Human-readable upload errors, dismissable error popups, clear permission-denied messages, drive folders open on double-click.
  • Failed drive transfers clear themselves and show the reason (previously stuck as "active" forever with no feedback).

Binary Verification

Rust-compiled binaries can trigger antivirus false positives. VirusTotal scans and SHA-256 checksums are provided for all release binaries.

SHA-256 Checksums

gc-client  B24E35FEC7443C9EB01431A11D74D0B0661C56E8D660C25AF8081F9B67C2B3FF
gc-client.exe  38406E066E0FC5C8C9D0F35699B6E03F7246B4EF17CE4251BAE4536FC2B26F81
gc-client_0.9.99_x64-setup.exe  6651E466A700652B287D6A29E0C58B974C95FF7D1FCAC4A7E837AC9273BBB9FF
gc-server  228682A425E1DDDA7639A3C273872625121AAF399F20B6B64C1E801DBB6AF164
gc-server.exe  3E7C6BA613284DA97519F38EBFA36D85B9CD11E83D1F7ED6E553ECB3A129DBDA

VirusTotal Scans