Skip to content

chore: merge upstream/main into fork (2026-11-12) - #574

Merged
adampeterhiggins merged 435 commits into
mainfrom
t3code/sync-upstream-2026-11-12-0931
Nov 13, 2026
Merged

adampeterhiggins merged 435 commits into
mainfrom
t3code/sync-upstream-2026-11-12-0931

Conversation

@adampeterhiggins

@adampeterhiggins adampeterhiggins commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

What’s in this sync

Adds 431 upstream commits since the parent sync.

  • New features: UI language settings and translations for Spanish, Chinese, French, German, Japanese, Korean, Russian and Brazilian Portuguese; mobile language selection; reply from assistant hover actions; resolved review conversations fold into avatars; quoted messages display as inset cards; Windows background service support. Add-project lists default to GitHub until other hosts are enabled.
  • Fixes: more reliable Stop and delegation completion, scheduled-task missed-slot reporting, worktree creation and cleanup with large output, composer chip restoration, streaming scroll behavior, mobile settings and review navigation, and desktop update recovery.
  • Provider and internal changes: Cursor streaming and steering improvements, Claude delegate process cleanup and custom model handling, Codex policy errors and delegate lifecycle fixes, OpenCode service restart on update, and lower-cost thread/state processing.

Discord announcements were not used: the channel returned no matching announcement crossposts for this range.

Parent #572 has merged. This PR now targets main and adds only the newer upstream commits.

Base: ae9bd790f5f277097dd72f3998c4825829a40852.
Pinned upstream: ee90bdc9405d8d4b8ff78ce2133ccb04844298ab.
Range: ae9bd790f5f277097dd72f3998c4825829a40852..ee90bdc9405d8d4b8ff78ce2133ccb04844298ab.

Other notable changes: Windows service support (pingdotgg#34524), provider health checks (pingdotgg#34885), large worktree Git output (pingdotgg#34889), Codex child cleanup (pingdotgg#34829), missed scheduled runs (pingdotgg#34815), desktop update recovery (pingdotgg#34932), and singular CSV/text preview labels (pingdotgg#34992).

Full upstream comparison.

Conflict resolutions and verification

Preserves fork context integrations, provider/account selection, quick-message and split views, citation comments, notification rules, missed-run catch-up, and worktree setup naming while adopting upstream guards and provider changes.

Regression repairs retain linked senders and missed-slot errors; complete workspace handoffs through checkpoint capture before starting the continuation; preserve the destination divider and user Stop precedence; canonicalize macOS symlink paths; and align composer state with the selected provider. Stale TCP, recording, remote-delegation, scheduling and browser fixtures were repaired without removing their behavior assertions. The prompt budget records the actual merged text (+31 bytes for Claude and Codex); no instructions were cut to satisfy the measurement.

Final automated verification on dc1095749980c6e375402a7527fb94e516759871:

  • Non-browser regression selection: 548 files, 13,727 tests passed, 26 existing skips, across 28 successful batches.
  • Previously omitted browser selection: 117 files, 913 tests passed, no skips. Full reruns of the two repaired batches replace their initial failing results.
  • Handoff lifecycle: 146 focused tests pass, including persisted checkpoint, continuation, destination notice, and Stop race assertions.
  • Server and web typechecks, targeted format/lint, and commit hooks pass.
  • Final check:changed: format, lint, knip, generated GraphQL, dependency-patch validation, all 41 affected package typechecks and node tests pass. Its single 492-file Vitest invocation exceeded the standard 900-second limit. The separate 665-file batched run above covers that selection and the previously excluded browser files with zero failing cases; the standard command itself is not claimed as passing.

Runtime: the isolated Electron app streamed the free Replay showcase, accepted approval through real Electron input, and rendered its final markdown/code/table. The web client opened the same completed thread and Settings. The iOS dev client connected and displayed the completed thread, code and table without the Expo overlay. Further iOS language-navigation checks hit a CoreSimulator/device-runner deadline after that successful pass; Android is unavailable because this machine has no Android SDK.

Limits: the native-Claude compaction case passes the integrated browser fixture, but the ACP-only scenarios harness cannot create that native session/context state for a separate scenarios:prove run. Paid MCP evals remain unavailable without their API credential. No merge or release was performed.

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

Models/harnesses: gpt-6.1-sol in Codex; earlier follow-ups used grok-4.7 and claude-opus-5-5 in Cursor, through T3 Code.

romil-bijarnia and others added 30 commits November 11, 2026 23:18
)

