Skip to content

chore: merge upstream pingdotgg/t3code through 67c0fc0cda - #236

Merged
andrewcai8 merged 483 commits into
mainfrom
sync/upstream-67c0fc0cda
Oct 20, 2026
Merged

andrewcai8 merged 483 commits into
mainfrom
sync/upstream-67c0fc0cda

Conversation

@andrewcai8

Copy link
Copy Markdown
Owner

Merges 481 upstream commits, through upstream's newest commit with green CI. 40 files conflicted.

Conflict resolutions keep upstream's changes and re-apply the fork's behavior on upstream's new code, much of which moved to Effect.fn:

  • Scheduled tasks (ScheduledTaskService): the target column, cloud fires and their crash resume, and a cloud-only host defaulting to a cloud machine and refusing local. Upstream's runNow returns threadId; a cloud fire reports null, because its chat lives on its machine.
  • Server config (ws.ts, cli/config.ts): no Scratch on a cloud-only host, environment-control and Home fields in the server config, and the client home patch stripped.
  • Providers:
    • The Claude driver keeps the host probe (setup-token usage, claude auth status fallback) inside upstream's capabilities cache.
    • The Codex driver keeps the fork's host login and environment.
    • The Codex probe keeps the fork's 30s budget for app-server startup on EFS, minus upstream's discovery margin.
    • Registry hydration keeps layerWithDrivers with upstream's subscribe-first settings watcher.
    • The Claude adapter drains wakes when the process ends, alongside upstream's nativeWakeStarted.
  • Orchestration and MCP: Home routing and the fork's MCP helpers, the failed-turn child rule in RunExecutionService, the cloud-only launch refusal, imported native sessions, and the fork's skipping of task-notification records, now in upstream's isHiddenClaudeRecord.
  • Clients:
    • The cloud Run-on picker sits beside upstream's "Add to another machine".
    • Cloud boxes connect only while wanted, including when a compatibility error clears.
    • The mobile usage-limit card has "Switch account" on upstream's Button.
    • Held cloud sends, settlement scoping and provisioned skills are kept.

Follow-ups the merge needed:

  • Upstream's new t3code(prefer-effect-fn) lint rule (feat(lint): require Effect functions for reusable generator wrappers pingdotgg/t3code#22000) flagged 64 functions in fork-only code. They are now Effect.fn, or Effect.fnUntraced where the function already ends in its own withSpan.
  • Upstream's CodexUsageHistory service is provided to two fork usage tests, and to the usage upload script as an empty in-memory history.
  • ws.test.ts mocks the fork's HomeService and EnvironmentControl. An MCP test's registry mock gains refresh, which the fork's auto-pick calls.
  • The Codex probe-budget tests advance by the fork's 30s budget. ForkMigrations.test.ts lists upstream migrations 65 and 66.

Verification:

  • Typecheck is clean for contracts, shared, client-runtime, provider-core, server, web, mobile, desktop and scripts.
  • Repo lint has no errors.
  • Server tests for every file both sides changed, plus the fork's cloud, account-switch, migration and usage tests, pass (1888 tests). The rewritten modules' tests pass too (about 2600).
  • Web unit tests (7369) and mobile unit tests (3537) pass.
  • Locally, a few tests fail only on this Mac:
    • two macOS native race tests and a /var symlink path test, all identical to upstream;
    • Unix socket path length under a long TMPDIR;
    • a Codex install test on a case-insensitive filesystem;
    • one Claude adapter steer test that times out on this Mac but already passes in the fork's CI.

🤖 Generated with Claude Code

tannerpolley and others added 30 commits October 19, 2026 21:15
…19232)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ngdotgg#19810)

