Brennan Benson
735b9860f1
Merge main into the structured chat core branch
...
Resolves 14 conflicts. Four of them were files main SPLIT since the branch
diverged, where taking our side would have compiled green with the change
landing in dead code, so each was re-homed into the module that now owns it:
- worktrees.ts (3.2k lines -> a barrel): the agent-session visible-tab-type
hunk moved to worktrees/listing/worktree-catalog-visibility.ts.
- worktree-activation.ts (605 lines removed): the activation gate that
supersedes resumeSleepingAgentSessionsForWorktree was ported onto both of
main's remaining call sites.
- App.tsx (2.7k lines removed): the two startup steps and the restoration-ready
flag moved into app-shell/use-app-startup-hydration.ts, the sync hook into
use-app-shell-services.ts, and the status bridge into AppBackgroundServices.
The degraded-boot path releases the same flag so a failed startup still
unblocks the gate.
- useTabGroupWorkspaceModel.ts (split into five hooks): the agent-session
projection, close branches, and activation command were re-homed per hook.
- Three deleted test files (#14728 max-lines split) had their real assertions
moved into the split files that replaced them, not resurrected.
Behavioural resolutions worth naming:
- Terminal.tsx keeps our activation gate but folds in main's
activeWorktreeHasTerminalState guard, so a gated workspace still refuses to
re-seed a terminal the user deliberately closed.
- The orchestration mailbox pointer moved into orchestration/mailbox-pointer-*,
which dropped our agent-session lease enforcement on the pointer -> Enter
span. Re-homed onto writeOrchestrationPointerPty: the admission is snapshotted
with the pointer text and re-asserted before the submit, so a session that
re-leases the pty during the 500ms pause no longer receives the Enter.
- dispatcher.ts widens our Pick to carry main's authenticatedCallerFingerprint
rather than dropping either side.
Verification: three typechecks clean; 54,7xx tests pass. The IME preedit pair
fails identically on pristine main and is not from this merge.
2026-08-16 22:53:16 -07:00
..
2026-08-14 14:10:45 -07:00
2026-08-16 01:16:11 -07:00
2026-08-16 13:45:54 -07:00
2026-07-20 01:14:17 -07:00
2026-07-06 02:12:32 -07:00
2026-06-29 22:38:29 -07:00
2026-08-13 12:48:47 -07:00
2026-07-15 13:25:24 -07:00
2026-07-28 12:33:17 -07:00
2026-07-13 19:13:19 -07:00
2026-07-28 12:33:17 -07:00
2026-06-10 17:23:12 -07:00
2026-08-07 20:36:23 -07:00
2026-08-10 15:52:59 -07:00
2026-08-10 15:52:59 -07:00
2026-06-19 17:14:55 -07:00
2026-06-11 12:46:43 -07:00
2026-08-11 21:16:36 -07:00
2026-07-10 17:27:47 -07:00
2026-07-10 17:27:47 -07:00
2026-07-30 18:51:11 -07:00
2026-08-11 21:16:36 -07:00
2026-06-07 18:16:53 -07:00
2026-07-20 03:04:28 -04:00
2026-06-08 01:00:29 -07:00
2026-08-13 12:38:08 -07:00
2026-06-28 23:13:03 -07:00
2026-07-28 00:22:22 -07:00
2026-07-20 22:04:01 -04:00
2026-08-12 16:07:08 -07:00
2026-08-03 13:02:56 -07:00
2026-08-03 13:02:56 -07:00
2026-08-03 13:02:56 -07:00
2026-08-11 03:07:44 -07:00
2026-08-03 13:02:56 -07:00
2026-08-01 21:07:58 -07:00
2026-06-29 23:37:30 -07:00
2026-08-11 18:19:43 -07:00
2026-08-11 18:19:43 -07:00
2026-08-04 22:07:30 -07:00
2026-07-20 18:18:11 -07:00
2026-08-13 20:44:16 -07:00
2026-08-15 01:25:09 -07:00
2026-06-07 17:49:01 -07:00
2026-08-15 00:41:45 -07:00
2026-08-06 21:18:52 -07:00
2026-06-29 22:38:29 -07:00
2026-06-17 20:05:55 -07:00
2026-07-27 15:22:55 -07:00
2026-07-21 20:51:28 -07:00
2026-08-07 22:33:50 -07:00
2026-06-29 22:38:29 -07:00
2026-07-25 13:42:28 -07:00
2026-06-29 22:38:29 -07:00
2026-05-13 18:48:14 -07:00
2026-05-13 18:48:14 -07:00
2026-08-03 22:55:17 -07:00
2026-05-30 22:46:38 -07:00
2026-05-30 22:46:38 -07:00
2026-07-26 23:48:20 -07:00
2026-07-06 02:12:32 -07:00
2026-06-19 17:14:55 -07:00
2026-08-05 12:57:02 -07:00
2026-08-14 19:04:55 -04:00
2026-08-14 19:04:55 -04:00
2026-05-25 22:21:39 -07:00
2026-07-28 20:52:09 -07:00
2026-04-27 20:55:47 -07:00
2026-06-22 16:27:33 -07:00
2026-07-29 21:43:45 -07:00
2026-08-11 03:07:44 -07:00
2026-06-09 20:57:43 -07:00
2026-06-10 13:41:05 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-08-14 00:33:15 -07:00
2026-06-29 22:38:29 -07:00
2026-07-05 19:46:49 -07:00
2026-08-11 03:07:44 -07:00
2026-08-16 13:45:54 -07:00
2026-07-10 17:27:47 -07:00
2026-08-13 10:31:08 -07:00
2026-08-10 20:42:43 -07:00
2026-08-13 09:56:30 -07:00
2026-08-13 09:31:20 -07:00
2026-08-13 00:58:55 -07:00
2026-08-13 00:58:55 -07:00
2026-08-13 10:26:20 -07:00
2026-08-13 10:31:08 -07:00
2026-08-13 09:31:20 -07:00
2026-08-13 09:56:30 -07:00
2026-08-13 09:56:30 -07:00
2026-08-15 01:02:06 -07:00
2026-08-12 21:28:32 -07:00
2026-08-13 10:26:20 -07:00
2026-07-31 00:22:53 -07:00
2026-07-29 20:04:55 -07:00
2026-08-05 12:57:02 -07:00
2026-08-05 17:49:04 -07:00
2026-08-13 23:59:18 -07:00
2026-08-11 18:19:43 -07:00
2026-07-31 18:01:24 -07:00
2026-06-29 22:38:29 -07:00
2026-08-04 22:07:30 -07:00
2026-07-20 14:50:12 -07:00
2026-08-04 12:37:59 -07:00
2026-08-09 16:35:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-03 11:11:14 -07:00
2026-07-22 16:10:53 -07:00
2026-07-17 18:57:26 -07:00
2026-07-23 23:18:03 -07:00
2026-05-25 16:43:22 -07:00
2026-07-04 23:29:05 -07:00
2026-07-31 01:57:41 -07:00
2026-06-22 12:29:18 -07:00
2026-08-12 13:42:42 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-07-22 18:25:05 -07:00
2026-07-22 18:25:05 -07:00
2026-08-09 01:16:09 -07:00
2026-07-30 03:05:10 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-07-19 11:27:29 -07:00
2026-08-14 18:36:51 -07:00
2026-08-14 18:36:51 -07:00
2026-07-29 11:31:35 -07:00
2026-07-30 00:49:23 -07:00
2026-08-09 14:49:36 -07:00
2026-07-30 00:49:23 -07:00
2026-07-30 00:49:23 -07:00
2026-08-11 23:06:12 -07:00
2026-07-29 11:31:35 -07:00
2026-08-13 22:40:58 -07:00
2026-08-12 21:35:35 -07:00
2026-08-13 00:12:20 -07:00
2026-08-07 15:01:11 -07:00
2026-08-12 02:02:10 -07:00
2026-08-13 22:48:24 -07:00
2026-08-12 16:15:39 -07:00
2026-08-08 01:47:05 -07:00
2026-08-04 22:59:06 -07:00
2026-08-03 19:44:30 -07:00
2026-07-30 18:27:06 -07:00
2026-07-30 03:05:10 -07:00
2026-07-31 16:01:44 -07:00
2026-07-29 20:04:55 -07:00
2026-08-10 16:10:47 -07:00
2026-07-29 20:04:55 -07:00
2026-08-16 13:45:54 -07:00
2026-08-12 22:33:19 -07:00
2026-08-12 21:35:35 -07:00
2026-07-27 17:56:07 -07:00
2026-07-27 17:56:07 -07:00
2026-07-28 12:33:17 -07:00
2026-07-27 17:56:07 -07:00
2026-08-13 22:48:24 -07:00
2026-07-31 04:32:23 -07:00
2026-08-09 23:14:17 -07:00
2026-07-15 17:14:10 -07:00
2026-08-10 12:17:21 -07:00
2026-08-01 00:00:12 -07:00
2026-08-09 21:21:18 -07:00
2026-07-23 01:45:24 -07:00
2026-08-11 18:19:43 -07:00
2026-08-13 12:38:08 -07:00
2026-08-13 22:48:24 -07:00
2026-08-14 01:21:00 -07:00
2026-07-12 22:40:57 -07:00
2026-08-13 22:48:24 -07:00
2026-08-03 22:48:37 -07:00
2026-07-27 19:04:56 -07:00
2026-06-29 22:38:29 -07:00
2026-07-17 17:18:36 -07:00
2026-07-17 17:18:36 -07:00
2026-07-12 22:40:57 -07:00
2026-05-21 01:19:49 -04:00
2026-07-28 20:51:14 -07:00
2026-08-10 14:32:08 -07:00
2026-08-10 14:32:08 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-08 17:15:43 -07:00
2026-08-13 02:56:43 -07:00
2026-08-13 02:56:43 -07:00
2026-06-10 21:14:53 -07:00
2026-08-07 10:14:37 -07:00
2026-08-09 01:32:34 -07:00
2026-07-05 19:46:49 -07:00
2026-07-25 19:31:44 -07:00
2026-07-30 21:45:44 -07:00
2026-08-13 12:38:08 -07:00
2026-06-16 18:56:52 -07:00
2026-07-20 14:50:12 -07:00
2026-07-30 21:45:44 -07:00
2026-07-25 19:31:44 -07:00
2026-07-04 22:56:55 -07:00
2026-06-22 16:42:20 -07:00
2026-06-22 16:42:20 -07:00
2026-08-03 16:17:00 -07:00
2026-06-22 16:42:20 -07:00
2026-06-22 16:42:20 -07:00
2026-07-31 20:45:52 -07:00
2026-08-11 03:07:44 -07:00
2026-08-03 17:32:13 -07:00
2026-08-13 08:58:04 -07:00
2026-08-03 02:18:05 -07:00
2026-08-10 17:33:46 -07:00
2026-07-12 23:50:00 -07:00
2026-07-24 12:05:38 -07:00
2026-08-02 20:43:27 -07:00
2026-07-11 03:20:55 -07:00
2026-07-11 03:20:55 -07:00
2026-07-31 00:36:09 -07:00
2026-08-16 13:45:54 -07:00
2026-08-12 22:33:19 -07:00
2026-08-08 19:06:50 -07:00
2026-07-20 18:54:44 -07:00
2026-07-20 18:54:44 -07:00
2026-08-16 13:45:54 -07:00
2026-08-13 08:58:04 -07:00
2026-08-04 17:11:18 -07:00
2026-07-10 17:27:47 -07:00
2026-07-05 21:51:32 -07:00
2026-08-13 12:38:08 -07:00
2026-06-19 17:14:55 -07:00
2026-08-10 16:11:19 -07:00
2026-05-16 11:50:26 -07:00
2026-06-25 18:36:11 -07:00
2026-08-09 11:08:04 -07:00
2026-08-10 15:52:59 -07:00
2026-08-03 21:00:57 -07:00
2026-08-14 01:47:03 -07:00
2026-06-29 22:38:29 -07:00
2026-07-20 03:04:28 -04:00
2026-05-25 15:07:40 -07:00
2026-08-08 19:06:50 -07:00
2026-07-27 20:54:02 -07:00
2026-07-14 02:58:34 -07:00
2026-07-05 21:51:32 -07:00
2026-06-20 02:03:24 -07:00
2026-06-10 21:14:53 -07:00
2026-06-19 19:43:42 -07:00
2026-08-01 23:38:46 -07:00
2026-08-13 22:48:24 -07:00
2026-08-16 01:16:11 -07:00
2026-07-10 19:50:44 -07:00
2026-08-11 21:16:36 -07:00
2026-08-13 08:58:04 -07:00
2026-07-12 22:40:57 -07:00
2026-08-08 19:06:50 -07:00
2026-06-09 13:52:58 -07:00
2026-08-08 19:06:50 -07:00
2026-08-09 16:06:00 -07:00
2026-08-14 01:47:03 -07:00
2026-07-29 16:12:20 -07:00
2026-08-08 19:06:50 -07:00
2026-08-11 00:10:40 -07:00
2026-08-11 00:10:40 -07:00
2026-08-14 01:47:03 -07:00
2026-08-14 01:47:03 -07:00
2026-07-19 22:54:39 -04:00
2026-08-15 00:13:27 -07:00
2026-08-14 01:47:03 -07:00
2026-06-19 17:14:55 -07:00
2026-08-11 12:27:54 -07:00
2026-08-11 18:19:43 -07:00
2026-07-30 03:05:10 -07:00
2026-07-10 17:27:47 -07:00
2026-08-08 19:06:50 -07:00
2026-08-09 18:40:01 -07:00
2026-08-13 10:26:20 -07:00
2026-08-01 00:25:35 -07:00
2026-06-20 01:27:41 -07:00
2026-06-20 01:27:41 -07:00
2026-08-16 12:49:02 -07:00
2026-08-09 16:36:12 -07:00
2026-06-27 09:30:29 -07:00
2026-08-13 23:59:18 -07:00
2026-08-15 00:54:20 -07:00
2026-07-12 22:40:57 -07:00
2026-08-15 00:54:20 -07:00
2026-07-16 13:07:44 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-08-15 00:54:20 -07:00
2026-07-14 00:15:34 -07:00
2026-07-29 00:47:18 -07:00
2026-08-11 18:19:43 -07:00
2026-07-15 20:28:39 -07:00
2026-06-24 20:16:14 -07:00
2026-07-17 17:18:36 -07:00
2026-07-17 17:18:36 -07:00
2026-06-20 02:03:24 -07:00
2026-07-16 13:26:15 -07:00
2026-06-22 16:42:20 -07:00
2026-07-10 17:27:47 -07:00
2026-07-13 00:48:51 -07:00
2026-08-05 00:51:33 -07:00
2026-06-22 16:42:20 -07:00
2026-07-17 17:18:36 -07:00
2026-07-29 00:47:18 -07:00
2026-07-06 20:17:35 -07:00
2026-07-13 14:17:49 -07:00
2026-06-23 00:23:34 -07:00
2026-07-15 20:28:39 -07:00
2026-08-15 15:45:17 -07:00
2026-08-06 20:07:55 -07:00
2026-07-22 00:22:36 -07:00
2026-06-19 17:14:55 -07:00
2026-08-01 03:26:30 -07:00
2026-07-10 17:27:47 -07:00
2026-08-15 01:25:09 -07:00
2026-08-03 22:48:22 -07:00
2026-08-03 22:48:22 -07:00
2026-06-23 00:23:34 -07:00
2026-07-20 03:04:28 -04:00
2026-08-11 21:16:36 -07:00
2026-07-05 21:51:32 -07:00
2026-07-05 21:51:32 -07:00
2026-06-12 16:31:24 -07:00
2026-07-16 12:38:31 -07:00
2026-07-17 16:16:17 -07:00
2026-06-22 16:42:20 -07:00
2026-07-13 21:30:10 -07:00
2026-07-20 18:54:44 -07:00
2026-07-14 14:40:40 -07:00
2026-08-03 01:00:58 -07:00
2026-06-19 17:14:55 -07:00
2026-08-13 17:06:36 -07:00
2026-05-15 23:52:37 -07:00
2026-06-07 17:49:01 -07:00
2026-08-13 12:38:08 -07:00
2026-06-29 22:38:29 -07:00
2026-05-17 15:43:53 -04:00
2026-06-18 00:11:32 -07:00
2026-08-03 20:58:25 -07:00
2026-08-09 20:25:15 -07:00
2026-08-09 21:39:24 -07:00
2026-07-05 19:46:49 -07:00
2026-08-12 23:08:37 -07:00
2026-08-11 03:07:44 -07:00
2026-04-19 15:50:19 -07:00
2026-07-13 16:15:44 -07:00
2026-07-22 15:52:42 -07:00
2026-07-31 16:15:20 -07:00
2026-06-29 22:38:29 -07:00
2026-06-18 00:11:32 -07:00
2026-07-10 03:00:51 -07:00
2026-08-13 22:48:24 -07:00
2026-07-10 03:00:51 -07:00
2026-08-01 00:40:47 -07:00