Skip to content

Deregister the calibration tap and filter it from client lists; versionCode 12 - #3

Merged
guerman5 merged 3 commits into
mainfrom
settings-container-convergence
Aug 25, 2026
Merged

guerman5 merged 3 commits into
mainfrom
settings-container-convergence

Conversation

@guerman5

Copy link
Copy Markdown
Contributor

Brings the calibration-tap work (previously #2) into main. #2 was based on this branch and merged into it rather than into main, so main currently has the settings convergence but not the tap fix. Same commits, no rework.

A client-side calibration starts a second, silent snapclient for its reference PCM. Killing that process was never enough: snapserver keeps disconnected clients with their last-known values — the calibration's own read-back depends on it — so every run left the tap registered for ever under a fresh random id. The rig had collected 14 orphan clients across 15 groups, inflating Server.GetStatus from 2.9 KB to 9.4 KB. Server.DeleteClient was implemented and had no caller.

  • Wires capullo-audio ba1ff9a's deregister hook, after a 1.5 s grace so snapserver has registered the disconnect.
  • Filters the tap where a server status arrives rather than at the six places that consume the list.

Rig-verified, two consecutive runs

run 1 run 2
tap id qctap-47d7d02b qctap-47d7d02b
orphans left 0 0

Same id both runs (now derived per-device, not random), zero orphans where before there would have been two. Mid-run, on one server at one instant, the unfiltered build showed 3 client cards and the filtered build 2.

guerman5 and others added 3 commits August 25, 2026 10:59
…onCode 11

Wires the deregister hook capullo-audio added: after the tap process is killed,
Server.DeleteClient removes it from the server, 1.5 s later so snapserver has
registered the disconnect first. Without this every client-side calibration left
a permanent phantom client behind.

Filters the tap at both points where a server status arrives, rather than at the
six places that consume the list. It is a connected client but not a speaker, so
the control sheet, the connected-device count and reset-all all want it gone.
Deregister the calibration tap and filter it from client lists; versionCode 12
@guerman5
guerman5 merged commit de75e9a into main Aug 25, 2026
3 checks passed
@guerman5
guerman5 deleted the settings-container-convergence branch August 25, 2026 10:47
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