Skip to content

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

Merged
adampeterhiggins merged 385 commits into
mainfrom
t3code/sync-upstream-2026-10-31-0930
Nov 1, 2026
Merged

adampeterhiggins merged 385 commits into
mainfrom
t3code/sync-upstream-2026-10-31-0930

Conversation

@adampeterhiggins

@adampeterhiggins adampeterhiggins commented Oct 31, 2026 •

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.

Regression fixes found during browser verification

  • Restore upstream merge-back/disconnect error reporting and retry cleanup within the fork's relationship panel; interrupt app-owned agents on their child threads.
  • Preserve Markdown remount caching with stable theme-specific plugin arrays and wait for initial virtual-list positioning before enabling smooth following.
  • Keep selected-code agent actions available independently of host-review commenting; keep long background-work links reachable beside Stop.
  • Update stale browser fixtures, mock exports, registry routing, teardown and focus handling. Prebundle discovered browser dependencies and run browser files serially to avoid Playwright mock-routing failures.

Verification

Dependency installation, focused server/mobile/shared/provider tests and typechecks passed during integration. The initial changed-file non-browser run passed 9,475 tests; its failures were fixed and all affected files passed targeted reruns.

Following the explicit browser regression request:

  • Complete Chromium browser suite: 169 files, 877 tests passed, with no failures.
  • Final vp run check:changed: all steps passed, including the selected tests (479 files), typechecks for all 39 affected packages, format/lint, both knip passes, GraphQL checks, unused patches and React compiler coverage. Browser tests were included.
  • Format/lint on all regression edits, web typecheck and git diff --check: passed.

The integrated live-app pass is blocked: T3's Browser panel reports available: false. The test-t3-app skill requires stopping that verification when the panel is unavailable; no alternate automation system or live-state server was used. Automated Chromium regression tests use the repository's existing runner. No merge or release 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.

only21mil and others added 30 commits October 30, 2026 21:02
…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>
…g#25131)

Co-authored-by: Aatman Jain <lives@MacBook-Pro.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Yuruzuu and others added 27 commits October 31, 2026 08:43
…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
@adampeterhiggins
adampeterhiggins merged commit b3722bd into main Nov 1, 2026
@adampeterhiggins
adampeterhiggins deleted the t3code/sync-upstream-2026-10-31-0930 branch November 1, 2026 10:38
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.