Skip to content

profile-load hold: remaining user-intent writes still silently suppressed (census follow-up to #4201) #4223

Description

@Ozy311

Summary

Umbrella follow-up from #4142/#4201. The profile-load hold suppresses every command isProfileOwnedRadioStateWrite() matches; #4201 routes the tune/zoom/band class of user-intent writes (center=, bandwidth=, band=) through the deferred pan-write queue so they replay instead of dying. A 34-writer census done for that work shows what is still silently destroyed if a user acts during the hold.

Still suppressed, by field (pan writes — mechanism ready, one-line routings + per-field dedupe semantics + hardware QA each)

rxant, wnb / wnb_level, rfgain, loopa / loopb, min_dbm / max_dbm, band_zoom / segment_zoom, fps, average, weighted_average, daxiq_channel — roughly 20 user-intent call sites still hand these to sendCommand()/sendCmd() directly, where the hold backstop drops them (now at qCDebug, by design for echo writers; these are not echo writers).

Wholesale-suppressed command families

The classifier also suppresses slice set , display panafall set , and display waterfall set wholesale during the hold — which includes user actions (e.g. a slice rfgain change) alongside the echo traffic it exists to suppress.

Known-hard site

dbmRangeChangeRequested (MainWindow_Wiring) is genuinely mixed: a user's dBm drag and the auto-floor reconcile share one wire path, so it cannot be routed as user intent without splitting the signal at the widget level first.

Note

RadioModel::setPanBandwidth() currently has no callers; if one appears it would silently drop during the hold — worth either routing or removing when touched.

Census and per-site notes live with the #4201 work; happy to break any slice of this into its own issue on request.

Metadata

Metadata

Assignees

Labels

GUIUser interfacebugSomething isn't workingmaintainer-reviewRequires maintainer review before any action is takenpriority: mediumMedium priorityspectrumPanadapter and waterfall

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions