Brooklyn Nicholson
9859e1f7df
fix(voice): speak the whole turn, not just its first bubble; idle-flush held narration
...
Two fixes for desktop hands-free voice:
- The live speech session bound to the first assistant bubble with text, so
a tool-calling turn spoke only the opening narration and silently dropped
every later interim AND the final answer. The conversation selector now
aggregates all unspoken assistant bubbles in order (turn-scoped speech);
auto-speak keeps its latest-reply-only behavior.
- The speak-stream WS producer blocked forever on the text queue, so a
narration line with no trailing whitespace ("Let me check.") sat in the
sentence chunker until end-of-turn — spoken long after the tool finished,
with the UI stuck on "Preparing audio…". Mirror the CLI speaker's idle
flush: sentence-terminated buffers flush after 0.5s of producer silence,
anything else after ~2s; open <think> blocks are never flushed.
2026-07-23 01:53:37 -05:00
..
2026-07-22 06:50:50 -07:00
2026-07-22 16:51:01 -04:00
2026-07-22 16:51:01 -04:00
2026-07-20 11:35:21 -07:00
2026-07-12 05:08:13 -04:00
2026-07-21 20:18:43 -05:00
2026-07-17 11:37:25 +05:30
2026-07-22 16:47:06 -04:00
2026-07-11 12:28:55 +05:30
2026-07-18 14:01:33 -07:00
2026-07-22 16:51:01 -04:00
2026-07-18 02:49:28 -07:00
2026-07-22 23:25:13 -05:00
2026-07-17 04:53:38 -07:00
2026-07-22 08:11:09 +05:30
2026-07-22 12:10:58 -05:00
2026-07-21 05:27:13 -07:00
2026-07-01 23:51:54 +05:30
2026-07-21 13:54:11 -05:00
2026-07-23 01:39:21 -05:00
2026-07-22 16:51:01 -04:00
2026-07-16 14:30:05 +10:00
2026-07-22 21:17:21 -07:00
2026-06-30 03:27:41 -07:00
2026-07-19 03:02:21 -07:00
2026-07-17 04:58:35 -07:00
2026-07-06 12:26:21 -07:00
2026-07-22 16:47:06 -04:00
2026-07-05 13:42:46 -07:00
2026-06-30 17:29:23 -07:00
2026-07-07 04:09:35 -07:00
2026-07-20 03:06:02 -07:00
2026-07-18 02:31:20 -07:00
2026-07-22 04:39:17 -07:00
2026-07-16 07:19:36 -07:00
2026-07-08 16:55:32 +10:00
2026-07-22 09:53:51 +05:30
2026-07-20 05:38:25 -07:00
2026-06-30 00:59:29 -05:00
2026-07-15 07:39:42 -07:00
2026-07-22 16:47:06 -04:00
2026-07-01 16:25:48 -05:00
2026-07-22 22:23:24 -07:00
2026-07-15 07:39:17 -07:00
2026-07-09 16:13:59 -05:00
2026-07-15 07:39:17 -07:00
2026-07-22 22:23:24 -07:00
2026-07-05 13:42:46 -07:00
2026-07-23 00:42:46 -05:00
2026-07-15 04:56:25 -07:00
2026-07-17 04:50:47 -07:00
2026-07-21 12:43:27 -07:00
2026-07-07 04:09:35 -07:00
2026-07-14 21:08:22 -07:00
2026-07-17 13:49:12 -07:00
2026-07-15 00:10:31 -07:00
2026-07-16 04:24:14 -07:00
2026-07-22 11:19:37 +05:30
2026-07-22 16:47:06 -04:00
2026-07-21 12:20:25 +05:30
2026-07-21 06:41:04 -07:00
2026-07-20 12:59:28 +05:30
2026-07-02 05:10:31 -07:00
2026-07-16 19:49:39 -04:00
2026-07-13 02:00:09 -07:00
2026-07-05 13:42:46 -07:00
2026-07-15 07:39:17 -07:00
2026-07-05 13:42:46 -07:00
2026-07-21 10:09:31 -04:00
2026-07-05 19:13:20 -07:00
2026-07-20 10:17:57 -07:00
2026-07-07 15:15:37 -07:00
2026-07-22 11:19:37 +05:30
2026-07-22 16:51:01 -04:00
2026-07-22 03:20:09 -07:00
2026-06-29 21:33:00 +10:00
2026-07-09 19:54:02 -07:00
2026-07-07 12:36:41 -07:00
2026-07-07 13:29:58 -07:00
2026-07-05 22:04:52 -07:00
2026-07-03 13:44:00 -07:00
2026-07-17 04:53:38 -07:00
2026-07-20 08:47:55 -07:00
2026-07-09 19:57:54 -07:00
2026-07-17 04:52:02 -07:00
2026-07-21 21:00:43 -05:00
2026-07-21 21:00:43 -05:00
2026-07-14 13:58:36 -07:00
2026-07-18 02:31:20 -07:00
2026-07-05 13:42:46 -07:00
2026-07-16 23:41:26 -07:00
2026-07-23 00:42:46 -05:00
2026-07-07 05:12:24 -07:00
2026-07-11 12:28:55 +05:30
2026-07-13 14:53:34 -04:00
2026-07-23 01:53:37 -05:00
2026-07-16 12:36:51 +05:30
2026-07-17 18:23:22 +02:00
2026-07-05 23:00:34 +05:30