Staging#29
Merged
MichaelWheeley merged 5 commits intoMichaelWheeley:feature/thai-language-devfrom Mar 26, 2026
Merged
Conversation
… rig control - Phase 1: Optimistic PTT/frequency updates in RigContext with SSE-based server push (replaces 2 s polling with instant server-side events on rig state changes) - Phase 3: Graceful exponential back-off in useRotator to avoid hammering unavailable endpoints - Phase 4: Long-poll /relay/commands endpoint so cloud-relay plugin receives commands within ~100 ms instead of waiting for the next push cycle - Phase 5: Updated rig-bridge README documenting cloud-relay plugin, long-poll flow, all new endpoints, and changed configuration keys - Fix: added 'OpenHamClock (Express dev API)' launch entry running Express on port 3001 so Vite's proxy target is always reachable in development (all /api 500s resolved) - All rig-bridge / rotator errors are now handled gracefully and never surface as unhandled exceptions or crash the main application Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Local Claude Code config (launch.json, memory, etc.) is machine-specific and should not be tracked in the repo. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- cloud-relay.js: remove dead `pollInterval` variable and matching JSDoc entry — long-poll replaced all uses; update log line accordingly - rig-bridge.js: close orphaned SSE stream clients (relayStreamClients) in the session TTL cleanup, alongside the existing waiter cleanup, so expired sessions don't leave ghost connections in the map - useRotator.js: replace flat 30 s back-off with true exponential back-off (2 s → 4 → 8 → 16 → 30 s cap) that resets to 2 s on a successful poll; source=none still uses a flat 30 s pause as it is not an error condition - RigContext.jsx: replace internal "Phase N" dev comments with descriptive comments about what the code does Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add frontend modules for rig-bridge plugins that lacked UI: - DigitalModesPanel: unified status/control for MSHV, JTDX, JS8Call (frequency, mode, TX state, halt TX, free text) - WinlinkPanel: gateway discovery, Pat inbox/outbox, compose messages - useDigitalModes/useWinlink hooks for data fetching and actions - Registered in DockableApp under "Rig Bridge" panel group Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
feat: optimistic UI, SSE push, long-poll relay and dev server fix for…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Type of change
How to test
Checklist
server.js: caches have TTLs and size caps (we serve 2,000+ concurrent users)var(--accent-cyan), etc.).bak,.old,console.logdebug lines, or test scripts includedScreenshots (if visual change)