Rig Bridge — Pre-release polish#884
Conversation
- Windows .bat and macOS/Linux .sh installers now accept --update: stops any running instance (port 5555), re-clones into a staging dir, preserves rig-bridge-config.json, re-installs deps, restarts - Explicit git availability check added to all scripts - Safe staging-dir approach: old files only deleted after successful clone - Option A in Getting Started rewritten to reflect the Settings UI download journey with per-OS shell instructions - New "Updating Rig Bridge" section added to README with per-OS update commands, notes on Command Prompt requirement on Windows, and a clear description of what is and isn't preserved across updates - Contents list renumbered accordingly Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Prominent amber banner added to the top of the Rig Bridge settings tab (always visible) linking to the rig-bridge README on the main branch and asking users to read it carefully before setup - Cloud Relay section header now carries an inline Alpha badge (amber border/text, uppercase) to signal pre-release status - 5 new i18n keys under station.settings.rigBridge.* namespace added to all 15 active locale files with proper native-language translations (fr, de, es, ca, it, nl, pt, ru, ja, ko, ka, ms, sl, th) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- PLUGIN_DEFS entries gain a maturity field: alpha for MSHV, JTDX, JS8Call, Rotator, Winlink, Cloud Relay; beta for APRS TNC - maturityBadge() helper renders an inline colored badge span (amber #f59e0b for Alpha, cyan #06b6d4 for Beta) consistent with the OHC settings UI accent colors - WSJT-X tab button gets an inline Beta badge matching the same style - renderPlugins() calls maturityBadge(plugin.maturity) in the card header Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a masked API Token field (with Show/Copy buttons) to the header's logoutArea, which is only visible when the user is authenticated. setLoggedIn() now populates the field and resets it to masked on each login. Toggling Show/Hide updates the button label accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace fixed 160px width with flex:1 so the token input stretches to fill available space and the full 32-char hex token is visible. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Wrap the token row in an inline-flex pill (dark background, border, rounded) so label/input/buttons sit tight together and the whole group is centred. Use width:22ch on the input (exact fit for the 32-char hex token with masking dots) instead of flex:1 which was pushing the buttons to the far edge. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ch units are recalculated when input type switches between password and text, causing the row to change width. Replace 22ch with a fixed 220px — sized to fit the revealed 32-char hex token at 11px monospace. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Set white-space:nowrap on the pill container so it never wraps - Explicit font stack 'Courier New',Courier,monospace to ensure consistent character width across platforms - Width 260px (fits 32 chars of Courier New at 11px in both masked and revealed states) - letter-spacing:0.5px for consistent glyph spacing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The hardcoded step-by-step OpenHamClock setup box now links directly to the Option A anchor in rig-bridge/README.md on the main branch instead of duplicating instructions that are already maintained there. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both start-rig-bridge.sh and start-rig-bridge.bat now read: - Version from package.json via node -e - Port and tls.enabled from the config file (primary: ~/.config/openhamclock/ or %APPDATA%\openhamclock\, fallback: legacy install directory) The browser open call also uses the dynamic URL so HTTPS users get opened to the right address. Both fall back to http://localhost:5555 if no config exists yet. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Maturity column added to Digital Mode Software table: WSJT-X → Beta, JTDX / MSHV / JS8Call → Alpha - APRS via Local TNC section marked Beta - Antenna Rotator section marked Alpha - Scenario C (Cloud Relay) marked Alpha - New Glossary section defines Alpha and Beta with the project's own definitions; notes that USB/flrig/rigctld/TCI/SmartSDR are considered stable - Contents list updated (Glossary added as item 11, Advanced Topics 12) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Both generated installer scripts now read port and tls.enabled from the existing config before printing the setup URL, so users with a non-default port or HTTPS enabled see the correct address. Windows: PowerShell reads %APPDATA%\openhamclock\rig-bridge-config.json (falls back to legacy %USERPROFILE%\openhamclock-rig-bridge location). macOS/Linux: node reads ~/.config/openhamclock/rig-bridge-config.json (falls back to ~/openhamclock-rig-bridge). Config path passed via env var to avoid shell quoting issues inside the node -e expression. Both fall back to http://localhost:5555 if no config exists yet. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
alanhargreaves
left a comment
There was a problem hiding this comment.
One thing I'm noticing in the rig bridge page is that when I show the key, it's almost as if it's adding a newline on the end in the display as it shifts it up half a line and everything below it down half a line. On checking my token in the local storage there does not appear to be a newline on it.
ceotjoe - DO1HOZ [FO76], — 10:06 pm
Yes this does not look nice, I also recognized that. I fiddled around some time with it and then I left it like this for the moment. Probably I get back to this later.
OK as long as you were aware of it
That's a nice touch linking to github for install instructions
One thing I'd consider, but not block this on, is using ALPHA and BETA constants for instead of 'alpha' and 'beta' strings for the plugin maturity as it helps catch typos going forward. It would also simplify maturityBadge() too.
There are a number of things that markdown lint is not happy about in the README.md, but yours is not the only one guilty of that, so not a stopper (in fact I might log an issue to clean up all the markdown in a bit)
I'd like to see the download scripts taken out of strings and be actual files, and in the shell scripts there are a couple of things which tickle pet peeves (as shell scripting has been kinda my thing for a few decades), but again not a stopper.
Rig Bridge — Pre-release polish
This PR prepares the Rig Bridge integration for first public release.
What's included
Install & update experience
--updateflag added to the generated Mac/Linux and Windows installerscripts — safely stops any running instance, re-clones to a staging
directory, preserves the existing config file, then swaps in the new
installation. Works on all three platforms with
gitas the only extraprerequisite.
start-rig-bridge.sh/start-rig-bridge.bat)now read
package.jsonfor the version number and the config file forport + TLS settings, so they print and open the actual setup UI URL
instead of the hardcoded
http://localhost:5555./api/rig-bridge/install-script) apply thesame dynamic URL logic so the post-install banner shows the correct address.
README (
rig-bridge/README.md)Settings UI, with per-OS shell instructions for running the script.
--updateusage foreach OS.
APRS and Rotator carry
_(Beta)_/_(Alpha)_labels; Cloud Relay scenarioheader carries
_(Cloud Relay: Alpha)_.of this project.
Rig Bridge setup UI (
rig-bridge/core/server.js)default with Show/Hide and Copy buttons. Row is centred and stable-width
so it does not reflow when toggling visibility.
are Beta (cyan); MSHV, JTDX, JS8Call, Rotator, Winlink, and Cloud Relay
are Alpha (amber).
Quick Start Option A in the README.
OHC Settings UI (
src/components/SettingsPanel.jsx)(amber, always visible) — prompts users to read the README before setup.
i18n (
src/lang/*.json)station.settings.rigBridge.alpha,station.settings.rigBridge.cloudRelay.title,station.settings.rigBridge.readme.body,station.settings.rigBridge.readme.heading,station.settings.rigBridge.readme.link.Testing checklist
bash, verifysetup UI opens at correct URL
.bat, run from CMD, verify setup UI opens--updateon an existing install; confirm config survivesShow/Hide does not shift layout
locales; Cloud Relay heading carries Alpha badge
confirm printed URL and opened browser tab match
🤖 Generated with Claude Code