Eric Traut
907c34e867
Reconnect TUI app-server sessions automatically ( #41916 )
...
## What changed
- Reconnect out-of-process TUI sessions after the app-server transport drops, bootstrap a fresh client, and resume the active thread.
- Preserve cached transcripts, drafts, runtime settings, task-tool capabilities, and live notification routing across the new connection.
- Keep recovered or possibly submitted input paused for manual review instead of resending it, and leave conversations that cannot be resumed available as read-only cached views.
- Show reconnect progress and actionable failure states while still allowing drafts to be edited or copied.
## Testing
- Add app-level coverage for successful recovery, failed and unavailable resumes, input quarantine, and preserved session state.
- Extend the terminal integration test to verify that a draft survives reconnection, the thread is resumed without starting a turn, and notifications arrive through the replacement connection.
GitOrigin-RevId: 5dcb867c89e226a0c545d6313a77424c233cd47a
2026-08-31 21:36:49 +00:00
..
2026-08-31 21:36:49 +00:00
2026-08-29 04:30:58 +00:00
2026-08-31 00:20:06 +00:00
2026-03-28 11:23:07 -06:00
2026-08-31 21:19:22 +00:00
2026-08-31 21:36:49 +00:00
2026-08-30 13:42:42 +00:00
2026-08-27 14:09:15 +00:00
2026-08-31 18:34:10 +00:00
2026-08-25 20:51:34 +00:00
2026-08-31 18:34:10 +00:00
2026-08-17 16:34:21 +00:00
2026-08-29 06:05:28 +00:00
2026-08-30 00:42:00 +00:00
2026-08-30 00:42:00 +00:00
2026-08-24 20:04:52 +00:00
2026-04-21 17:10:36 +00:00
2026-08-25 20:51:34 +00:00
2026-08-24 20:04:52 +00:00
2026-08-17 16:58:24 +00:00
2026-08-20 05:49:49 +00:00
2026-08-17 19:59:22 +00:00
2026-08-14 16:33:28 +00:00
2026-08-30 00:42:00 +00:00
2026-08-31 00:20:06 +00:00
2026-08-31 21:19:22 +00:00
2026-08-24 20:04:52 +00:00
2026-08-24 20:04:52 +00:00
2026-08-25 12:20:41 +00:00
2026-08-25 20:51:34 +00:00
2026-08-17 21:49:30 +00:00
2026-08-25 20:51:34 +00:00
2026-07-21 14:25:18 +00:00
2026-07-15 01:07:29 +00:00
2026-08-31 21:00:25 +00:00
2026-07-22 23:45:45 +00:00
2026-06-15 19:25:54 -07:00
2026-08-31 21:36:49 +00:00
2026-08-31 21:00:25 +00:00
2026-08-26 21:39:05 +00:00
2026-04-13 18:27:00 -07:00
2026-08-25 03:08:33 +00:00
2026-08-31 00:20:06 +00:00
2026-08-31 00:20:06 +00:00
2026-08-04 16:53:33 +00:00
2026-08-31 21:00:25 +00:00
2026-08-18 00:31:51 +00:00
2026-05-05 16:18:02 +00:00
2026-06-01 18:01:52 +02:00
2026-05-13 15:40:37 -07:00
2026-03-28 11:23:07 -06:00
2026-08-20 06:57:00 +00:00
2026-08-17 21:06:34 +00:00
2026-08-30 13:42:42 +00:00
2026-08-25 20:51:34 +00:00
2026-08-21 19:20:09 +00:00
2026-04-30 10:52:19 -07:00
2026-08-27 14:09:15 +00:00
2026-08-31 21:36:49 +00:00
2026-08-27 04:51:46 +00:00
2026-08-31 21:36:49 +00:00
2026-03-28 11:23:07 -06:00
2026-08-16 03:14:17 +00:00
2026-08-16 03:14:17 +00:00
2026-03-28 11:23:07 -06:00
2026-03-28 11:23:07 -06:00
2026-08-04 16:53:33 +00:00
2026-08-21 19:23:26 +00:00
2026-07-29 03:50:00 +00:00
2026-06-12 17:14:27 -07:00
2026-05-09 21:17:30 +00:00
2026-05-01 09:39:48 -07:00
2026-08-13 04:08:23 +00:00
2026-08-13 04:08:23 +00:00
2026-08-24 20:04:52 +00:00
2026-08-01 17:43:03 +00:00
2026-08-26 19:31:52 +00:00
2026-08-30 00:42:00 +00:00
2026-08-31 00:20:06 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-07-29 14:01:31 +00:00
2026-08-24 21:39:48 +00:00
2026-08-25 18:27:42 +00:00
2026-06-26 19:27:31 +00:00
2026-06-26 19:27:31 +00:00
2026-08-24 20:04:52 +00:00
2026-08-24 20:04:52 +00:00
2026-07-19 16:50:54 +00:00
2026-06-08 17:02:36 -07:00
2026-08-24 20:04:52 +00:00
2026-08-27 23:10:10 +00:00
2026-04-29 17:22:41 -07:00
2026-08-25 20:51:34 +00:00
2026-08-17 17:10:16 +00:00
2026-08-25 10:17:03 +00:00
2026-08-05 20:44:03 +00:00
2026-08-17 22:44:37 +00:00
2026-04-25 17:09:29 -07:00
2026-08-14 20:30:30 +00:00
2026-08-26 01:20:40 +00:00
2026-04-25 22:00:32 -03:00
2026-08-31 21:15:38 +00:00
2026-08-17 17:14:46 +00:00
2026-08-25 20:51:34 +00:00
2026-07-29 13:53:15 +00:00
2026-05-20 15:57:50 -07:00
2026-08-19 02:45:45 +00:00
2026-08-19 02:45:45 +00:00
2026-08-21 19:23:26 +00:00
2026-08-25 17:17:01 +00:00
2026-08-17 22:44:37 +00:00
2026-08-19 02:45:45 +00:00
2026-08-14 20:59:34 +00:00
2026-08-20 07:25:40 +00:00
2026-08-25 15:55:35 +00:00
2026-06-18 15:06:23 -07:00
2026-08-17 17:10:16 +00:00
2026-07-20 15:44:37 +00:00
2026-08-25 21:03:11 +00:00
2026-08-16 05:59:34 +00:00
2026-08-25 20:51:34 +00:00
2026-06-10 11:24:29 -07:00
2026-08-25 20:51:34 +00:00
2026-08-21 06:08:26 +00:00
2026-08-14 20:38:52 +00:00
2026-08-14 20:38:52 +00:00
2026-08-31 21:19:22 +00:00
2026-08-22 05:54:43 +00:00
2026-05-10 20:42:11 +00:00
2026-08-24 02:46:56 +00:00
2026-08-24 02:46:56 +00:00
2026-08-24 23:06:06 +00:00
2026-08-25 20:56:03 +00:00
2026-08-25 22:05:48 +00:00
2026-08-25 22:05:48 +00:00
2026-08-25 12:20:41 +00:00
2026-08-25 12:20:41 +00:00
2026-04-17 08:39:37 -07:00
2026-06-05 17:23:45 -07:00
2026-08-13 00:30:08 +00:00
2026-06-10 17:55:49 -07:00
2026-07-29 14:01:31 +00:00
2026-05-26 20:59:47 -07:00
2026-08-27 04:51:46 +00:00
2026-05-08 07:56:13 -07:00
2026-08-29 06:05:28 +00:00
2026-08-04 19:05:45 +00:00
2026-08-15 17:30:13 +00:00
2026-08-25 20:51:34 +00:00
2026-07-06 16:33:13 -04:00
2026-08-20 07:25:40 +00:00
2026-08-25 20:51:34 +00:00
2026-07-08 12:17:58 -04:00
2026-08-25 20:51:34 +00:00
2026-04-25 17:09:29 -07:00
2026-06-12 09:26:08 -07:00
2026-06-12 09:26:08 -07:00
2026-07-28 19:58:25 +00:00
2026-03-28 11:23:07 -06:00
2026-08-30 00:42:00 +00:00
2026-07-29 14:01:31 +00:00
2026-08-26 21:52:56 +00: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-29 14:01:31 +00:00