release: rigplane-core 2.10.8 — freq/mode display tracks radio during external CAT (#1219)#1894
Merged
Merged
Conversation
…rnal-CAT so the UI tracks WSJT-X/panel tunes During an external-CAT session (WSJT-X via the Hamlib/rigctld bridge) the external master owns the wire: RigPlane's radio poller pauses (radio_poller._run gate) and rigctld get_freq serves the cached state-store projection without eliciting a fresh radio readback. The web set_freq optimistic command-response overlay, written through _SharedControlCommandExecutor._optimistic_observations into the shared StateStore at active.0.freq_mode.freq_hz, could therefore never be reconciled by a poller readback. It pinned a fabricated frequency the radio was not on, and the operating-UI freq display stuck at the command echo for the whole session (observed: 14.260 MHz displayed for 14 min while the radio was on 14.074 MHz). Suppress the optimistic overlay when external_cat_session_active is True so the projection keeps tracking the radio's real last-known/live value: bridge CI-V readbacks still land via _civ_rx (no external-CAT gate on the apply path), and post-session reconcile_state refreshes the store. Normal (non-external-CAT) responsiveness is unchanged — the poller readback continues to displace the overlay via last-writer-wins. Boundary: open-core (generic state-pipeline / rigctld behavior). Tests: - test_set_freq_optimistic_overlay_suppressed_during_external_cat (RED pre-fix: store/display pinned to 14.260; GREEN post-fix: tracks real 14.074). - test_set_freq_optimistic_overlay_kept_without_external_cat (guard: normal optimistic responsiveness preserved). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Collaborator
Author
|
Agent Review: PASS Reviewed at head Confirmation checks: (a) Fix code byte-identical to independently reviewed (b) Release commit adds only metadata — no code/test churn.
(c) 2.10.8 is fresh.
(d) All required CI gates green at
Ready to merge once |
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.
Summary
Bumps
rigplaneto 2.10.8. This is a single-fix patch release on top of 2.10.7.What changed
Fix — operating-UI frequency/mode display stuck during an external CAT session (#1219)
During a WSJT-X / external-CAT session the display could remain pinned to the last value tuned via the Pro UI while the radio was actually on a different frequency. Root cause: the optimistic command overlay was never displaced because the readback poller is paused for the duration of the external-CAT session.
The optimistic overlay is now suppressed during an external-CAT session, so the display tracks the radio's real frequency/mode from CI-V readback. Normal Pro-dial responsiveness is unchanged when no external-CAT session is active.
Changelog entry (docs/CHANGELOG.md)
Boundary
open-core— frequency display reconciliation during external-CAT is a generic radio-control library concern; no proprietary Pro logic.Verification
uv run ruff check .— cleanuv run ruff format --check .— 4 pre-existing files flagged (not in this diff; present on base commit)cad0dab3pass with the fix in placegit diff --stat:docs/CHANGELOG.md +6 -0,pyproject.toml 2.10.7→2.10.8,uv.lock 2.10.7→2.10.8Publishing
This PR, once merged and tagged
v2.10.8, will publishrigplane==2.10.8to PyPI via the standard release workflow.References
cad0dab3— fix(state): reconcile freq display against radio readback during external-CAT