Skip to content

chore: sync upstream through 1451e7cb23 - #336

Merged
adampeterhiggins merged 765 commits into
mainfrom
t3code/sync-upstream-2026-10-19-1451e7cb
Oct 19, 2026
Merged

adampeterhiggins merged 765 commits into
mainfrom
t3code/sync-upstream-2026-10-19-1451e7cb

Conversation

@adampeterhiggins

Copy link
Copy Markdown
Owner

The fork was 762 upstream commits behind. This merges upstream/main at 1451e7cb23 (range e3b35d1b24..1451e7cb23) into the fork, keeping upstream history and fork behavior. It then merges current origin/main. The parent sync, #332, merged while this run was in progress, so this PR targets main directly.

Conflicts

128 files conflicted: 70 in web, 26 in server, 21 in mobile, the rest in packages and docs. Most were resolved by keeping both sides. These are the notable decisions:

Upstream API moves the fork followed:

  • providers moved off EnvironmentServerConfig. Fork components now read useEnvironmentProviders() / providersIgnoringCheckedAtAtom.
  • useUpdateClientSettings became updateClientSettings().
  • @t3tools/client-runtime gained a pullRequestLinkProject helper, which replaces the fork's own resolver.

Upstream test changes:

  • Upstream dropped react-test-renderer and moved React tests to real-browser *.browser.test.tsx files.
  • Fork-only test cases were ported into those browser tests. The fork's react-test-renderer tests became createRoot browser tests.

New upstream lint and React Compiler rules:

  • no-manual-memo and a React Compiler coverage test now apply to every web file.
  • About 70 fork-only files were rewritten to pass: no useMemo/useCallback, no try/finally, no computed-key destructuring.
  • AgentAccessSettings.tsx joins ConnectionsSettings.tsx on the allowRawClientAccess lint override, because it reads session metadata, not an RPC client.

Behavior decisions:

  • Start from shortcut: the fork's chat.startFrom moves from mod+shift+b to mod+alt+o. Upstream binds mod+shift+b to threadPanel.toggle, and the fork's later binding was shadowing it. Users who saved the old binding keep it. The docs and docs/fork-differences.md are updated.
  • Cursor run errors: these now carry Cursor's own message, as in upstream. The fork's out-of-usage → usage_limit mapping is kept.
  • Resource telemetry: upstream fixed the root cause by stopping the Electron-descendant walk at the server. The fork's "unflagged Electron child = backend" fallback is therefore removed. The fork's test was rewritten to the real process layout.
  • t3_worktree_handoff: new worktrees always go in the managed directory, as in upstream. path is honored only for the fork's move into an existing worktree.
  • ThreadLaunchService:
    • Upstream's guard is restored: no setup progress event without a worktree.
    • Cancelling setup now also interrupts the fork's background branch-name generation.
  • Cursor adapter: the fork's steer was added to upstream's new failure-test mock.
  • Agent transcript timeline: AgentDetailPanel uses upstream's useIncrementalTimelineEntries.

docs/fork-differences.md was reviewed. The only change it needed is the shortcut above.

Verification

All commands use the repository-local Vite+ runner.

Typecheck: passes for web, server (t3), mobile, desktop, contracts, shared, client-runtime, provider-core and provider-cursor.

Lint: vp check on every file that differs from upstream gives 0 errors and existing warnings only. Formatting passes.

Unit tests:

  • Server and packages: focused suites for every conflicted file pass, 2016 tests.
  • Web: unit tests next to changed files pass, 135 files and 4407 tests, including upstream's React Compiler coverage test.
  • Mobile: src/state and src/features pass, 1634 tests.
  • Cursor provider: 139 tests pass.

Web browser tests: all 133 browser test files next to changed code were run one file at a time, and each passes on its own. Two run alone are known to fail on macOS, and both are expected to pass on Linux CI:

  • UsageService "discovers Pi history…" also fails on plain upstream on macOS (/private/var realpath).
  • CommandPalette.focus "…after leaving the file picker" presses Ctrl+P, which is mod+p only off macOS. It passes with Cmd.

Running several browser files in one process crashes here with a Playwright route.fulfill heap error. No browser or computer-use verification was done, and no release build was run.

Merge with Create a merge commit. It keeps upstream history and the merge base for the next sync.

Model: Claude Opus 5.5 (with parallel Claude subagents), continuing an earlier Codex run. Harness: Claude Code in T3 Code.

🤖 Generated with Claude Code

Aquaspaces and others added 30 commits October 18, 2026 19:19
… wrong folder (pingdotgg#18549)

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

Co-authored-by: Aaron Queen <bompus@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…17922)

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…ed to merge (pingdotgg#18232)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…#18832)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… attachment (pingdotgg#21101)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Tejas Rahane <17571323+trahane@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#14786)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ork advice (pingdotgg#17569)

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

Co-authored-by: Aidid Haiqal <syafdo02@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…no origin (pingdotgg#20412)

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

Co-authored-by: Arthur Katcher <192321283+arthurkatcher@users.noreply.github.com>
…9525)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
flamboh and others added 27 commits October 18, 2026 22:06
…g#18647)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…report (pingdotgg#15738)

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

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

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

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ingdotgg#13359)

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

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

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

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ngdotgg#18423)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#20349)

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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
… without permission (pingdotgg#20237)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…ingdotgg#19648)

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

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…nge (pingdotgg#11013)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…ill (pingdotgg#20051)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…uanian, Basque or Azerbaijani locale (pingdotgg#19616)

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>
… provider (pingdotgg#18467)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
…le can resume one (pingdotgg#21473)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com>
Merges pingdotgg/t3code main at 1451e7c (762 upstream commits since
e3b35d1) into the fork, keeping upstream history and fork behavior.

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

# Conflicts:
#	apps/mobile/src/state/use-thread-composer-state.ts
#	apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
#	apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts
#	apps/server/src/orchestration-v2/workflowAgentAnswers.test.ts
#	apps/server/src/orchestration-v2/workflowAgentAnswers.ts
#	apps/server/src/orchestration-v2/workflowFileRead.ts
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/chat/V2LifecycleRow.tsx
#	apps/web/src/components/chat/useResolveComposerObjectLink.ts
#	scripts/build-desktop-artifact.test.ts
@adampeterhiggins

Copy link
Copy Markdown
Owner Author

This PR is now up to date with main through 021ddc3 (#334, #335, #337, #338, #339). I merged main into the branch instead of rebasing it, so the upstream merge commit and its merge base stay intact and nothing was force-pushed.

Conflicts:

Verification:

  • Typecheck:
    • Web, mobile, client-runtime and shared pass.
    • The server passes native tsc --noEmit -p apps/server/tsconfig.json. tsc-rs (vp run --filter t3 typecheck) reports about 180 unknown inference errors in cli/*, server.ts and AgentAccessMcpServer.ts. This is a tsc-rs bug: appending any trivial function to packages/shared/src/modelChangeMarker.ts on the previous commit triggers the same errors. Type annotations and splitting the module did not clear it.
  • Tests:
    • Shared, client-runtime and server tests for the touched code: 542 pass.
    • Mobile src/state and src/features/threads: 713 pass.
    • Web React Compiler coverage plus V2LifecycleRow: 1180 pass.
    • useResolveComposerObjectLink and MessagesTimeline browser tests pass.
  • Lint: vp check gives 0 errors.
  • Known failure: build-desktop-artifact "skips the primary native probe for cross-architecture Windows payloads" fails only because the test's arm64 target matches this arm64 Mac.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.