Skip to content

SMOODEV-2674: Speaker toggle (STT-only voice) + voice-first thread adoption#41

Merged
brentrager merged 1 commit into
mainfrom
SMOODEV-2674-stt-only
Jul 18, 2026
Merged

SMOODEV-2674: Speaker toggle (STT-only voice) + voice-first thread adoption#41
brentrager merged 1 commit into
mainfrom
SMOODEV-2674-stt-only

Conversation

@brentrager

Copy link
Copy Markdown
Contributor

Two voice UX features from the Chakra TP pilot feedback:

  1. Speak-and-read mode — a speaker toggle next to the mic (visible whenever voice is enabled) flips agent speech per-session. Off → the start frame carries tts:false and the server skips TTS entirely (server side: SmooAI/smooai#3172); replies still land as chat bubbles. voice.tts config sets the default; turning speech off mid-session also cuts current playback, and the full flag applies at the next session (titles say so).
  2. Voice-first continuitystartVoice now connects the text session first when no conversation exists, so voice turns land in a REAL conversation the text thread owns; leaving voice continues seamlessly in text. (Adopting the server-minted browser:<uuid> id was rejected: it has no conversations row and the text protocol can't resume it.)

Verification: 182/182 tests (new: tts start-frame framing, toggle render/flip/config-default, voice-first connect adoption); pnpm check green.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Tz7j9eqPBBL36CEFZpjoWz

…option

A speaker button beside the mic flips agent speech per-session: off sends
tts:false in the start frame so the server skips TTS entirely and the
visitor speaks-and-reads. voice.tts config sets the default. startVoice
now connects the text session first when no conversation exists, so
voice-first visitors land in a real thread that text turns continue.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Tz7j9eqPBBL36CEFZpjoWz
@changeset-bot

changeset-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 134c95b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@smooai/chat-widget Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@brentrager
brentrager merged commit 6436692 into main Jul 18, 2026
1 check passed
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