From 7424bc6e818bae9b955ec2c22bd465e2b4c300be Mon Sep 17 00:00:00 2001 From: rouggy Date: Wed, 29 Jul 2026 12:58:08 +0200 Subject: [PATCH] fix: the Yaesu keyer reported "Rig CAT offline" while CAT was working MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three places decide what a rig keyer is, and the Yaesu was only in two of them. The CW panel's status came from a list naming icom and flex; anything else fell back to the WinKeyer status, which reports disconnected because no WinKeyer is attached. So the panel said the rig CAT was offline while the console beside it was reading the FTDX10 perfectly. The send loop had the same gap: a rig keyer BUFFERS the whole message, so the wait before is a length estimate, while WinKeyer watches a busy echo that will never arrive here. Auto-call would have raced the transmission. This is the third time the same shape has bitten in this feature — a list of engines that needs every member named, with a silent fallback for the rest. Grepping for the pair "icom || flex" is what finds them. --- frontend/src/App.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 81a8f57..c72be25 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -2556,7 +2556,7 @@ export default function App() { // segment AFTER the (which logs and clears the form) still expands its // variables correctly. const parts = rawText.split(//i).map((pt) => resolveCW(pt)); - const isRig = cwSourceRef.current === 'icom' || cwSourceRef.current === 'flex'; + const isRig = cwSourceRef.current === 'icom' || cwSourceRef.current === 'flex' || cwSourceRef.current === 'yaesu'; for (let p = 0; p < parts.length; p++) { if (aborted()) return; // ESC / Stop before this segment → stop sending, don't log const resolved = parts[p]; @@ -5222,8 +5222,16 @@ export default function App() { {wkEnabled && (