chore: merge upstream pingdotgg/t3code - #159
Conversation
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…gg#15101) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…waiting (pingdotgg#15114) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ion (pingdotgg#14910) Co-authored-by: Theo Browne <me@t3.gg>
…dotgg#15060) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tgg#15108) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…s, or conflicts need them (pingdotgg#15057) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…tgg#10311) Co-authored-by: yashranaway <yashranaway@users.noreply.github.com> Co-authored-by: shivam <91240327+shivamhwp@users.noreply.github.com>
…lt (pingdotgg#15194) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…g#14896) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#15254) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
…ge histories (pingdotgg#15149) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ingdotgg#14992) Chat stays centered while the workspace card fits beside it with 32px to spare. When it does not fit, chat moves left only as far as needed, narrows only after it reaches the left padding, and the card becomes a popover below a 640px chat. The card is lighter: 280px wide, 32px rows, no section labels, no "Project folder" hint. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…gdotgg#15330) Takes over pingdotgg#14876. Co-authored-by: tris203 <admin@snappeh.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ngdotgg#15333) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
… you (pingdotgg#15346) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…otgg#15009) Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…itch (pingdotgg#15355) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…own (pingdotgg#15388) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…dotgg#15334) Co-authored-by: scratchyone <11479077+scratchyone@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Brings in 42 upstream commits. Upstream's Mermaid rendering replaces the fork's; the fork's renderer, its tests, and its user doc section are removed. Conflicts kept upstream's code and re-applied the fork's hooks: the environmentControl RPCs join the scope-checked RPC group, a cloud-only host still hides Scratch, box usage reads stay on the new usage scan key, and the chat view keeps Run-on targets, held cloud sends, and reconnect-on-send on top of upstream's No-project machine switching and compact-before-send. Box usage now carries upstream's cost-by-category and speed fields, and cloud chat redirects skip a machine whose No-project folder is not created. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
Independent verification: PASS+NOTESVerified head 1. Protocol. 2. Host DB. I took a live
3. Live smokes. These ran on a local manager built from the head as a cloud-only host (
4. RPC scope middleware on fork RPCs, live.
Mermaid. In the built web bundle, the Notes (not blockers)
CleanupI created 3 boxes (E2B Evidence: |
Brings the fork up to date with 42 upstream commits through 88744f3. This is a true merge commit, like the previous syncs.
What came in
Fork code deleted as superseded
MarkdownMermaidBlock.tsx,lib/mermaidRendering.ts, their tests) and themermaid@12dependency. Upstream'schat/MermaidDiagram.tsxwithmermaid@11replaces it. Cloud chats render through the sameChatMarkdownpath, so they get upstream's diagrams.docs/user/composer.md, which described the deleted renderer.Conflicts resolved
packages/contracts/src/rpc.ts....EnvironmentControlRpcsstays inWsRpcGroup, now under upstream's.middleware(RpcScopeAuthorization). Their scopes still come fromENVIRONMENT_CONTROL_REQUIRED_SCOPES.apps/server/src/ws.ts. Upstream'sresolveEditorConfig, keeping the fork's rule that a cloud-only host has no Scratch root.apps/server/src/usage/UsageService.ts. Upstream'sscanKey(input, settings)keyed by the fork's hourly window cap. Upstream's model aliases plus the fork's Cursor history and box usage imports.apps/web/src/components/ChatView.tsx. Upstream's No-project machine switching and compact-before-send. The fork's Run-on targets,cloud.onEnvironmentPicked, held cloud sends, and reconnect-on-send are layered on top.apps/web/src/components/ChatMarkdown.tsx,apps/web/package.json. Upstream wins (Mermaid).apps/mobile/.../ThreadArrangementSheet.tsx. Import union.third-party-licenses.config.json,pnpm-lock.yaml. Upstream's file plus the fork's Namespace and Connect entries. The lockfile was regenerated from upstream's.Follow-up fixes from the merge
addTotalsand added optional per-bucket cost fields.boxUsage.tsnow carriescategoryCostUsd,fastCostUsd,ultrafastCostUsd, andspeedPremiumUsdthrough the box fold, with a test.EnvironmentOption.projectIdnullable. A cloud chat redirect and the next-draft target skip a machine whose No-project folder does not exist yet.Verification
src/usage,src/environmentControl,RpcAuthorizationtests, andws.test.tspass (59 files, 859 tests).src/cloud,ChatMarkdown, andChatView.logictests pass (18 files, 243 tests).registry.cloud.test.tsandsrc/cloudpass (6 files, 120 tests). Mobile thread list tests pass.🤖 Generated with Claude Code