Repository navigation
Merge upstream/main (c079503d07): sync pingdotgg/t3code into the fork - #12
Conversation
…ghted (pingdotgg#18901) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#18369) Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
pingdotgg#12474) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#12469) Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…tgg#12465) Co-authored-by: Yash Singh <saiansh2525@gmail.com>
…nger drop clients (pingdotgg#19205) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#19207) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… Google group (pingdotgg#18955) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nt finishes (pingdotgg#18996) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#19162) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…otgg#19160) Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…s progress in the sidebar (pingdotgg#19837) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hip model (pingdotgg#19722) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…lick (pingdotgg#19854) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#19869) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#19849) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Rodrigo Brechard <rodrigobrechard@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#19370) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#15841) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gg#19712) Co-authored-by: Cursor <cursoragent@cursor.com>
…g#16748) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
pingdotgg#18514) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#18524) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#18523) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…n ARM (pingdotgg#18521) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#19131) Co-authored-by: GPT-6.1-Sol at high effort <noreply@openai.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#18378) Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#19692) Co-authored-by: Victor Vogel <263261067+only21mil@users.noreply.github.com> Co-authored-by: Jorrin <43169049+JorrinKievit@users.noreply.github.com> Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…pingdotgg#19970) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…g#18539) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… files The lockfile conflict was resolved by taking upstream's file and letting pnpm re-resolve, so the fork's cloud-runtime dependencies (@daytona/sdk, e2b, novita-sandbox) and the protobufjs build script land on top of upstream's effect 4.0.4 / opencode 2.0.28 bump.
ClineProvider.test.ts pointed three levels up from apps/server/src/provider, landing on apps/scripts/acp-mock-agent.ts, which does not exist. Every test that spawned the mock CLI therefore got ERR_MODULE_NOT_FOUND, and the five that expected a successful ACP session setup timed out on the 20s startup deadline instead. Upstream's sibling tests in this directory use two levels.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Code Review Could Not Complete
|
| Options | Enabled |
|---|---|
| Bug | ✅ |
| Performance | ✅ |
| Security | ✅ |
| Business Logic | ✅ |
Upstream version synchronized
Merges
pingdotgg/t3code@c079503d07(fix(mobile): release iOS audio session after video playback (#18539), 2026-10-15) into the fork.42160f2925(2026-10-13)42160f2925, so this is a clean forward-sync with no upstream history rewrittenImportant upstream changes incorporated
Highlights of the 165 commits, by area:
Dependency / platform
chore(deps): Effect 4.0.4 and OpenCode 2.0.28, dropping the patches they made unnecessary (#19213)— bumps the Effect catalog 4.0.2 → 4.0.4 and OpenCode 2.0.23 → 2.0.28, and deletes theeffect@4.0.2,@effect/platform-node-shared@4.0.2and@opencode/*@2.0.23patches that upstream no longer needs.windows-x86_64on ARM (fix(providers): fall back to windows-x86_64 ACP binaries on Windows on ARM pingdotgg/t3code#18521), Windows Codex install uses systemtarand retries rename (fix(server): Windows Codex install uses system tar and retries rename pingdotgg/t3code#18523), PowerShell port polling replaced withnetstat(perf(server): replace Windows PowerShell port polling with netstat pingdotgg/t3code#18524), Antigravity installs on Windows ARM (fix(server): Antigravity installs on Windows ARM pingdotgg/t3code#18472).react-native-enriched-markdowntarballt3.11→t3.12.perf(server): cut fff-node FFI marshaling overhead on large workspaces (#18514).Server
062_ThreadFailureLookupIndex, plus newoutboundHttp,serverOwnership,DelegatedTaskQuestionReactor,TurnItemPositionStoremodules.Web / clients
fix(web): the chat view and composer no longer keep old renders alive (#19869)andfix(web): the sidebar no longer keeps old renders alive (#19852)— upstream removed ~42useCallbackwrappers inChatComposer.tsx.feat(web): setting to open pull request links on GitHub (#19719), middle-click PRs open in the browser (fix(web): middle-click opens pull requests in the browser, like cmd+click pingdotgg/t3code#19854), full-screen visual replies with zoom (feat(web): view visual replies full screen with zoom pingdotgg/t3code#17561), mermaid code toggle (fix(web): mermaid code toggle stays in place when switching views pingdotgg/t3code#19601), auto-merge/merge button label-fitting (fix(web): auto-merge button fits its label and animates width changes pingdotgg/t3code#19111, fix(web): merge button fits its label and animates width changes pingdotgg/t3code#18478).fix(web): text generation no longer falls back to the expensive flagship model (#19722)andclaude-haiku-4-5→claude-haiku-5-5as the default text-generation model.#suggestions include PRs (fix(clients): # suggestions include pull requests linked to the thread pingdotgg/t3code#19357), queued messages say "from queue" (fix(web,mobile): sent queued messages say "from queue", not "queued" pingdotgg/t3code#19849).Providers
fix(providers): Copilot's default agent no longer disappears from the Agent menu (#19330)(adds the empty-valued default-agent option to the ACP mock agent),fix(acp): custom models now reach the agent instead of failing to open (#19313), Cursor threads in Auto use Cursor's Auto-review (fix(server): Cursor threads in Auto use Cursor's Auto-review pingdotgg/t3code#19712).Conflicts encountered and how they were resolved
7 conflicts. Each was investigated on both sides rather than picked mechanically.
apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.tsspawnClaudeCodeProcess = options.spawnClaudeCodeProcess ?? (platform === "win32" ? undefined : spawnClaudeProcessGroup). The fork passes a cloud-sandbox spawner through the query-runner input. Kept upstream's shape and made the fork's input take precedence:input.spawnClaudeCodeProcess ?? options.spawnClaudeCodeProcess ?? (platform === "win32" ? undefined : spawnClaudeProcessGroup). Order matters — falling through to the process-group spawner would start the Claude CLI on the local machine instead of inside the sandbox. Comment updated to record why.apps/web/src/components/chat/ChatComposer.tsxuseCallbackstyle. Upstream dropped theuseCallbackwrappers around the composer prompt/attachment helpers. The fork'saddComposerImagesToDraftrejects images for providers that declare no image support. Re-expressed the fork's body as a plain arrow function matching its new neighbours.apps/web/src/components/ChatView.tsxShieldAlertIcon(fork's "Provider mode unavailable" banner) andShieldQuestionIcon(upstream). Kept both.apps/mobile/src/components/ProviderIcon.tsxCircle, Rectto thereact-native-svgimport — and neither is used anywhere in the file (dead imports). Upstream addedDefs, LinearGradient, Stop, which are used by its new gradient fallback icon. Took upstream's import list, dropping the fork's two dead names.packages/contracts/src/settings.test.tsimport { type CommandId, ProjectId }plus the fork'sCloudRuntimeConfig, CloudRuntimeId.pnpm-workspace.yamlt3.12tarball, dropped patches), then re-applied the fork's two entries:protobufjs: trueinallowBuilds(needed bypackages/cloud-runtime) and the four@daytona/*entries inminimumReleaseAgeExclude. Also restored a comment the fork had deleted incidentally (objc-jsN-API prebuilds).pnpm-lock.yamlpnpm install --lockfile-onlyre-resolve so the fork's dependencies (@daytona/sdk,e2b,novita-sandbox,protobufjs) land on top of upstream's bumps. Verified idempotent across repeated installs and thatpnpm install --frozen-lockfilepasses clean.How fork-specific functionality was preserved
Verified by auditing every fork feature area; all present and wired up.
ClineProvider.ts,Drivers/ClineDriver.ts,acp/ClineAcpSupport.ts,Adapters/ClineAdapterV2.ts, contracts, web settings, mobile, docs. Still registered inbuiltInDrivers.ts, still listed in the webproviderDriverMetaregistry, docs still indocs/internals/providers.md+docs/user/install.md.packages/cloud-runtimepackage plusapps/server/src/cloud/runtime/*,packages/contracts/src/cloudRuntime.ts, the web and mobile settings screens.CloudRuntimeConfig/CloudRuntimeIdstill have exactly one definition; no duplication against upstream's (separate) T3 Connect cloud work.FreebuffAdapterV2.ts,FreebuffScreen.ts,freebuffScreens.ts,FreebuffConfig.ts, drivers and tests.openCodeProvider.ts,openCodeProviderSecrets.ts,openCodeProviderConfig.ts,providerCapabilities.ts,OpenCodeProvidersSection.tsx,providerClients.ts.ProviderInstanceRegistry.ts,ProviderInstanceRegistryHydration.ts,providerInstance.ts. The fork'scloudTransportfield still exists onProviderAdapterDriverCreateInputafter upstream'sadapterDriver.tsrefactor.generationTiming.ts,ComposerStreamingTps.tsx, wired intoChatComposer.fork-*.ymlworkflows,Dockerfile,.dockerignore,third-party-licenses.config.json, thevite.config.tsbrand-mark stroke exemption, and theprotobufjs/@daytonaworkspace entries.Fork-only ACP options (
protocolCwd,authenticateOnAuthRequired,resumeMethod,supportsMcpTooling) all survived upstream'sAcpSessionRuntime/adapter.tschanges.Only 6 files were deleted by the merge, all upstream dependency-version bumps: the
t3.11tarball and 5 obsolete patch files.Additional compatibility fixes required
apps/server/src/provider/ClineProvider.test.ts— wrong mock-agent path (pre-existing bug found during validation). The test resolved the ACP mock agent three levels up fromapps/server/src/provider, landing onapps/scripts/acp-mock-agent.ts, which does not exist. Every test that spawned the mock CLI gotERR_MODULE_NOT_FOUND, so the five expecting a successful ACP session setup sat on the 20s startup deadline and timed out instead of asserting anything. Fixed to two levels up, matching upstream's sibling tests in the same directory. These 5 tests were already failing onmainbefore this merge — verified by running the same file atorigin/main. They now pass.@aws-sdk/@smithyentries thatpackages/cloud-runtimepulls in vianovita-sandbox. Regenerated;@daytona/sdk,e2b,novita-sandboxand 36@aws-sdkpackages all resolve.Validation
pnpm install --frozen-lockfilepnpm typecheck(33 workspaces)error TS(77 advisory Effect-language suggestions, pre-existing)pnpm lintpnpm fmt:checkvp run --filter t3 test(server)vp run --filter @t3tools/web --filter @t3tools/mobile testvp run --filter @t3tools/contracts --filter @t3tools/shared --filter @t3tools/cloud-runtime --filter @t3tools/client-runtime --filter @t3tools/provider-core --filter @t3tools/provider-acp testvp run --filter @t3tools/web --filter t3 buildThe 16 server test failures are all pre-existing — zero regressions
Each was reproduced on
origin/mainin a clean worktree and fails there identically:terminal/Manager.test.ts,cli/theme.test.ts,keybindings.test.ts,sourceControl/SourceControlDiscovery.test.ts) thatchmod 000a directory and expect the write/stat to fail. This environment runs as uid 0, and root bypasses permission bits, sostatsucceeds and the assertion fails. Verified directly.musereplay fixtures inOrchestratorReplayFixtures.integration.test.ts. Running just themusesubset atorigin/mainreproduces exactly the same 8 failures.Baseline
origin/main: the same 16 failing test names. After the merge: the same 16. The merge introduced no test regressions and fixed 5 previously-failing fork tests.Notes
mainwas not modified; all work is onsync/upstream-2026-10-15-live-tps.Model and harness: opencode / space-bunny-free.
Check status on this PR
The two review bots report infrastructure state rather than code findings, which matches this repo's behaviour on the previous large syncs:
Kilo Code Review).action_required: waiting on a maintainer to approve the external reviewer.Everything substantive was verified locally instead (table above): typecheck, lint, format, ~14k tests, and the web + server builds.