Skip to content

chore: sync upstream through f054d1b801 - #251

Merged
andrewcai8 merged 116 commits into
mainfrom
sync/upstream-f054d1b801
Oct 22, 2026
Merged

andrewcai8 merged 116 commits into
mainfrom
sync/upstream-f054d1b801

Conversation

@andrewcai8

Copy link
Copy Markdown
Owner

Syncs upstream T3 Code through f054d1b, upstream's newest commit, which has green CI. That is 114 commits (680152e..f054d1b), and 17 files conflicted.

Notable upstream changes:

Conflicts keep upstream's change and re-apply the fork's behavior. Where upstream moved code to a new file, the fork's edit moved with it.

Web

  • ChatView: the fork's cloud send code moved into upstream's useComposerSend. That is the reconnect-on-send guard and reconnectAndSend, cloud.blocksSend(), held first sends keeping their message id and time, leaseForSend, nextDraftProjectRef and claimFirstTurn. ChatView passes it canReconnectOnSend and cloud, and keeps connectionBox for the account-switch note and useProjects() for useCloudChat.
  • useComposerResume sends the continuationPrompt setting (feat: configurable continuation prompt, with an account-switch note #244) instead of upstream's fixed "Continue where you left off."
  • useThreadLifecycle: opening a related thread finds the environment that owns it, so a message Home sent from another machine opens the right thread.
  • ChatComposer: upstream moved the model picker into ComposerControlsBar. The cloud picker's entry and list go through a new pickerInstanceId prop.
  • TimelineUserMessageRow: upstream removed the "Sent by..." lines in favor of folded rows. "Watch report from T3 Code" stays on Home's watch reports. A folded message Home sent is headed "Home" instead of a thread title, and upstream's "Open thread" button replaces the fork's "Sent by Home" link.
  • Sidebar: upstream's useQuietThreadShells plus the fork's homeThreadRef. SidebarThreadRow merged cleanly but imported useThreadShell twice, so the fork's copy is gone.
  • ConnectionsSettings: upstream moved the add-machine dialog into AddEnvironmentDialog. The fork's balancedEnvironments line stays.

Mobile

  • Stack: upstream's tree with NewTaskFlowProvider at the root. <CloudBoxesWorker /> is re-added, and NewTaskCloudMachine is now a root route (new/cloud-machine) listed as a workspace overlay.
  • use-new-thread-navigation takes the layout's selectThreadRoute. Drafts open through it with a requestId, and cloud machines open the root NewTaskCloudMachine route. HomeRouteScreen, CommandPalette and AdaptiveWorkspaceLayout use it. Upstream's startNewTask goes through it too, so a project on another chat's box or on a host that runs no agents still gets a cloud machine instead of a draft the host refuses.
  • NewTaskRouteScreen checks for a cloud machine before upstream's "a draft is open, go back" branch. NewTaskCloudMachineRouteScreen opens the new draft with selectThreadRoute instead of resetting a NewTaskDraft route that no longer exists, and still sends branchOptional.
  • NewTaskDraftRouteScreen: branchOptional moved into upstream's thread-route-state.ts. NewTaskDraftScreen passes connectionStatusLabel to upstream's ThreadDetailScreen, and provisionedSkills now reaches the menu through ThreadComposer.
  • NewTaskFlowProvider now stays mounted, so useNewTaskEnvironmentPick takes active. Box demand holds only while a draft is open, which keeps the fork's rule that boxes connect only while their chat needs them.
  • ThreadArrangementSheet: upstream's safe-area rewrite with the fork's settlement environment checks re-applied.

Server

  • orchestrator/tools.ts: upstream's [] filter sentence plus the fork's cloud-only scheduling sentence.
  • ProviderTurnStartService.test: the harness takes both upstream's previousTurn (fix(server): stop abandoned turns before continuing threads pingdotgg/t3code#23169) and the fork's deliverTurn.
  • pnpm-lock.yaml is upstream's lock re-resolved with pnpm 12.14.0 for the fork's dependencies. It is still the two-document lockfile that decodePnpmLock reads.

Upstream pingdotgg#23389 and pingdotgg#23169 against fork features. Claude now spawns through a /bin/sh watcher that stops the CLI's process group when the server dies. Restart continuation already assumes the old turn ended at restart, and the account switch and canUseTool auto-approve paths do not touch the spawn. pingdotgg#23169 only rewrites a failed run's turn that is still running on the same provider thread before continuing. The restart continuation, account switch, usage-limit, runtimeLayer and ClaudeAdapterV2 tests all pass with both changes.

Verification:

  • tsc-rs --noEmit is clean for contracts, shared, client-runtime, provider-core, provider-cursor, provider-pi, provider-opencode, server, web, mobile, desktop and scripts.
  • knip:check passes. vp lint has no errors and vp fmt --check is clean on every file that differs from upstream (641 TS files).
  • Server: 2610 tests pass across home (forks, bunShim, ForkExec), environmentControl (ProvisionPreparation and the Modal, E2B and Namespace runtimes), provider (ProviderAccountSwitch), usage, mcp, scheduledTasks, accountRouting, runtimeLayer, RestartContinuation, ProviderContinuationService, ProviderTurnStartService, RunExecutionService, ClaudeAdapterV2, ClaudeAgentSdkQueryRunner, serverSettings, ForkMigrations and scripts/runtimeDependencies.
  • Three server tests fail only on this Mac because of the /var temp symlink: two in UsageService and one in ClaudeSkills. ClaudeSkills is identical to upstream. All three pass with TMPDIR set to the resolved /private/var path.
  • All contracts (149) and client-runtime (1369) tests pass. Web unit tests for the chat, cloud, settings and sidebar areas pass (667). Mobile tests for threads, home, layout, keyboard, connection, state and lib pass (1863).
  • vp run --filter t3 build succeeds, and node apps/server/scripts/build-runtime-artifact.ts builds the runtime tar (67 MB, 756 entries).
  • Open fork PR fix(server): a wake turn the usage limit stopped no longer cancels the thread's resume #250 merges onto this branch without conflicts.

Not verified: the web, desktop and mobile UI were not run. The cloud send paths now in useComposerSend and the new mobile cloud-machine route are covered only by the typecheck and reasoning, so they need a real cloud chat on web and an iOS and Android pass.

🤖 Generated with Claude Code

juliusmarminge and others added 30 commits October 21, 2026 10:45
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…s junctions point to (pingdotgg#21099)

Co-authored-by: sheehanmunim <80079528+sheehanmunim@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…tgg#22686)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…verrides (pingdotgg#23037)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tton (pingdotgg#23040)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… own files (pingdotgg#23042)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…23046)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ort (pingdotgg#23048)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ake (pingdotgg#23049)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…olsBar (pingdotgg#23058)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#23062)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ions (pingdotgg#23063)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tions (pingdotgg#23064)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…n useThreadLifecycle (pingdotgg#23065)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ineRewind (pingdotgg#23066)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…chmentPreviewHandoff (pingdotgg#23067)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…neBanner (pingdotgg#23068)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…useComposerSelection (pingdotgg#23069)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…stDraftThread (pingdotgg#23070)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ChatView.logic (pingdotgg#23071)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…line overlays move out (pingdotgg#23072)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…the server (pingdotgg#22897)

Co-authored-by: MarMarLabs <marmar9615@icloud.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…otgg#21822)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
juliusmarminge and others added 24 commits October 21, 2026 19:17
…gg#23052)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…card (pingdotgg#23282)

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…uests (pingdotgg#23034)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…sed (pingdotgg#23170)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ngdotgg#23096)

Co-authored-by: Vishal <vishalprashantdoshi@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Vishal Doshi <vdoshi96@users.noreply.github.com>
…ingdotgg#23106)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Nikita Maximilian Grimm <github@nikitagrimm.de>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tch (pingdotgg#23023)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… Activities (pingdotgg#23327)

Fixes pingdotgg#15682. Takes over pingdotgg#23035.

Co-authored-by: Taylor Dolezal <onlydole@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…gg#23117)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#23389)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…desktop updates (pingdotgg#23113)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#23135)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…1b801

Syncs upstream through f054d1b. Conflicts keep upstream's changes and
re-apply the fork's behavior where upstream moved the code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL 📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. labels Oct 22, 2026
@github-actions

github-actions Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

ℹ️ The exact PR base did not have a successful artifact. Baseline uses the latest successful main measurement shown below.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Codex Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Codex Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Codex Live turn WebSocket decoded 20.9 KiB 20.9 KiB 0 B (0.0%) 29.3 KiB ✅
Codex Live turn messages 2 2 0 (0.0%) 8 ✅
Claude Total thread wire 5.0 KiB 5.0 KiB 0 B (0.0%) 6.8 KiB ✅
Claude Thread snapshot wire 3.8 KiB 3.8 KiB 0 B (0.0%) 4.9 KiB ✅
Claude Live turn WebSocket wire 1.2 KiB 1.2 KiB 0 B (0.0%) 2.0 KiB ✅
Claude Live turn WebSocket decoded 21.2 KiB 21.2 KiB 0 B (0.0%) 29.3 KiB ✅
Claude Live turn messages 2 2 0 (0.0%) 8 ✅

Baseline: 687580e · PR result: d57e72d · Source CI: success

Scenario and decoded snapshot size

10 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.

  • Codex decoded thread snapshot: 108.5 KiB
  • Claude decoded thread snapshot: 108.8 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@andrewcai8
andrewcai8 merged commit d74ba4d into main Oct 22, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

📱 Native Change Changes the native fingerprint; merging blocks production OTAs until a new store build ships. size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.