Skip to content

chore: sync upstream through 2026-10-31 - #520

Open
adampeterhiggins wants to merge 384 commits into
mainfrom
t3code/sync-upstream-2026-10-31-0930
Open

adampeterhiggins wants to merge 384 commits into
mainfrom
t3code/sync-upstream-2026-10-31-0930

Conversation

@adampeterhiggins

Copy link
Copy Markdown
Owner

What's in this sync

This brings in 383 upstream commits since the fork base.

New features: side chats beside the main thread; one control for model and effort; a filling context meter with token counts; redesigned message media, file cards, voice notes and grouped steers on web and mobile; importing terminal Pi sessions during setup; and device reachability choices in t3 up.

Fixes: reconnecting clients recover missed alerts; imported Codex threads keep names and generated images; Claude retains usage after steering; worktree cleanup protects usage-limit waits; mobile navigation, keyboard, notification and layout fixes; and more reliable source-control checks across GitLab, Forgejo, Bitbucket and Azure DevOps.

Provider and internal changes: ACP terminal streaming and concurrent MCP calls reduce server work; Markdown rendering and repeat thread visits are faster; provider error handling, authentication and usage accounting improve.

Discord announcements were not used: the channel returned no matching crossposts (only five older non-announcement messages).

Feature commits

Remaining upstream commits

Integration

Base: 1b7f213e398a42df107c0ffd47b0b113b9b0796a (origin/main). No parent sync PR.
Pinned upstream: 85bd3f2a2a0ad4a8ddf2950e01db80765e9a1bf4.
Range: 1b7f213e398a42df107c0ffd47b0b113b9b0796a..85bd3f2a2a0ad4a8ddf2950e01db80765e9a1bf4.

Conflict resolutions

  • Web/desktop: retain fork accounts, model forking and deduplication, integration chips, thread tabs, split focus and sidebar controls while integrating upstream side chats, combined model/effort controls, media cards and Markdown changes.
  • Mobile: retain hiding, groups, project moves, subscription controls and tab labels with upstream reorder/lineage/title updates.
  • Server: combine fork CLI/MCP integrations, provider subscription policies and private credential handling with upstream secret resolution, usage reporting, browser control and cleanup changes. Preserve both sides’ tests and adapt their fixtures.
  • Shared/providers: preserve Grok-specific usage and custom prompt hooks alongside ACP prompt usage fallback; retain repository identity refinement alongside upstream remote web-host resolution.
  • Reconcile fork documentation for upstream Pi imports.

No conflicted production files were split into new upstream files in this range; the web split-file audit checked upstream stats and retained callers for fork model/account, message-fork, integration and panel behaviors.

Verification

Dependency installation passed. Focused typechecks passed for contracts, server, web, mobile, client-runtime, ACP and GitHub source control. Focused server tests passed across 16 files (the final setup-shell fix passed all 21 tests on rerun); mobile/shared/provider/build focused checks passed 161 tests. Read-only server/provider and mobile/shared reviews found no concrete regressions.

check:changed: format, lint, both knip passes, GraphQL checks, all 39 affected-package typechecks and React compiler checks passed. The non-browser changed-file test run passed 9,475 tests across 386 files, with five failing assertions and two suite setup errors. Follow-up fixes canonicalize macOS fixture paths, advance the cancellation fixture through the fork’s recovery grace, refresh measured context-budget values (no prompt text changes), retain the copy-reference search alias, and isolate mobile ordering tests from native runtime state. All failing files passed focused reruns: server 12 tests, keybindings 24, mobile ordering 6, Electron Clerk 15. The incomplete worktree-local Electron dependency installation was repaired. Final affected server/web/mobile typechecks and changed-fix format/lint passed; git diff --check passed. The full changed-file test step was not repeated after these targeted fixes. Web focused unit suites: 9 files, 425 tests passed.

