richardopenai
431185b78b
Defer environment disconnect notifications until recovery fails ( #55401 )
...
## Why
A temporary exec-server transport loss could emit a thread environment disconnect notification while the session was still recovering.
## What changed
- Add `EnvironmentConnectionState::Recovering` for interrupted transports and pending session recovery.
- Suppress thread lifecycle notifications during recovery, emit a connected notification after successful recovery, and report disconnection when recovery fails.
- Ignore recovery callbacks from retired clients so they cannot overwrite the connection state during refresh.
## Testing
Add coverage for fast and near-deadline recovery, recovery timeout, rejected session resume, and retired-client callbacks. Extend app-server coverage to verify one lifecycle notification per selected thread and usable `environment/info` after recovery.
GitOrigin-RevId: d6dce5cc5264af29b6f993daa209b93102122e40
2026-10-19 22:55:42 +00:00
..
2026-10-17 20:54:03 +00:00
2026-10-14 07:13:22 +00:00
2026-10-09 13:15:39 +00:00
2026-10-18 22:43:56 +00:00
2026-09-30 00:51:39 +00:00
2026-10-19 22:55:42 +00:00
2026-10-15 21:35:40 +00:00
2026-10-17 02:19:20 +00:00
2026-10-19 21:43:19 +00:00
2026-10-08 20:11:43 +00:00
2026-10-19 22:21:13 +00:00
2026-10-12 11:24:22 +00:00
2026-10-16 23:56:33 +00:00
2026-09-18 00:25:37 +00:00
2026-10-15 19:51:22 +00:00
2026-09-23 00:47:34 +00:00
2026-10-19 21:43:19 +00:00
2026-10-07 22:11:14 +00:00
2026-09-30 18:49:29 +00:00
2026-10-19 15:13:44 +00:00
2026-10-01 22:32:29 +00:00
2026-10-19 21:43:19 +00:00
2026-09-29 03:32:19 +00:00
2026-10-10 08:51:21 +00:00
2026-10-10 08:51:21 +00:00
2026-10-08 19:15:17 +00:00
2026-10-16 06:06:54 +00:00
2026-10-15 10:46:59 +00:00
2026-10-19 21:43:19 +00:00
2026-09-24 01:50:36 +00:00
2026-10-19 22:02:44 +00:00
2026-10-19 14:08:49 +00:00
2026-10-16 19:26:46 +00:00
2026-10-17 04:02:21 +00:00
2026-10-19 22:55:42 +00:00
2026-10-06 23:28:55 +00:00
2026-10-19 15:15:17 +00:00
2026-10-19 17:02:20 +00:00
2026-10-08 20:11:43 +00:00
2026-10-19 22:21:13 +00:00
2026-10-19 22:55:42 +00:00
2026-10-19 17:02:20 +00:00
2026-10-19 22:55:42 +00:00
2026-10-19 19:53:58 +00:00
2026-10-19 21:44:30 +00:00
2026-10-07 11:18:05 +00:00
2026-10-19 19:10:58 +00:00
2026-10-19 19:33:42 +00:00
2026-10-13 17:22:34 +00:00
2026-10-19 15:15:41 +00:00
2026-10-19 22:01:41 +00:00
2026-10-10 01:25:00 +00:00
2026-10-18 22:43:56 +00:00
2026-10-14 17:56:24 +00:00
2026-10-08 16:19:09 +00:00
2026-09-29 22:24:09 +00:00
2026-10-15 23:58:30 +00:00
2026-10-19 22:21:13 +00:00
2026-10-19 11:36:21 +00:00
2026-10-15 21:29:41 +00:00
2026-10-19 11:51:02 +00:00
2026-10-02 23:26:27 +00:00
2026-10-19 22:21:13 +00:00
2026-10-19 20:54:41 +00:00
2026-10-15 22:25:58 +00:00
2026-10-19 09:09:25 +00:00
2026-10-06 21:29:35 +00:00
2026-10-19 19:55:39 +00:00
2026-10-19 21:43:19 +00:00
2026-10-10 02:54:59 +00:00
2026-10-12 18:53:49 +00:00
2026-10-19 16:56:42 +00:00
2026-10-19 14:08:49 +00:00
2026-10-19 22:04:38 +00:00
2026-10-07 07:57:14 +00:00
2026-10-19 22:21:46 +00:00
2026-10-19 21:26:58 +00:00
2026-09-24 18:08:31 +00:00
2026-10-15 22:25:58 +00:00
2026-10-19 21:01:44 +00:00
2026-10-15 21:07:40 +00:00
2026-10-02 00:46:14 +00:00
2026-10-12 17:52:12 +00:00
2026-10-15 19:01:43 +00:00
2026-10-19 22:04:38 +00:00
2026-10-17 04:02:21 +00:00
2026-10-19 22:21:13 +00:00
2026-10-01 18:05:05 +00:00
2026-10-13 22:40:57 +00:00
2026-10-19 13:10:35 +00:00
2026-10-16 06:06:54 +00:00
2026-10-01 15:57:03 +00:00
2026-09-23 04:25:28 +00:00
2026-09-22 23:37:39 +00:00
2026-10-08 01:12:16 +00:00
2026-10-16 21:00:02 +00:00
2026-09-23 00:47:07 +00:00
2026-10-01 15:57:03 +00:00
2026-10-07 22:11:14 +00:00
2026-10-19 22:21:46 +00:00
2026-10-19 22:21:46 +00:00
2026-10-17 20:54:03 +00:00