Co-authored-by: Mohamed Sayed <MohamedSayed0573@users.noreply.github.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
…am (pingdotgg#34246)

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#34343)

Co-authored-by: Aaron Zingerle <aaron.zingerle@avoautomation.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
juliusmarminge and others added 24 commits November 12, 2026 00:02
…hosts on (pingdotgg#34978)

Co-authored-by: Claude Fable 5.2 <noreply@anthropic.com>
…rsion (pingdotgg#34606)

Continues pingdotgg#31152.

Co-authored-by: Miley <mkantenko@gmail.com>
Co-authored-by: maria-rcks <maria@kuuro.net>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
# Conflicts:
#	apps/mobile/src/features/settings/SettingsRouteScreen.tsx
#	apps/mobile/src/features/threads/ThreadFeed.tsx
#	apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx
#	apps/mobile/src/persistence/mobile-preferences.ts
#	apps/mobile/src/state/use-thread-composer-state.ts
#	apps/server/src/cli/thread.test.ts
#	apps/server/src/mcp/McpHttpServer.test.ts
#	apps/server/src/mcp/McpHttpServer.ts
#	apps/server/src/mcp/OrchestratorMcpService.ts
#	apps/server/src/mcp/linkOrigin.test.ts
#	apps/server/src/mcp/toolkits/orchestrator/handlers.ts
#	apps/server/src/mcp/toolkits/orchestrator/tools.ts
#	apps/server/src/mcp/toolkits/project/handlers.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/ClaudeAdapterV2.ts
#	apps/server/src/orchestration-v2/Adapters/CodexAdapterV2.ts
#	apps/server/src/orchestration-v2/DelegatedCompletionDelivery.test.ts
#	apps/server/src/orchestration-v2/Orchestrator.control-reads.test.ts
#	apps/server/src/orchestration-v2/Orchestrator.ts
#	apps/server/src/orchestration-v2/ProviderTurnStartService.ts
#	apps/server/src/orchestration-v2/PullRequestWatchReactor.ts
#	apps/server/src/orchestration-v2/SubagentProjection.test.ts
#	apps/server/src/orchestration-v2/ThreadLaunchService.test.ts
#	apps/server/src/orchestration-v2/ThreadLaunchService.ts
#	apps/server/src/orchestration-v2/testkit/fixtures/kiro_model_switch/kiro_transcript.ndjson
#	apps/server/src/orchestration-v2/testkit/fixtures/kiro_unknown_model/kiro_transcript.ndjson
#	apps/server/src/peer/PeerMcpClient.test.ts
#	apps/server/src/peer/RemoteDelegation.test.ts
#	apps/server/src/preview/ServerBrowser.ts
#	apps/server/src/preview/ServerBrowserPage.ts
#	apps/server/src/process/externalLauncher.test.ts
#	apps/server/src/project/AgentSessionScanner.ts
#	apps/server/src/provider/ClaudeProvider.ts
#	apps/server/src/provider/ProviderOrchestrationAdapterInfrastructure.ts
#	apps/server/src/provider/ProviderRegistry.ts
#	apps/server/src/scheduledTasks/ScheduledTaskService.test.ts
#	apps/server/src/scheduledTasks/ScheduledTaskService.ts
#	apps/server/src/server.ts
#	apps/server/src/terminal/Manager.test.ts
#	apps/server/src/ws.ts
#	apps/web/src/AppRoot.tsx
#	apps/web/src/appInit.tsx
#	apps/web/src/components/ChatMarkdown.tsx
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/ComposerPromptEditorTiptap.tsx
#	apps/web/src/components/RightPanelTabs.browser.test.tsx
#	apps/web/src/components/ThreadNotificationCoordinator.tsx
#	apps/web/src/components/chat/AssistantCitationChip.browser.test.tsx
#	apps/web/src/components/chat/AssistantCitationChip.tsx
#	apps/web/src/components/chat/AssistantCitationCommentEditor.tsx
#	apps/web/src/components/chat/ChatComposer.tsx
#	apps/web/src/components/chat/ComposerPrimaryActions.tsx
#	apps/web/src/components/chat/MarkdownThreadLink.tsx
#	apps/web/src/components/chat/MessagesTimeline.logic.test.ts
#	apps/web/src/components/chat/MessagesTimeline.logic.ts
#	apps/web/src/components/chat/MessagesTimeline.tsx
#	apps/web/src/components/chat/ModelPickerContent.tsx
#	apps/web/src/components/chat/OpenInPicker.tsx
#	apps/web/src/components/chat/ProviderModelPicker.browser.test.tsx
#	apps/web/src/components/chat/QueuedRunsControl.tsx
#	apps/web/src/components/chat/SkillInlineText.tsx
#	apps/web/src/components/chat/TimelineWorkEntryRow.tsx
#	apps/web/src/components/chat/TimelineWorkGroupRows.tsx
#	apps/web/src/components/chat/UserMessageContextChips.tsx
#	apps/web/src/components/chat/WorkflowOpeningBlock.tsx
#	apps/web/src/components/chat/useComposerSend.ts
#	apps/web/src/components/chat/useComposerStash.ts
#	apps/web/src/components/chat/useQueuedRunEdit.ts
#	apps/web/src/components/chat/useThreadLifecycle.tsx
#	apps/web/src/components/composerInlineTokenPaste.ts
#	apps/web/src/components/contextPresentationRegistry.ts
#	apps/web/src/components/files/FilePreviewPanel.tsx
#	apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx
#	apps/web/src/components/pullRequest/guide/GuideExcerpt.tsx
#	apps/web/src/components/settings/SettingsBreadcrumb.tsx
#	apps/web/src/components/settings/SettingsPanels.tsx
#	apps/web/src/components/settings/SettingsSidebarNav.tsx
#	apps/web/src/components/settings/settingsSearch.ts
#	apps/web/src/components/sidebar/SidebarThreadRow.tsx
#	apps/web/src/composer-rich-text-doc.ts
#	apps/web/src/hooks/useThreadActions.ts
#	apps/web/src/main.tsx
#	apps/web/src/shortcuts/dispatcher.ts
#	apps/web/src/state/entities.ts
#	apps/web/src/terminal/ghostty/renderer.ts
#	packages/client-runtime/src/state/contextWindow.ts
#	packages/client-runtime/src/state/threads.ts
#	packages/contracts/src/composerContext.ts
#	packages/contracts/src/orchestrationV2.ts
#	packages/provider-core/src/server/instanceEnvironment.test.ts
#	packages/provider-core/src/server/instanceEnvironment.ts
#	packages/provider-core/src/server/orchestrationInstructions.ts
#	packages/provider-core/src/server/runtimeInstructions.ts
#	packages/provider-cursor/src/server/CursorAgentSdk.test.ts
#	packages/provider-cursor/src/server/CursorAgentSdk.ts
#	packages/provider-cursor/src/server/adapter.test.ts
#	packages/provider-cursor/src/server/adapter.ts
#	packages/provider-opencode/src/server/driver.ts
#	packages/shared/src/usageLimits.test.ts
#	pnpm-lock.yaml
#	scripts/build-desktop-artifact.test.ts
Base automatically changed from t3code/sync-upstream-2026-11-11-1245 to main November 12, 2026 10:09
adampeterhiggins and others added 3 commits November 12, 2026 10:43
…ollow kind order

Upstream copies code without fences. A quote of mixed content was using that path, so the code block no longer stood alone. Response context was also registered ahead of the kind list.

Co-authored-by: Cursor <cursoragent@cursor.com>
The merge lost upstream's linked sender on cross-environment sends, and the fork's catch-up path skipped upstream's failed status for a missed fixed-time slot. The context budget now matches the merged instructions, and the schedule test mocks the dispatch the fork's service calls.

Co-authored-by: Cursor <cursoragent@cursor.com>
@adampeterhiggins
adampeterhiggins merged commit 4eb2b77 into main Nov 13, 2026
@adampeterhiggins
adampeterhiggins deleted the t3code/sync-upstream-2026-11-12-0931 branch November 13, 2026 15:05
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.