Repository navigation
berd-call: turn the Spokesperson on or off from the menu bar - #396
Closed
johnmatthewtennant wants to merge 4 commits into
Closed
johnmatthewtennant wants to merge 4 commits into
johnmatthewtennant wants to merge 4 commits into
Conversation
A Spokesperson checkmark in the menu bar, and `berd-call settings --spokesperson true|false`, restart the running call's session in the other mode. Agents keep the voice they have now, options only the other mode takes are left out, and a `--stream live` call gets the Spokesperson back beside the agents' own voice. Signed-off-by: John Tennant <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
…oggle Turning the Spokesperson on or off now restores the agents' live speech settings in the new session, so an OpenAI voice and model chosen during the call survive, which startup options can't express. When agents have no voice of their own after the switch, their speed is left out rather than becoming the Spokesperson's, whose range is narrower; a conventional call at 2× no longer ends when the Spokesperson turns on. Signed-off-by: John Tennant <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
The menu showed the call's mode only once the restarted session answered, so the checkmark lagged a switch by the session's startup time. The menu now shows the chosen mode until the switch finishes, and keeps the last status while the restarting call doesn't answer. Signed-off-by: John Tennant <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
With the Spokesperson on, its voice and speed now sit in its menu section, under the checkmark, and the agents' voice, speed and input-during-TTS setting get the next section. Signed-off-by: John Tennant <[email protected]> Co-Authored-By: Claude Opus 5.5 <[email protected]>
johnmatthewtennant
marked this pull request as ready for review
October 20, 2026 16:45
morgmart
requested changes
Oct 20, 2026
morgmart
left a comment
Collaborator
There was a problem hiding this comment.
🤖 Automated code review
Engineering found one blocking behavior regression in the new Spokesperson-mode restart path. Supplied GitHub evidence is structurally valid and all ten check runs completed successfully at the reviewed head SHA; no local execution was performed.
Deterministic publication result: 1 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 0 blocking screenshot-evidence requirement(s) in this review body.
Contributor
Author
|
🤖 Combined into #397 with its commits kept, so the stack no longer needs restacking and review covers one diff. Open review findings carry over there. (AI-generated comment) |
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
The Spokesperson could only be chosen when a call started, with
--mode expert-spokesperson. Switching between a Spokesperson call and a direct agent call meant ending the call and starting another.settings --restart.berd-call settings --spokesperson true|falsedoes the same from the CLI, through a newspokesperson_modecontrol request.--stt-urlor--realtime-url, are left out. In a--stream livecall the Spokesperson comes back with--allow-direct-agent-speech, so agents keep their own voice beside it. Otherwise their speed is left out, since it would become the Spokesperson's, which can't go above 1.5×.Related issue
None found.
Testing
turning_the_spokesperson_on_restarts_the_call_with_the_agents_current_voice: a direct call started with Samantha, whose live voice is now Aaron at 1.25×, restarts in Expert-Spokesperson mode with Aaron at 1.25× restored, without its--stt-url, and with--allow-direct-agent-speechfor a live stream. Without a live stream, a call at 2× restarts without its speed, and the options pass startup validation. Before the fix, that 2× call kept its speed, and the replacement session failed to start.turning_the_spokesperson_off_and_on_keeps_the_options_both_modes_take: off drops the realtime URL and the Spokesperson's voice, and on drops the STT URL.replies_with_their_own_voice_put_the_spokespersons_beside_it: the Spokesperson's voice and speed share the checkmark's section, and the agents' get the next one.menu_reflects_live_call_state: the checkmark is on in an Expert-Spokesperson call and offers to turn it off, and is off in a conventional call and offers to turn it on.berd-call start --stream live), with Siri en-US-F at 2×, ticking Spokesperson moved the call to--mode expert-spokesperson --allow-direct-agent-speech, with en-US-F at 2× for the agents and the Spokesperson at 1×. Unticking it moved the call back to conventional at en-US-F 2×. The call stayed up the whole time, andstatusshowed each state.menu_reflects_live_call_statenow covers a switch in progress, which shows the chosen mode at once.