|
1 | 1 | --- |
2 | 2 | remote: t3code-upstream |
3 | 3 | branch: main |
4 | | -reviewed-through: "1a6599437b6ad77330923819613cc28be3b33945" |
| 4 | +reviewed-through: "1add47b322ab1dfb5010bb363613650176b88088" |
5 | 5 | reviewed-through-date: "2026-08-14" |
6 | 6 | --- |
7 | 7 |
|
@@ -1084,10 +1084,36 @@ clean on all four branches after fixing three `no-useless-fallback-in-spread` |
1084 | 1084 | warnings that `#5877`'s new test introduced. **No browser pass on `E3`, no native |
1085 | 1085 | pass on `E8`, no Android anywhere.** |
1086 | 1086 |
|
| 1087 | +## 2026-08-14 (twelfth) — `1a6599437b6ad77330923819613cc28be3b33945..1add47b322ab1dfb5010bb363613650176b88088` |
| 1088 | + |
| 1089 | +Two commits, two change sets, **both adopted**. Nothing deferred. Neither was |
| 1090 | +patch-equivalent, and both dry cherry-picked clean against `pylon` — no Pylon |
| 1091 | +adaptation was needed for either. |
| 1092 | + |
| 1093 | +Both are terminal work but different concerns, so they landed as two branches: |
| 1094 | +`fix/terminal-pid-flood` (PR #25) and `feat/terminal-copy-shortcut` (PR #26). |
| 1095 | + |
| 1096 | +| Change set | Upstream | Decision | Pylon reference | Rationale or revisit condition | |
| 1097 | +| ---------- | --------------------- | -------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | |
| 1098 | +| T1 | `80991402d` / `#6377` | adopted | `2a8dd3cc4` | Terminal subprocess polling spawned a process **per terminal per poll** at a 1s cadence (`pgrep` + `ps`, or `powershell.exe`). Now one `ps` snapshot of the whole table per cycle, with each terminal's subtree derived in memory: per-poll spawns drop from O(terminals × commands) to O(1). Also drops `pgrep` and resolves `ps` to an absolute path once, since spawning by bare name burns a failed `posix_spawn` per `PATH` entry. A defect whose blast radius reaches outside Pylon. | |
| 1099 | +| T2 | `1add47b32` / `#5638` | adopted | `cd3b7cb8b` | Plain `Ctrl+C` copies a terminal selection on non-mac, where only `Ctrl+Shift+C` did before. **Verified it does not break SIGINT**: the copy path is gated on there being a selection, so an empty selection falls through to the shell, and a plain non-mac copy clears the selection so the next press interrupts. `Cmd+C` and `Ctrl+Shift+C` stay copy-only. Tradeoff: with text selected the first press copies rather than interrupts. | |
| 1100 | + |
| 1101 | +`T2` leans deliberately on engine differences — plain `Ctrl+C` is left |
| 1102 | +un-prevented so the native copy event fires, with a token-guarded deferred |
| 1103 | +`clipboard.writeText` racing it for WebKit (which omits the keyboard copy event |
| 1104 | +without a DOM selection), while `Ctrl+Shift+C` synthesises one via |
| 1105 | +`execCommand("copy")` because Chrome binds that chord to inspect. **Unit tests |
| 1106 | +cannot settle that race; no browser pass was run.** |
| 1107 | + |
| 1108 | +Verification: 54 tests on PR #25 (the commit ships 120 lines of new ones), 47 on |
| 1109 | +PR #26; typechecks clean on `t3`, `@t3tools/web`, `@t3tools/contracts`; `vp lint` |
| 1110 | +clean on both branches. **Neither got an integration pass** — no live multi-terminal |
| 1111 | +session for `T1`, no Chrome/Safari clipboard check for `T2`. |
| 1112 | + |
1087 | 1113 | ## Deferred register |
1088 | 1114 |
|
1089 | 1115 | _The register is currently empty. DEF-1 and DEF-2 were adopted on 2026-08-11 |
1090 | | -(see the sixth batch above); the eighth through eleventh batches each deferred |
| 1116 | +(see the sixth batch above); the eighth through twelfth batches each deferred |
1091 | 1117 | nothing new. Entries are removed once adopted or skipped, so an |
1092 | 1118 | empty register means nothing is waiting._ |
1093 | 1119 |
|
|
0 commit comments