Language switching mid-call
Left to itself, the voice model kept whatever language the previous turn was in — a caller who switched from Hindi to Telugu got Hindi back, once with an explanation of why. Telling it the language after the fact was worse, because the transcript arrives after it has often already started answering. The fix changed who controls turn-taking: server-side voice detection still commits the utterance but no longer auto-replies; the browser waits for the transcript, detects the script by Unicode block (filler words deliberately below the threshold so "haan" can't flip the session), sends the model an explicit current-language instruction, and only then asks for a response. About a second per turn, in exchange for the language being a stated fact instead of a guess.