Skip to content

Synced RX Gain, CW Keying Fixes + Antivirus-Friendly Installer

Choose a tag to compare

@github-actions github-actions released this 20 Jul 21:12

One RX gain slider everywhere — the desktop popout, the main window, and your mobile device now share a single synced value, so a turned-down slider can never silently blank your waterfall again. Plus: the Windows installer no longer trips corporate antivirus, and two Yaesu CW keying bugs are fixed.

🎚️ Synced RX gain — the blank-waterfall fix, finished

Last release taught the waterfall to say "RX gain is at 0." This release makes sure you can always see and fix it, from anywhere:

  • One value, every surface. The RX gain sliders in the JTCAT popout, the main window, and ECHOCAT clients were three separate, unsynced values — the popout's copy at zero was invisible to everything else. They now share a single setting: move any slider and the others follow live.
  • It persists properly. The value survives restarts as a real setting instead of a per-window browser store, and your current slider position migrates over automatically.
  • Mobile can control it. The wire contract ships in this release (set + live state + connect hydration), so the mobile app can show the shack's real RX gain and fix a zeroed slider from the field. A remote client can no longer accidentally push its own stale saved value onto the desktop at connect, either.

🛡️ Windows installer — no more antivirus lockdowns

A user's Sophos Endpoint blocked the v1.9.11 installer mid-run. The trigger: the installer always launched a small PowerShell command to stop POTACAT's background Remote Launcher before upgrading, and EDR products block any PowerShell started by something you ran straight from a browser — regardless of what the command does.

The installer no longer uses PowerShell. The launcher now advertises its process ID, and the installer stops exactly that process with direct Windows API calls — no child processes, nothing for an antivirus to flag. If you've never enabled the Remote Launcher (most users), the installer now does nothing at all in this step. Upgrading from an older version with the launcher enabled uses the old method one final time, then never again.

Also fixed: the installer's diagnostic log (potacat-install.log) was overwriting itself so only the last line survived — it now keeps the full history, which makes install problem reports far more useful.

📻 CW keying — two Yaesu fixes

  • FT-891 macros now actually send Morse (thanks N7BBQ). Macros put the rig into TX but no code came out — the FT-891 shares two firmware quirks with the FT-710, so it now uses the same fixes: the corrected CAT text form, and with a CW Key Port configured, macro text is generated locally and pulsed on the key line — the same wiring N1MM uses. The text path also now honors your per-rig DTR/RTS keying-line choice (it previously keyed DTR even when the rig was set to RTS), and the Settings help text points at the right place to set it.
  • No more chirping on every paddle press (thanks KM4CFT). On serial drivers that reject pin control (common on Linux and Android USB adapters), each paddle element was re-opening the port — and every port open blips the key line for a few milliseconds, briefly keying the rig with an RF "chirp" on every dit. Once a port reports it can't do pin control, POTACAT now stops retrying it per-element, tells remote clients plainly that the paddle is unavailable on this adapter (text-send still works), and recommends an FTDI/CH340 interface for paddle use.
  • Python helper errors in the CW path now log the actual error instead of thirteen copies of "Traceback (most recent call last)", and the pyserial install hints give the correct package name for your distro.

Windows, macOS (Intel + Apple Silicon), and Linux (x64 + arm64) installers are attached below; the app auto-updates from here.