Benjamin Carlsson
440312f113
Keep TUI session selections bound to their backend ( #54681 )
...
## Why
A thread ID alone does not identify the backend that owns a session. Resume and fork selections must retain that ownership across connection replacement so they cannot operate on another backend, even when thread IDs match.
## What changed
- Add a process-local `BackendId` to app-server sessions and session targets, preserving it across reconnects and auxiliary picker connections.
- Reject selections from a different backend before changing session state or sending resume, fork, or unarchive requests.
- Disable local-daemon fallback to an embedded server for auxiliary pickers and after selecting a session, while retaining fallback for fresh startup.
## Testing
Add regression coverage for foreign selections with matching thread IDs, startup resume and fork rejection before requests, shared ownership across picker connections, and fallback eligibility.
GitOrigin-RevId: 05a3ca0a901a8dc24337d130548aa2c048b4d586
2026-10-16 19:13:40 +00:00
..
2026-10-12 13:39:54 +00:00
2026-10-14 07:13:22 +00:00
2026-10-09 13:15:39 +00:00
2026-10-15 21:30:56 +00:00
2026-09-30 00:51:39 +00:00
2026-10-16 19:08:19 +00:00
2026-10-15 21:35:40 +00:00
2026-10-15 20:00:15 +00:00
2026-10-15 21:30:56 +00:00
2026-10-08 20:11:43 +00:00
2026-10-16 16:07:25 +00:00
2026-10-12 11:24:22 +00:00
2026-10-12 15:43:27 +00:00
2026-10-15 19:51:22 +00:00
2026-09-23 00:47:34 +00:00
2026-10-09 21:29:36 +00:00
2026-10-07 22:11:14 +00:00
2026-09-30 18:49:29 +00:00
2026-10-16 16:23:55 +00:00
2026-10-01 22:32:29 +00:00
2026-09-29 13:58:09 +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-09-25 00:20:02 +00:00
2026-09-24 01:50:36 +00:00
2026-10-16 16:40:17 +00:00
2026-10-16 14:38:19 +00:00
2026-10-15 15:12:58 +00:00
2026-10-16 19:08:19 +00:00
2026-10-06 23:28:55 +00:00
2026-09-23 22:20:34 +00:00
2026-10-15 21:44:12 +00:00
2026-10-08 20:11:43 +00:00
2026-10-16 19:08:19 +00:00
2026-10-16 15:43:21 +00:00
2026-10-15 22:25:58 +00:00
2026-10-16 18:39:31 +00:00
2026-10-13 16:15:41 +00:00
2026-10-16 16:40:17 +00:00
2026-10-07 11:18:05 +00:00
2026-10-01 09:52:54 +00:00
2026-10-16 04:42:32 +00:00
2026-10-13 17:22:34 +00:00
2026-10-14 16:48:00 +00:00
2026-10-15 15:12:58 +00:00
2026-10-10 01:25:00 +00:00
2026-10-16 14:38:19 +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-14 19:07:44 +00:00
2026-10-14 16:53:24 +00:00
2026-10-15 21:29:41 +00:00
2026-10-07 18:32:50 +00:00
2026-10-02 23:26:27 +00:00
2026-10-06 01:46:33 +00:00
2026-10-15 17:36:47 +00:00
2026-10-15 22:25:58 +00:00
2026-10-14 23:55:50 +00:00
2026-10-06 21:29:35 +00:00
2026-10-15 15:12:58 +00:00
2026-10-16 19:08:19 +00:00
2026-10-10 02:54:59 +00:00
2026-10-12 18:53:49 +00:00
2026-10-07 22:11:14 +00:00
2026-10-16 16:40:17 +00:00
2026-10-15 21:30:56 +00:00
2026-10-07 07:57:14 +00:00
2026-10-15 09:49:32 +00:00
2026-09-24 18:08:31 +00:00
2026-10-15 22:25:58 +00:00
2026-10-13 22:07:59 +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-16 17:31:47 +00:00
2026-10-15 19:51:22 +00:00
2026-10-16 19:13:40 +00:00
2026-10-01 18:05:05 +00:00
2026-10-13 22:40:57 +00:00
2026-10-14 02:01:49 +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-12 16:58:24 +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-16 18:39:31 +00:00
2026-10-16 18:39:31 +00:00
2026-10-12 13:39:54 +00:00