Skip to content

chore: sync with upstream pingdotgg/t3code main - #25

Merged
yordis merged 54 commits into
mainfrom
yordis/chore-sync-upstream-20260820-1
Aug 20, 2026
Merged

chore: sync with upstream pingdotgg/t3code main#25
yordis merged 54 commits into
mainfrom
yordis/chore-sync-upstream-20260820-1

Conversation

@yordis

@yordis yordis commented Aug 20, 2026

Copy link
Copy Markdown
Member
  • The MCP capability set stays the fork's, because a subagent thread rides on the credential its parent was issued: deciding capabilities after the token is minted cannot reach it. Upstream's new credential seam is where that decision now lives.
  • The pull request header goes to upstream wholesale, and ledger entry 0014 is deleted rather than re-applied, because upstream's reworked header already gives the base chip a bounded share of the row. The fork no longer diverges there, so the ledger should not claim it does.
  • The background work banner stays the fork's, because the copy it already builds says everything upstream's new title says and more. Upstream's ghost styling for the stop control is adopted on top of it.
  • The timeline row keeps the fork's subagent chip and its navigation while taking upstream's failure state, expansion prop, and typography. A call that failed reads as failed whatever spawned it, so the failure indicator wins over the subagent icon.
  • The command palette keeps the fork's dropped folder test alongside upstream's renamed mode test, because they cover different things and the rename was only a rename.

StiensWout and others added 30 commits August 17, 2026 10:04
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <[email protected]>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: maria <[email protected]>
RakshithBhat03 and others added 24 commits August 19, 2026 04:30
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
…pstream-20260820-1

Signed-off-by: Yordis Prieto <[email protected]>

# Conflicts:
#	apps/server/src/provider/Layers/ProviderService.ts
#	apps/web/src/components/ChatView.tsx
#	apps/web/src/components/CommandPalette.logic.test.ts
#	apps/web/src/components/chat/MessagesTimeline.tsx
#	apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
@yordis
yordis merged commit b57d00c into main Aug 20, 2026
3 of 9 checks passed
@yordis
yordis deleted the yordis/chore-sync-upstream-20260820-1 branch August 20, 2026 06:46
@cursor

cursor Bot commented Aug 20, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches desktop quit/shutdown, preview capture, and updater concurrency—user-visible and timing-sensitive—but changes are heavily tested and mostly isolated from server auth/data paths.

Overview
Adds npx t3 triage support artifacts: a via-triage GitHub issue template and a triage PLAYBOOK for agent-driven investigations and issue filing.

Desktop changes span lifecycle, preview, menus, updates, and window behavior. macOS dock icons are set only for unpackaged runs so packaged apps keep user-custom icons. Quit now flushes bounds, destroys windows, then shuts down the backend; activation is ignored while quitting. Hold-to-quit (Cmd+Q) completes the hold on key release (with grace when the modifier releases first) instead of quitting mid-hold on auto-repeat. Context menus honor separatorBefore and avoid double separators before destructive items. Preview gains mute/unmute with IPC, tab state (audioMuted / audible), and reconciliation across webview swaps; frame capture toggles main-window background throttling, handles main window close, and destroyAll continues after per-window failures. Auto-updates use a single action reservation (check/download/install/channel), preserve queued installers across feed checks/errors, and allow install after install-time errors. The main window boots with throttling off and re-enables it on first reveal.

Marketing defaults Mac downloads to arm64 (drops in-page GPU arch detection) and surfaces Intel x64 via a link on /download. Mobile thread-list v2 settlement tracks ChangeRequestSettleSource (state + updatedAt), refreshes composer skill icons by source, and adjusts pending-question option layout and shelf chevrons.

Reviewed by Cursor Bugbot for commit 8453806. Bugbot is set up for automated code reviews on this repo. Configure here.

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 216 files, which is 116 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b0c4d4ca-eba3-444c-9fa6-d99311fcc2fb

📥 Commits

