Benjamin Carlsson
ab95cd4dd9
Preserve voice caption order when replaying TUI history ( #44749 )
...
## Why
Retained voice captions were appended after replayed history, placing earlier speech after later typed turns when switching back to a thread.
## What changed
Anchor completed captions to the next live turn and restore them before that turn during replay. Handle buffered item, delta, and completion events even when the turn-start event has been evicted. Restore remaining captions at the end of replay.
## Testing
Extend regression coverage to verify caption order and avoid duplicates across repeated thread switches. Add coverage for inactive-thread captions replayed before a later buffered turn without its start event, with and without a message delta.
GitOrigin-RevId: 6860a649bdcdda4937afb3ab4bbd75cf4ea5b4e6
2026-09-11 06:56:37 +00:00
..
2026-09-05 18:06:26 +00:00
2026-09-10 17:03:11 +00:00
2026-09-11 00:55:51 +00:00
2026-09-07 19:34:23 +00:00
2026-09-09 20:39:33 +00:00
2026-09-10 21:41:39 +00:00
2026-09-03 06:02:25 +00:00
2026-09-10 13:02:57 +00:00
2026-08-31 13:44:12 +00:00
2026-08-31 13:44:12 +00:00
2026-09-03 23:20:54 +00:00
2026-09-09 03:17:48 +00:00
2026-09-02 21:50:51 +00:00
2026-09-07 16:55:06 +00:00
2026-09-11 05:38:18 +00:00
2026-09-10 21:41:39 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-08-29 02:52:58 +00:00
2026-09-01 17:17:45 +00:00
2026-09-01 01:00:50 +00:00
2026-09-10 18:55:57 +00:00
2026-09-10 10:31:15 +00:00
2026-09-11 01:57:54 +00:00
2026-09-10 21:51:34 +00:00
2026-09-05 01:25:06 +00:00
2026-09-11 06:44:40 +00:00
2026-08-31 21:27:51 +00:00
2026-09-10 21:51:34 +00:00
2026-09-04 23:56:25 +00:00
2026-09-11 01:57:54 +00:00
2026-09-11 01:57:54 +00:00
2026-09-02 18:34:27 +00:00
2026-09-05 12:17:32 +00:00
2026-09-07 17:09:04 +00:00
2026-09-10 22:17:03 +00:00
2026-09-07 16:55:06 +00:00
2026-09-11 01:57:54 +00:00
2026-09-10 18:24:13 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 18:10:26 +00:00
2026-08-27 20:44:47 +00:00
2026-09-06 20:52:29 +00:00
2026-09-10 16:02:36 +00:00
2026-09-09 23:23:59 +00:00
2026-09-10 00:26:30 +00:00
2026-09-08 19:40:43 +00:00
2026-09-01 15:12:53 +00:00
2026-09-09 19:43:41 +00:00
2026-09-10 23:15:48 +00:00
2026-09-09 20:32:57 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 21:41:39 +00:00
2026-09-10 03:18:28 +00:00
2026-09-10 19:29:54 +00:00
2026-09-09 17:45:17 +00:00
2026-09-09 15:48:39 +00:00
2026-09-01 17:17:45 +00:00
2026-09-10 21:51:34 +00:00
2026-08-25 15:50:19 +00:00
2026-09-11 00:03:40 +00:00
2026-09-11 03:16:01 +00:00
2026-08-26 17:45:42 +00:00
2026-09-10 20:50:10 +00:00
2026-09-10 18:24:13 +00:00
2026-08-28 01:14:02 +00:00
2026-09-10 22:17:03 +00:00
2026-09-09 06:04:59 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-09 23:23:59 +00:00
2026-09-02 18:34:27 +00:00
2026-09-08 04:35:21 +00:00
2026-09-10 18:24:13 +00:00
2026-09-09 23:46:17 +00:00
2026-09-11 06:56:37 +00:00
2026-09-02 18:42:06 +00:00
2026-09-08 00:13:28 +00:00
2026-09-11 00:03:40 +00:00
2026-09-11 03:16:01 +00:00
2026-09-03 20:01:07 +00:00
2026-09-10 22:17:03 +00:00
2026-09-02 22:19:51 +00:00
2026-09-08 23:37:26 +00:00
2026-09-08 21:19:02 +00:00
2026-09-11 06:45:09 +00:00
2026-09-10 13:02:57 +00:00
2026-09-11 06:45:09 +00:00