Browser automation was excluded from the final invocation per the requested scope. Earlier default check:changed attempts unexpectedly started browser tests and failed during browser module mocking/Playwright routing. No interactive runtime verification was performed.

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

Model: gpt-6.1-sol. Harness: Codex through T3 Code.

Batuhan1999 and others added 30 commits October 30, 2026 21:02
… of the session (pingdotgg#24081)

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

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

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tgg#24117)

Co-authored-by: GPT-6.1 Sol <noreply@openai.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#24176)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…gg#24193)

Co-authored-by: eboye <624357+eboye@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…d queue send (pingdotgg#24248)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…link as a change (pingdotgg#24358)

Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…g#24402)

Co-authored-by: Zayd <iam@zayd.wtf>
Co-authored-by: maria-rcks <maria@kuuro.net>
…ks (pingdotgg#24434)

Co-authored-by: Zayd <iam@zayd.wtf>
Co-authored-by: maria-rcks <maria@kuuro.net>
…ced (pingdotgg#24480)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…ed (pingdotgg#24488)

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

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

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

Co-authored-by: chief-archivist <thecradlearchives@gmail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…#25014)

Co-authored-by: tsukaska <16710830+tsukaska@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…dotgg#25030)

Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…25052)

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
maria-rcks and others added 30 commits October 31, 2026 08:42
…gg#25217)

Co-authored-by: Dara Adedeji <76637177+SunkenInTime@users.noreply.github.com>
…ingdotgg#24493)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…cond with a pending one (pingdotgg#24871)

Co-authored-by: maria-rcks <maria@kuuro.net>
…ame gap (pingdotgg#22311)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
pingdotgg#24024)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…otgg#24928)

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…gdotgg#24982)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…otgg#27016)

Co-authored-by: tsmith165 <16846767+tsmith165@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…ingdotgg#25240)

Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…oid (pingdotgg#23748)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…r ticks (pingdotgg#22116)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…6798)

Co-authored-by: PR Batch Tester <agent@local.test>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ject option appears (pingdotgg#23391)

Co-authored-by: jdlar18 <215521440+jdlar18@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…tgg#24744)

Co-authored-by: SAPHID <saphid@users.noreply.github.com>
…ingdotgg#24689)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
… of asking to install it (pingdotgg#21606)

Co-authored-by: maria-rcks <maria@kuuro.net>
…otgg#25200)

Co-authored-by: Aditya Garud <153842990+yashranaway@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…28057)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
…otgg#26633)

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

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

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	apps/mobile/src/features/home/useThreadListActions.test.ts
#	apps/mobile/src/features/pull-requests/PullRequestsScreen.tsx
#	apps/mobile/src/features/threads/ThreadArrangementSheet.tsx
#	apps/mobile/src/features/threads/thread-list-v2-items.tsx
#	apps/mobile/src/features/threads/threadListV2.ts
#	apps/mobile/src/state/thread-list-environments.ts
#	apps/mobile/src/state/use-thread-composer-state.ts
#	apps/server/src/binCli.ts
#	apps/server/src/cli/app.ts
#	apps/server/src/mcp/toolkits/core.test.ts
#	apps/server/src/mcp/toolkits/project/handlers.ts
#	apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.test.ts
#	apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.test.ts
#	apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.ts
#	apps/server/src/orchestration-v2/ProjectionStore.ts
#	apps/server/src/orchestration-v2/ProviderTurnStartService.test.ts
#	apps/server/src/orchestration-v2/ShellStream.ts
#	apps/server/src/orchestration-v2/UsageLimitRecoveryWorker.test.ts
#	apps/server/src/preview/ServerBrowser.test.ts
#	apps/server/src/preview/ServerBrowserPage.test.ts
#	apps/server/src/preview/SessionControl.test.ts
#	apps/server/src/project/ProjectSetupScriptRunner.test.ts
#	apps/server/src/provider/ClaudeProvider.ts
#	apps/server/src/provider/Drivers/CodexDriver.ts
#	apps/server/src/provider/ProviderRegistry.test.ts
#	apps/server/src/provider/agentContextBudget.json
#	apps/server/src/server.ts
#	apps/server/src/storageCleanup.ts
#	apps/server/src/terminal/Manager.test.ts
#	apps/server/src/ws.test.ts
#	apps/server/src/ws.ts
#	apps/web/src/components/ChatMarkdown.tsx
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/ContextChip.tsx
#	apps/web/src/components/RightPanelTabs.tsx
#	apps/web/src/components/Sidebar.logic.test.ts
#	apps/web/src/components/Sidebar.logic.ts
#	apps/web/src/components/Sidebar.tsx
#	apps/web/src/components/ThreadTerminalDrawer.tsx
#	apps/web/src/components/chat/AssistantSelectionToolbar.tsx
#	apps/web/src/components/chat/ChatComposer.tsx
#	apps/web/src/components/chat/CompactComposerControlsMenu.tsx
#	apps/web/src/components/chat/ComposerBannerStack.browser.test.tsx
#	apps/web/src/components/chat/ComposerBannerStack.tsx
#	apps/web/src/components/chat/ComposerControlsBar.tsx
#	apps/web/src/components/chat/MarkdownExternalLink.tsx
#	apps/web/src/components/chat/MessagesTimeline.browser.test.tsx
#	apps/web/src/components/chat/MessagesTimeline.logic.ts
#	apps/web/src/components/chat/MessagesTimeline.tsx
#	apps/web/src/components/chat/ModelListRow.tsx
#	apps/web/src/components/chat/ModelPickerContent.tsx
#	apps/web/src/components/chat/ProviderModelPicker.browser.test.tsx
#	apps/web/src/components/chat/ProviderModelPicker.tsx
#	apps/web/src/components/chat/RightPanelSurfaceContent.tsx
#	apps/web/src/components/chat/ThreadRelationshipsControl.tsx
#	apps/web/src/components/chat/TimelineUserMessageRow.tsx
#	apps/web/src/components/chat/TimelineWorkEntryRow.logic.ts
#	apps/web/src/components/chat/TimelineWorkEntryRow.tsx
#	apps/web/src/components/chat/TraitsPicker.tsx
#	apps/web/src/components/chat/UserMessageContextChips.tsx
#	apps/web/src/components/chat/composerProviderState.tsx
#	apps/web/src/components/chat/timelineMinimapItems.ts
#	apps/web/src/components/chat/useComposerSend.ts
#	apps/web/src/components/chat/useComposerStash.ts
#	apps/web/src/components/chat/usePasteToFocusComposer.ts
#	apps/web/src/components/chat/useRightPanelActions.ts
#	apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
#	apps/web/src/components/pullRequest/PullRequestMarkdown.tsx
#	apps/web/src/components/settings/ConnectionsSettings.tsx
#	apps/web/src/components/settings/ScheduledTasksSettings.tsx
#	apps/web/src/components/sidebar/SidebarThreadRow.tsx
#	apps/web/src/components/ui/popover.tsx
#	apps/web/src/components/usage/UsagePage.tsx
#	apps/web/src/hooks/useThreadActions.ts
#	apps/web/src/lib/diffRendering.ts
#	apps/web/src/markdown-clipboard.test.ts
#	apps/web/src/rightPanelStore.ts
#	apps/web/src/terminal/ghostty/core.test.ts
#	apps/web/src/terminal/ghostty/surface.ts
#	docs/user/keybindings.md
#	docs/user/welcome-wizard.md
#	packages/client-runtime/package.json
#	packages/client-runtime/src/composerThreadItems.ts
#	packages/provider-acp/src/server/adapter.ts
#	packages/source-control-github/src/server/GitHubSourceControlProvider.ts
#	scripts/build-desktop-artifact.test.ts

This branch has not been deployed

No deployments
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.