Reviewing files that changed from the base of the PR and between 50093ca and 8453806.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (216)
  • .github/ISSUE_TEMPLATE/via-triage.yml
  • .github/triage/PLAYBOOK.md
  • apps/desktop/src/app/DesktopAppIdentity.test.ts
  • apps/desktop/src/app/DesktopAppIdentity.ts
  • apps/desktop/src/app/DesktopLifecycle.test.ts
  • apps/desktop/src/app/DesktopLifecycle.ts
  • apps/desktop/src/electron/ElectronMenu.test.ts
  • apps/desktop/src/electron/ElectronMenu.ts
  • apps/desktop/src/electron/ElectronWindow.test.ts
  • apps/desktop/src/electron/ElectronWindow.ts
  • apps/desktop/src/ipc/channels.ts
  • apps/desktop/src/ipc/methods/preview.ts
  • apps/desktop/src/preload.ts
  • apps/desktop/src/preview/Manager.test.ts
  • apps/desktop/src/preview/Manager.ts
  • apps/desktop/src/updates/DesktopUpdates.test.ts
  • apps/desktop/src/updates/DesktopUpdates.ts
  • apps/desktop/src/updates/updateMachine.test.ts
  • apps/desktop/src/updates/updateMachine.ts
  • apps/desktop/src/window/DesktopWindow.test.ts
  • apps/desktop/src/window/DesktopWindow.ts
  • apps/desktop/src/window/QuitHold.test.ts
  • apps/desktop/src/window/QuitHold.ts
  • apps/marketing/src/lib/macArch.test.ts
  • apps/marketing/src/lib/macArch.ts
  • apps/marketing/src/pages/download.astro
  • apps/marketing/src/pages/index.astro
  • apps/mobile/src/components/AppSymbol.tsx
  • apps/mobile/src/features/home/HomeScreen.tsx
  • apps/mobile/src/features/threads/ComposerCommandPopover.tsx
  • apps/mobile/src/features/threads/PendingUserInputCard.tsx
  • apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx
  • apps/mobile/src/features/threads/thread-list-v2-items.tsx
  • apps/mobile/src/features/threads/threadListV2.test.ts
  • apps/mobile/src/features/threads/threadListV2.ts
  • apps/mobile/src/state/thread-pr-presentation.ts
  • apps/server/src/bin.ts
  • apps/server/src/cli/connect.ts
  • apps/server/src/cli/service.test.ts
  • apps/server/src/cli/service.ts
  • apps/server/src/cli/triage.ts
  • apps/server/src/cli/triagePrompt.test.ts
  • apps/server/src/cli/triagePrompt.ts
  • apps/server/src/cloud/bootService.test.ts
  • apps/server/src/cloud/bootService.ts
  • apps/server/src/cloud/http.ts
  • apps/server/src/cloud/pinnedRuntime.ts
  • apps/server/src/git/GitManager.test.ts
  • apps/server/src/git/GitManager.ts
  • apps/server/src/orchestration/ActivityPayloadProjection.test.ts
  • apps/server/src/orchestration/ActivityPayloadProjection.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts
  • apps/server/src/orchestration/ThreadBackgroundLiveness.test.ts
  • apps/server/src/orchestration/ThreadBackgroundLiveness.ts
  • apps/server/src/provider/CodexDeveloperInstructions.ts
  • apps/server/src/provider/Layers/CodexSessionRuntime.test.ts
  • apps/server/src/provider/Layers/CodexSessionRuntime.ts
  • apps/server/src/provider/Layers/GrokProvider.test.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.test.ts
  • apps/server/src/provider/Layers/OpenCodeProvider.ts
  • apps/server/src/provider/Layers/ProviderInstanceRegistryLive.test.ts
  • apps/server/src/provider/Layers/ProviderInstanceRegistryLive.ts
  • apps/server/src/provider/Layers/ProviderService.test.ts
  • apps/server/src/provider/Layers/ProviderService.ts
  • apps/server/src/provider/opencodeRuntime.cliParsers.test.ts
  • apps/server/src/provider/opencodeRuntime.inventory.test.ts
  • apps/server/src/provider/opencodeRuntime.ts
  • apps/server/src/pullRequest/GitHubPullRequestCli.test.ts
  • apps/server/src/pullRequest/GitHubPullRequestCli.ts
  • apps/server/src/serverSettings.test.ts
  • apps/server/src/serverSettings.ts
  • apps/server/src/serviceLauncher.ts
  • apps/server/src/sourceControl/GitHubSourceControlProvider.test.ts
  • apps/server/src/sourceControl/GitHubSourceControlProvider.ts
  • apps/server/src/vcs/GitVcsDriver.ts
  • apps/server/src/vcs/GitVcsDriverCore.ts
  • apps/web/src/browser/browserTargetResolver.test.ts
  • apps/web/src/browser/browserTargetResolver.ts
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/CommandPalette.logic.test.ts
  • apps/web/src/components/CommandPalette.logic.ts
  • apps/web/src/components/CommandPalette.tsx
  • apps/web/src/components/ComposerPromptEditor.tsx
  • apps/web/src/components/NoActiveThreadState.tsx
  • apps/web/src/components/RightPanelTabs.test.tsx
  • apps/web/src/components/RightPanelTabs.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/ThreadCommandSubtitle.tsx
  • apps/web/src/components/ThreadStatusIndicators.test.ts
  • apps/web/src/components/ThreadStatusIndicators.tsx
  • apps/web/src/components/ThreadTerminalDrawer.tsx
  • apps/web/src/components/WorkspaceBreadcrumb.tsx
  • apps/web/src/components/WorkspacePageContainer.tsx
  • apps/web/src/components/WorkspacePageHeader.tsx
  • apps/web/src/components/chat/ChatComposer.tsx
  • apps/web/src/components/chat/ChatHeader.tsx
  • apps/web/src/components/chat/ComposerBannerStack.test.tsx
  • apps/web/src/components/chat/ComposerBannerStack.tsx
  • apps/web/src/components/chat/ComposerCommandMenu.test.tsx
  • apps/web/src/components/chat/ComposerCommandMenu.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalActions.test.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalActions.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalPanel.test.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx
  • apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx
  • apps/web/src/components/chat/ComposerPlanFollowUpBanner.tsx
  • apps/web/src/components/chat/ComposerStashBadge.test.tsx
  • apps/web/src/components/chat/ComposerStashBadge.tsx
  • apps/web/src/components/chat/ComposerStashMenu.test.tsx
  • apps/web/src/components/chat/ComposerStashMenu.tsx
  • apps/web/src/components/chat/ComposerTasksBadge.test.tsx
  • apps/web/src/components/chat/ComposerTasksBadge.tsx
  • apps/web/src/components/chat/ContextWindowMeter.tsx
  • apps/web/src/components/chat/MessagesTimeline.logic.test.ts
  • apps/web/src/components/chat/MessagesTimeline.logic.ts
  • apps/web/src/components/chat/MessagesTimeline.test.tsx
  • apps/web/src/components/chat/MessagesTimeline.tsx
  • apps/web/src/components/chat/PanelLayoutControls.test.tsx
  • apps/web/src/components/chat/PanelLayoutControls.tsx
  • apps/web/src/components/chat/SkillInlineText.tsx
  • apps/web/src/components/chat/ThreadSyncStatusPill.test.tsx
  • apps/web/src/components/chat/ThreadSyncStatusPill.tsx
  • apps/web/src/components/chat/TraitsPicker.tsx
  • apps/web/src/components/chat/composerProviderState.test.tsx
  • apps/web/src/components/chat/composerProviderState.tsx
  • apps/web/src/components/clerk/electronPasskeys.test.ts
  • apps/web/src/components/composerInlineChip.ts
  • apps/web/src/components/desktopUpdate.logic.test.ts
  • apps/web/src/components/desktopUpdate.logic.ts
  • apps/web/src/components/files/FileBrowserPanel.tsx
  • apps/web/src/components/files/FilePreviewPanel.tsx
  • apps/web/src/components/preview/PreviewView.test.tsx
  • apps/web/src/components/preview/usePreviewBridge.test.ts
  • apps/web/src/components/preview/usePreviewBridge.ts
  • apps/web/src/components/pullRequest/PullRequestDetailPanel.tsx
  • apps/web/src/components/pullRequest/PullRequestGhosts.tsx
  • apps/web/src/components/pullRequest/PullRequestListFilters.tsx
  • apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx
  • apps/web/src/components/pullRequest/PullRequestTimelineTab.tsx
  • apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts
  • apps/web/src/components/pullRequest/pullRequestDetail.logic.ts
  • apps/web/src/components/pullRequest/pullRequestPresentation.tsx
  • apps/web/src/components/settings/DiagnosticsSettings.tsx
  • apps/web/src/components/settings/IntegrationsSettings.tsx
  • apps/web/src/components/settings/KeybindingsSettings.tsx
  • apps/web/src/components/settings/ProjectSettingsPanel.tsx
  • apps/web/src/components/settings/ProviderInstanceCard.tsx
  • apps/web/src/components/settings/ProviderSettingsPanel.tsx
  • apps/web/src/components/settings/SettingsFontPreviews.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/settings/SettingsSidebarNav.tsx
  • apps/web/src/components/settings/SourceControlSettings.tsx
  • apps/web/src/components/settings/settingsLayout.tsx
  • apps/web/src/components/settings/settingsSearch.ts
  • apps/web/src/components/sidebar/SidebarChrome.tsx
  • apps/web/src/components/threadActionMenu.logic.test.ts
  • apps/web/src/components/threadActionMenu.logic.ts
  • apps/web/src/components/ui/button.test.tsx
  • apps/web/src/components/ui/button.tsx
  • apps/web/src/components/ui/toggle-group.test.tsx
  • apps/web/src/components/ui/toggle-group.tsx
  • apps/web/src/components/ui/toggle.tsx
  • apps/web/src/components/usage/UsagePage.tsx
  • apps/web/src/components/usage/UsageProviderChart.tsx
  • apps/web/src/components/usage/usageProviders.ts
  • apps/web/src/composerPlaceholder.ts
  • apps/web/src/contextMenuFallback.test.ts
  • apps/web/src/contextMenuFallback.ts
  • apps/web/src/hooks/useThreadActionMenu.ts
  • apps/web/src/index.css
  • apps/web/src/lib/openPullRequestLink.test.ts
  • apps/web/src/lib/openPullRequestLink.ts
  • apps/web/src/lib/terminalCloseConfirm.test.ts
  • apps/web/src/lib/terminalCloseConfirm.ts
  • apps/web/src/main.tsx
  • apps/web/src/modelSelection.test.ts
  • apps/web/src/modelSelection.ts
  • apps/web/src/planAgentSelectionHeal.tsx
  • apps/web/src/previewStateStore.test.ts
  • apps/web/src/previewStateStore.ts
  • apps/web/src/providerInstances.ts
  • apps/web/src/providerModels.ts
  • apps/web/src/providerSkillSearch.ts
  • apps/web/src/routes/-chatIndexTitlebar.test.ts
  • apps/web/src/routes/__root.tsx
  • apps/web/src/routes/_chat.index.tsx
  • apps/web/src/routes/_chat.pull-requests.tsx
  • apps/web/src/routes/settings.tsx
  • apps/web/src/session-logic.test.ts
  • apps/web/src/session-logic.ts
  • apps/web/src/timestampFormat.test.ts
  • apps/web/src/workspaceBasenameLookup.test.ts
  • docs/fork/0014-base-branch-stays-readable.md
  • docs/fork/README.md
  • docs/internals/server-updates.md
  • docs/user/background-service.md
  • docs/user/install.md
  • docs/user/source-control.md
  • packages/client-runtime/package.json
  • packages/client-runtime/src/providerSkills.test.ts
  • packages/client-runtime/src/providerSkills.ts
  • packages/client-runtime/src/state/threadSettled.test.ts
  • packages/client-runtime/src/state/threadSettled.ts
  • packages/contracts/src/git.ts
  • packages/contracts/src/ipc.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts
  • packages/shared/src/hostProcess.ts
  • packages/shared/src/serverSettings.ts
  • packages/shared/src/usageMerge.test.ts
  • packages/shared/src/usageMerge.ts
  • packaging/aur/scripts/release.sh
  • packaging/aur/t3code-bin/PKGBUILD
  • packaging/aur/t3code-nightly-bin/PKGBUILD
  • pnpm-workspace.yaml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XXL labels Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.