Skip to content

fix(ui): DATA sub-mode and rate switching no longer lags - #176

Merged
dc0sk merged 1 commit into
mainfrom
fix/data-submode-lag
Jul 25, 2026
Merged

fix(ui): DATA sub-mode and rate switching no longer lags#176
dc0sk merged 1 commit into
mainfrom
fix/data-submode-lag

Conversation

@dc0sk

@dc0sk dc0sk commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Reported by @dc0sk on the radio: switching DATA sub-modes is laggy.

Same read-back fight the sliders had (ledger 1.97): rx_data_submode and rx_data_rate read straight from the snapshot, so tapping DATA A / AFSK A / FSK D / PSK D sent DT but the button didn't light until the radio's echo returned.

Fixed the same way — an optimistic Opt<u8> override per field, set on tap, preferred by the accessor, reconciled against the radio each tick (confirm-or-expire). The DR rate (added in #171 without an override) had the identical gap and is fixed alongside.

The standing lesson: a control that reads the radio's state directly, rather than through a mirror the send updates, will feel laggy. The optimistic override is the default fix — worth remembering for any new radio-backed control.

Clippy/fmt clean, gate green. Logic mirrors the tested APF override.

Branches from main (v0.7.0).

🤖 Generated with Claude Code

https://claude.ai/code/session_01KiAgfnGv746wwVBSfFkoRY

Reported by DC0SK on the radio. Same read-back fight the sliders had:
rx_data_submode and rx_data_rate read straight from the snapshot, so tapping a
sub-mode sent DT but the button did not light until the radio's echo returned.

Fixed the same way - an optimistic Opt<u8> override per field, set on tap,
preferred by the accessor, and reconciled against the radio each tick
(confirm-or-expire). The DR rate had the identical gap and is fixed alongside.

The standing lesson: a control that reads the radio's state directly rather
than through a mirror the send updates will feel laggy. The optimistic override
is the default fix for a new radio-backed control.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KiAgfnGv746wwVBSfFkoRY
@dc0sk
dc0sk merged commit c4514f8 into main Jul 25, 2026
5 checks passed
dc0sk added a commit that referenced this pull request Jul 25, 2026
DTMF (#174) and the DATA-lag fix (#176) landed on main; both are additive to
the transverter work. Kept both test functions (a brace was split at the
DTMF/XVTR seam), both sets of state fields, and both docs; ledger 3.x block
renumbered to remove duplicates.
@dc0sk dc0sk mentioned this pull request Jul 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant