Charlie Marsh
854a82dbfd
Track TUI command completion separately from output ( #34218 )
...
## Why
App-server command output deltas populate an exec cell before the command
finishes. Treating the presence of output as completion can therefore mark a
streaming command inactive too early and mishandle it when the turn is
interrupted.
## What changed
- Use the recorded duration, which is set when a command ends, as the exec
call's completion marker.
- Preserve streamed output when marking unfinished calls as failed and render
status lines only after completion.
- Keep a single aggregated output representation and render truncated output
without collecting every line first.
- Append grouped exploration calls in place and coalesce adjacent reads while
rendering without cloning the calls.
## Testing
- Add snapshots covering active streamed output, transcript output, and the
resulting history entry after interruption.
- Add coverage for truncating newline-dense output.
GitOrigin-RevId: 420ac1e5fe1b9fcdbdaa5a8998f3e43a5b720254
2026-07-19 19:44:10 +00:00
..
2026-07-19 16:59:12 +00:00
2026-06-11 22:26:31 -07:00
2026-07-18 18:19:39 +00:00
2026-07-19 19:44:10 +00:00
2026-07-19 19:44:10 +00:00
2026-07-15 21:03:49 +00:00
2026-07-19 19:44:10 +00:00
2026-07-11 01:15:48 +00:00
2026-07-17 23:19:12 +00:00
2026-05-29 14:01:27 -07:00
2026-07-18 18:00:51 +00:00
2026-07-08 15:45:57 -07:00
2026-05-18 20:24:09 -03:00
2026-06-16 17:33:13 +00:00
2026-07-18 03:58:20 +00:00
2026-07-17 23:19:12 +00:00
2026-07-19 19:37:14 +00:00
2026-07-18 18:19:39 +00:00
2026-05-15 17:10:15 -07:00
2026-07-15 02:35:49 +00:00
2026-07-15 01:36:44 +00:00
2026-07-15 01:07:29 +00:00
2026-07-17 23:19:12 +00:00
2026-06-24 13:25:44 -07:00
2026-06-15 19:25:54 -07:00
2026-07-19 16:59:12 +00:00
2026-07-18 03:58:20 +00:00
2026-06-17 19:52:43 +02:00
2026-05-07 20:31:41 -07:00
2026-07-18 18:19:39 +00:00
2026-05-14 18:51:36 -07:00
2026-06-01 18:01:52 +02:00
2026-05-13 15:40:37 -07:00
2026-06-05 08:32:07 -07:00
2026-06-05 08:32:07 -07:00
2026-06-24 18:48:11 -07:00
2026-07-18 03:58:20 +00:00
2026-07-16 16:08:43 +00:00
2026-07-11 17:47:17 +00:00
2026-07-15 22:49:52 +00:00
2026-07-15 22:49:52 +00:00
2026-07-15 22:49:52 +00:00
2026-07-15 21:03:49 +00:00
2026-07-15 21:03:49 +00:00
2026-07-15 22:49:52 +00:00
2026-06-08 21:32:46 -07:00
2026-06-05 08:34:34 -07:00
2026-06-05 08:32:53 -07:00
2026-06-12 17:14:27 -07:00
2026-05-09 21:17:30 +00:00
2026-07-17 23:19:12 +00:00
2026-07-18 18:00:51 +00:00
2026-07-19 17:32:53 +00:00
2026-05-13 15:33:27 +00:00
2026-05-31 15:42:39 -03:00
2026-06-03 20:28:31 -03:00
2026-07-18 03:58:20 +00:00
2026-06-24 03:10:20 +00:00
2026-06-11 09:56:09 -07:00
2026-06-26 19:27:31 +00:00
2026-06-26 19:27:31 +00:00
2026-06-08 17:02:36 -07:00
2026-07-19 19:33:31 +00:00
2026-07-19 16:50:54 +00:00
2026-06-08 17:02:36 -07:00
2026-07-18 18:00:51 +00:00
2026-07-12 19:18:37 +00:00
2026-07-17 23:07:40 +00:00
2026-05-25 09:53:39 -07:00
2026-07-19 19:44:10 +00:00
2026-05-15 17:10:15 -07:00
2026-07-19 16:46:58 +00:00
2026-05-20 15:57:50 -07:00
2026-06-24 13:08:14 -07:00
2026-05-22 17:19:51 +00:00
2026-07-18 03:58:20 +00:00
2026-06-18 15:06:23 -07:00
2026-07-11 21:03:12 +00:00
2026-07-17 20:46:18 +00:00
2026-06-10 11:24:29 -07:00
2026-06-05 15:32:43 -04:00
2026-07-18 18:19:39 +00:00
2026-05-27 16:18:24 -03:00
2026-05-10 20:42:11 +00:00
2026-07-19 19:33:31 +00:00
2026-06-12 17:33:43 -07:00
2026-06-16 09:09:24 -07:00
2026-06-05 17:23:45 -07:00
2026-06-10 17:55:49 -07:00
2026-05-26 20:59:47 -07:00
2026-05-26 20:59:47 -07:00
2026-07-19 16:46:58 +00:00
2026-05-08 07:56:13 -07:00
2026-07-17 20:46:18 +00:00
2026-06-15 08:23:02 -07:00
2026-07-19 17:32:53 +00:00
2026-07-06 16:33:13 -04:00
2026-07-08 12:17:58 -04:00
2026-05-27 20:14:55 +00:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-07-08 12:17:58 -04:00
2026-06-11 09:23:08 -07:00
2026-06-11 18:16:39 -07:00
2026-06-22 04:25:07 -07:00
2026-06-22 04:25:07 -07:00
2026-07-19 19:33:31 +00:00