Eric Traut
b966240bea
Preview streaming prose before a newline arrives in the TUI ( #45135 )
...
## Why
Unterminated prose stayed hidden until a newline arrived or the stream completed, leaving long single-line responses invisible while they streamed.
## What changed
- Show live prose previews for agent messages and proposed plans, requesting redraws when the preview changes.
- Keep previews out of the scrollback queue and render the full source on newline or completion without duplicating text.
- Bound previews to the most recent 8 KiB at a Unicode character boundary, with an ellipsis for omitted text, and reflow them when the width changes.
- Preserve holdback for incomplete table and code structures, retaining the last safe prose preview when a pipe arrives.
## Testing
Add controller tests and TUI snapshots covering visibility before completion, resize reflow, finalization without duplication, long Unicode previews, table and code holdback, and inline visualization context.
GitOrigin-RevId: 26c83c218b986625820b20779a46d1b800a7e0ff
2026-09-12 23:54:20 +00:00
..
2026-09-05 18:06:26 +00:00
2026-08-24 22:40:35 +00:00
2026-09-11 20:27:37 +00:00
2026-09-12 21:14:07 +00:00
2026-09-07 19:34:23 +00:00
2026-09-09 20:39:33 +00:00
2026-09-11 21:32:04 +00:00
2026-07-30 19:47:30 +00:00
2026-09-03 06:02:25 +00:00
2026-09-10 13:02:57 +00:00
2026-08-20 08:10:08 +00:00
2026-09-11 20:10:02 +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-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-09-11 14:25:56 +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-09-11 17:00:07 +00:00
2026-09-11 17:00:07 +00:00
2026-09-11 17:00:07 +00:00
2026-09-11 17:00:07 +00:00
2026-09-11 21:59:24 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 23:13:37 +00:00
2026-09-11 01:57:54 +00:00
2026-09-11 23:36:17 +00:00
2026-09-05 01:25:06 +00:00
2026-09-12 00:12:26 +00:00
2026-08-31 21:27:51 +00:00
2026-09-10 21:51:34 +00:00
2026-09-12 18:16:17 +00:00
2026-09-12 22:28:41 +00:00
2026-09-11 01:57:54 +00:00
2026-09-11 14:25:56 +00:00
2026-08-07 11:30:17 +00:00
2026-09-05 12:17:32 +00:00
2026-09-11 20:27:37 +00:00
2026-09-10 22:17:03 +00:00
2026-09-07 16:55:06 +00:00
2026-08-17 04:37:50 +00:00
2026-09-11 17:55:03 +00:00
2026-09-10 18:24:13 +00:00
2026-09-12 22:28:41 +00:00
2026-09-10 18:10:26 +00:00
2026-07-31 21:37:56 +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-11 21:59:24 +00:00
2026-09-11 21:59:24 +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-12 00:22:04 +00:00
2026-09-11 20:10:02 +00:00
2026-09-11 22:33:24 +00:00
2026-07-30 04:26:36 +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-12 00:22:04 +00:00
2026-09-11 03:16:01 +00:00
2026-08-26 17:45:42 +00:00
2026-08-21 16:45:05 +00:00
2026-09-10 20:50:10 +00:00
2026-09-11 21:32:04 +00:00
2026-08-28 01:14:02 +00:00
2026-09-11 20:10:02 +00:00
2026-08-10 15:43:10 +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-11 21:32:04 +00:00
2026-09-09 23:46:17 +00:00
2026-09-12 23:54:20 +00:00
2026-09-02 18:42:06 +00:00
2026-09-08 00:13:28 +00:00
2026-09-12 18:16:17 +00:00
2026-09-11 22:09:02 +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-08-15 14:31:04 +00:00
2026-09-08 23:37:26 +00:00
2026-09-08 21:19:02 +00:00
2026-09-11 22:55:38 +00:00
2026-09-10 13:02:57 +00:00
2026-09-11 06:45:09 +00:00