Co-authored-by: macodev00 <macodev00@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#20306)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ur own edits (pingdotgg#19775)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…gg#20231)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ain sentences (pingdotgg#19767)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#20305)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19186)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…pingdotgg#19177)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#20086)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
…, not 10 (pingdotgg#19467)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#21263)

Co-authored-by: Yaacov <corcos.yaacov@mail.huji.ac.il>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#21197)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ry selection (pingdotgg#18860)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…#19526)

Co-authored-by: Cody Stevens <cody.rageentertainment@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ingdotgg#19887)

Co-authored-by: Anton Georgiev <a.georgiev.extern@rewe-group.at>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
pingdotgg#20272)

Co-authored-by: hiimchinh <chinhhm@proton.me>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…18851)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
… spawn error (pingdotgg#14942)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
juliusmarminge and others added 20 commits October 20, 2026 01:45
…nges" (pingdotgg#14883) (pingdotgg#22225)

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…k banners" (pingdotgg#20054) (pingdotgg#22228)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…one" (pingdotgg#18653) (pingdotgg#22230)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…mes your DNS (pingdotgg#22212)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… with no toasts and the right favicon (pingdotgg#22254)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…thout the hover wait (pingdotgg#22255)

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

# Conflicts:
#	apps/mobile/src/features/threads/NewTaskDraftRouteScreen.tsx
#	apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx
#	apps/mobile/src/features/threads/UsageLimitRecoveryCard.tsx
#	apps/server/src/cli/config.ts
#	apps/server/src/mcp/OrchestratorMcpService.ts
#	apps/server/src/mcp/toolkits/orchestrator/tools.ts
#	apps/server/src/mcp/toolkits/project/tools.ts
#	apps/server/src/mcp/toolkits/worktree/registration.test.ts
#	apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts
#	apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.ts
#	apps/server/src/orchestration-v2/ProviderTurnStartService.test.ts
#	apps/server/src/orchestration-v2/ProviderTurnStartService.ts
#	apps/server/src/orchestration-v2/RunExecutionService.ts
#	apps/server/src/orchestration-v2/ThreadLaunchService.test.ts
#	apps/server/src/orchestration-v2/testkit/ProviderSwitch.integration.test.ts
#	apps/server/src/project/AgentSessionScanner.ts
#	apps/server/src/project/RepositoryIdentityResolver.ts
#	apps/server/src/provider/CodexProvider.ts
#	apps/server/src/provider/Drivers/ClaudeDriver.ts
#	apps/server/src/provider/Drivers/CodexDriver.ts
#	apps/server/src/provider/ProviderInstanceRegistryHydration.ts
#	apps/server/src/scheduledTasks/ScheduledTaskService.ts
#	apps/server/src/ws.ts
#	apps/web/src/AppRoot.tsx
#	apps/web/src/components/BranchToolbar.tsx
#	apps/web/src/components/BranchToolbarEnvironmentSelector.tsx
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/ComposerPromptEditorTiptap.tsx
#	apps/web/src/components/settings/ConnectionsSettings.tsx
#	apps/web/src/connection/platform.ts
#	apps/web/src/rpc/requestLatencyState.ts
#	knip.jsonc
#	packages/client-runtime/src/connection/registry.ts
#	packages/client-runtime/src/providerSkills.ts
#	packages/client-runtime/src/state/assets.ts
#	packages/client-runtime/src/state/threadSettled.ts
#	packages/contracts/src/orchestrationV2.ts
#	packages/contracts/src/server.ts
#	pnpm-workspace.yaml
#	third-party-licenses.config.json
@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 20, 2026
@github-actions

github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

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: 5f695bb · PR result: 1f10496 · 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.

…n use

expo-modules-core 58.0.23 passed the minimum release age today, so the
release smoke's fresh resolution took it and failed on the unused 58.0.22
patch. This is upstream's fix from pingdotgg#22343, still open there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@andrewcai8

Copy link
Copy Markdown
Owner Author

Release Smoke failed with ERR_PNPM_UNUSED_PATCH for expo-modules-core@58.0.22. Version 58.0.23 passed the minimum release age today, and upstream's CI fails the same way. I applied upstream's fix from pingdotgg#22343, which pins expo-modules-core: 58.0.22 in overrides. Release smoke passes locally. Mobile Native Static Analysis was cancelled by the same run, not failed.

@andrewcai8
andrewcai8 merged commit a549ba3 into main Oct 20, 2026
55 of 59 checks passed
@andrewcai8
andrewcai8 deleted the sync/upstream-67c0fc0cda branch October 20, 2026 16:46
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.