Repository navigation
fix(berd-call): prevent status sounds from stalling microphone input - #423
Closed
johnmatthewtennant wants to merge 2 commits into
Closed
johnmatthewtennant wants to merge 2 commits into
johnmatthewtennant wants to merge 2 commits into
Conversation
added 2 commits
October 22, 2026 08:26
Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz>
Contributor
Author
|
🤖 Closing as superseded by #425, which includes the PCM worker integration from this PR. This closure does not indicate that the fix has merged. |
johnmatthewtennant
added a commit
that referenced
this pull request
Oct 22, 2026
…#425) ## Summary Prevent native status audio operations from blocking the microphone PCM loop. Keep cues on their five-second schedule, skip cues due during speech, and let a cue already playing finish. A Working/Waiting transition during speech is announced after speech ends. Status cues follow the existing mute-during-TTS setting, with Auto resolved against the selected output. Cue suppression pauses incoming PCM without discarding active speech or pending recognition. ### Related issue Supersedes #423. Optional VAD debug playback and its controls belong to #426; this PR does not advertise or implement them. ### Testing Retained regressions pass for skipped ticks without catch-up, active sample completion, deferred status announcements, microphone admission while an audio worker is stalled, recognition-epoch preservation and selected-output Auto policy. A compatibility regression loads preferences from a debug-enabled build, saves and reloads them, verifies unrelated nondefault values survive, and verifies the optional debug key is omitted. The rebuilt settings help omits the debug flag while retaining status and input-policy controls. The full package run still reports the previously observed Spokesperson timing/fixture, CLI usage and session-protocol failures. Normal push checks pass. Focused removal review reports no findings. Installed call and plugin files are unchanged. --------- Signed-off-by: Gigi <65cc00ce5da00abcd27be4a87ad29d7ef8431766d769a24d94f004fb8fe07066@buzz.block.builderlab.xyz> Signed-off-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz> Signed-off-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz> Co-authored-by: Gigi <65cc00ce5da00abcd27be4a87ad29d7ef8431766d769a24d94f004fb8fe07066@buzz.block.builderlab.xyz> Co-authored-by: Nora <49aa1f65411fd096d2e2ec144f1e7aa36fdc76d1b907cfdf7be000c66f9d3b8e@buzz.block.builderlab.xyz> Co-authored-by: Zack <04f47b290b155b3b8b782b11501cdb15f1e21e82dfceefd01ff0ed405459d927@buzz.block.builderlab.xyz>
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
Fix a call-start microphone overflow when native status-sound work stalls the session loop. The reported failure accepted 32 PCM buffers without processing one while the loop was in status-sound polling.
Run status-sound loading, device creation and playback on the existing managed worker in both session modes. Queue conversation-activity changes without waiting for that worker, so microphone processing can continue during a slow output operation. Existing acknowledged activity callers retain their API.
Related issue
N/A. No matching issue or PR found.
Testing
session_activity_does_not_wait_for_a_stalled_audio_workerdeliberately leaves the audio worker unserviced and verifies the session-facing activity call returns within 100 milliseconds. The acknowledged path fails this regression; the queued path passes.Native acceptance: the combined build at
7a66ed3014d17a4fcc312b246371c5d912de30af, containing this PCM fix and the Advanced VAD changes, was installed with matching source/install SHA256. A replacement AirPods call started successfully. This verifies ordinary native startup on the combined build; a forced native-output stall with measured continued PCM processing has not been exercised.