Skip to content

chore: sync with upstream pingdotgg/t3code main#7

Merged
yordis merged 40 commits into
mainfrom
yordis/chore-sync-upstream
Jul 20, 2026
Merged

chore: sync with upstream pingdotgg/t3code main#7
yordis merged 40 commits into
mainfrom
yordis/chore-sync-upstream

Conversation

@yordis

@yordis yordis commented Jul 20, 2026

Copy link
Copy Markdown
Member
  • Upstream merged our two remaining contributed features (file explorer drag to composer as feat(web): drag files from the explorer into the chat composer pingdotgg/t3code#4140 and composer chip selection painting as fix(web): paint text selection over composer chips pingdotgg/t3code#4139), so their polished versions are now the canonical ones; this sync adopts them and drops our pre-merge copies to keep future syncs conflict-free.
  • The only substantive conflict was the server runtime layer wiring: the fork's thread-bootstrap restructure is kept while adopting upstream's new ExternalLauncher dependency for the cloud CLI token manager, so the fork-only native subagent threads feature keeps working.
  • Verified with full monorepo typecheck, test suite, lint, and format checks, and confirmed the fork-only feature wiring is byte-identical in reference coverage to pre-merge main.

tarik02 and others added 30 commits July 19, 2026 00:05
Co-authored-by: codex <codex@users.noreply.github.com>
…dotgg#4130)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
)

Co-authored-by: Shoaib Ansari <shoaibansari@Shoaibs-Mac-mini.local>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#2093)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <jmarminge@gmail.com>
Co-authored-by: root <root@localhost.localdomain>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…tgg#4163)

Co-authored-by: codex <codex@users.noreply.github.com>
juliusmarminge and others added 10 commits July 20, 2026 10:17
Co-authored-by: codex <codex@users.noreply.github.com>
…tarting an empty one (pingdotgg#3617)

Co-authored-by: codex <codex@users.noreply.github.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
Co-authored-by: Rhiz3K <rhiz3k@protonmail.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…otgg#4140)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
…pstream

Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>

# Conflicts:
#	apps/server/src/server.ts
#	apps/web/src/components/ComposerPromptEditor.tsx
#	apps/web/src/components/chat/ChatComposer.tsx
#	apps/web/src/components/files/fileTreeDragMention.test.ts
@cursor

cursor Bot commented Jul 20, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches cloud CLI OAuth, persisted home/state layout, and optional systemd boot services—important for remote access but covered by new tests; mobile/desktop changes are mostly UX and permissions.

Overview
This sync brings in agent workflows (.agents/skills for iOS Simulator/XcodeBuildMCP, serve-sim streaming, and isolated web/mobile testing), wires XcodeBuildMCP via .mcp.json / .codex/config.toml, and rewrites AGENTS.md to require focused tests plus integrated test-t3-app / test-t3-mobile verification instead of routine full-suite runs.

T3 Connect grows substantially: out-of-band OAuth for SSH/headless (--headless, SSH_* auto-detect), a default t3 connect path (authorize + link + optional Linux systemd user boot service via bootService.ts), refreshed CLI messaging, and T3CODE_HOSTED_APP_URL in .env.example. A design plan lands in .plans/t3-connect-remote-setup.html (hosted /connect pages are planned there; this diff is mostly CLI/server).

Runtime paths: an explicit --base-dir / T3CODE_HOME now stores state under userdata (desktop dev with implicit home still uses ~/.t3/dev). A guarded t3-sqlite-state script supports agent fixture seeding.

Clients: desktop preview grants clipboard-sanitized-write (fixes copy in embedded previews); mobile gates liquid-glass headers on NATIVE_LIQUID_GLASS_SUPPORTED, retitles home to Threads, improves connection/sync status and empty-state UX, and stabilizes NativeStackScreenOptions to avoid setOptions loops. project remove --force deletes projects with threads.

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

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 170 files, which is 70 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fa574289-2bd4-45e8-a193-88a00d2b4d8a

📥 Commits

Reviewing files that changed from the base of the PR and between fce8558 and 4709540.

⛔ Files ignored due to path filters (4)
  • packages/effect-codex-app-server/src/_generated/meta.gen.ts is excluded by !**/_generated/**
  • packages/effect-codex-app-server/src/_generated/namespaces.gen.ts is excluded by !**/_generated/**
  • packages/effect-codex-app-server/src/_generated/schema.gen.ts is excluded by !**/_generated/**
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (171)
  • .agents/skills/ios-debugger-agent/LICENSE
  • .agents/skills/ios-debugger-agent/SKILL.md
  • .agents/skills/ios-debugger-agent/agents/openai.yaml
  • .agents/skills/ios-simulator-browser/LICENSE
  • .agents/skills/ios-simulator-browser/SKILL.md
  • .agents/skills/ios-simulator-browser/agents/openai.yaml
  • .agents/skills/test-t3-app/SKILL.md
  • .agents/skills/test-t3-app/agents/openai.yaml
  • .agents/skills/test-t3-app/references/sqlite-fixtures.md
  • .agents/skills/test-t3-mobile/SKILL.md
  • .agents/skills/test-t3-mobile/agents/openai.yaml
  • .claude/skills
  • .codex/config.toml
  • .env.example
  • .mcp.json
  • .plans/t3-connect-remote-setup.html
  • AGENTS.md
  • apps/desktop/src/app/DesktopEnvironment.test.ts
  • apps/desktop/src/app/DesktopEnvironment.ts
  • apps/desktop/src/preview/BrowserSession.test.ts
  • apps/desktop/src/preview/BrowserSession.ts
  • apps/mobile/src/Stack.tsx
  • apps/mobile/src/components/CompactBrandTitle.tsx
  • apps/mobile/src/features/connection/ConnectionSheetButton.tsx
  • apps/mobile/src/features/files/FileTreeBrowser.tsx
  • apps/mobile/src/features/home/HomeRouteScreen.tsx
  • apps/mobile/src/features/home/HomeScreen.tsx
  • apps/mobile/src/features/home/WorkspaceConnectionStatus.test.ts
  • apps/mobile/src/features/home/WorkspaceConnectionStatus.tsx
  • apps/mobile/src/features/home/workspace-connection-status.ts
  • apps/mobile/src/features/threads/ThreadDetailScreen.tsx
  • apps/mobile/src/features/threads/ThreadNavigationSidebar.tsx
  • apps/mobile/src/features/threads/ThreadRouteScreen.tsx
  • apps/mobile/src/features/threads/sidebar-navigation-shell.tsx
  • apps/mobile/src/lib/native-glass-capability.test.ts
  • apps/mobile/src/lib/native-glass-capability.ts
  • apps/mobile/src/native/StackHeader.tsx
  • apps/mobile/src/native/native-glass.ts
  • apps/server/scripts/t3-sqlite-state.test.ts
  • apps/server/scripts/t3-sqlite-state.ts
  • apps/server/src/bin.test.ts
  • apps/server/src/cli/config.test.ts
  • apps/server/src/cli/config.ts
  • apps/server/src/cli/connect.test.ts
  • apps/server/src/cli/connect.ts
  • apps/server/src/cli/project.ts
  • apps/server/src/cloud/CliTokenManager.test.ts
  • apps/server/src/cloud/CliTokenManager.ts
  • apps/server/src/cloud/bootService.test.ts
  • apps/server/src/cloud/bootService.ts
  • apps/server/src/cloud/cliAuthHtml.test.ts
  • apps/server/src/cloud/cliAuthHtml.ts
  • apps/server/src/cloud/http.test.ts
  • apps/server/src/cloud/publicConfig.test.ts
  • apps/server/src/cloud/publicConfig.ts
  • apps/server/src/config.ts
  • apps/server/src/environment/ServerEnvironment.test.ts
  • apps/server/src/environment/ServerEnvironment.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.approval.test.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts
  • apps/server/src/persistence/Migrations.ts
  • apps/server/src/provider/Drivers/ClaudeExecutable.test.ts
  • apps/server/src/provider/Drivers/ClaudeExecutable.ts
  • apps/server/src/provider/Layers/ClaudeAdapter.ts
  • apps/server/src/provider/Layers/ClaudeProvider.ts
  • apps/server/src/provider/Layers/CodexAdapter.test.ts
  • apps/server/src/provider/Layers/CodexAdapter.ts
  • apps/server/src/provider/Layers/CodexProvider.ts
  • apps/server/src/provider/Layers/CodexSessionRuntime.test.ts
  • apps/server/src/provider/Layers/CodexSessionRuntime.ts
  • apps/server/src/provider/Layers/CursorProvider.ts
  • apps/server/src/provider/Layers/GrokProvider.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.test.ts
  • apps/server/src/provider/Layers/OpenCodeAdapter.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/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/codexLaunchArgs.test.ts
  • apps/server/src/provider/Layers/codexLaunchArgs.ts
  • apps/server/src/provider/opencodeRuntime.cliParsers.test.ts
  • apps/server/src/provider/opencodeRuntime.ts
  • apps/server/src/provider/providerSnapshot.test.ts
  • apps/server/src/provider/providerSnapshot.ts
  • apps/server/src/server.test.ts
  • apps/server/src/server.ts
  • apps/server/src/serverSettings.test.ts
  • apps/server/src/textGeneration/CodexTextGeneration.test.ts
  • apps/server/src/textGeneration/CodexTextGeneration.ts
  • apps/server/src/textGeneration/OpenCodeTextGeneration.test.ts
  • apps/server/src/ws.ts
  • apps/server/vite.config.ts
  • apps/web/src/assets/assetUrls.ts
  • apps/web/src/branding.logic.ts
  • apps/web/src/branding.test.ts
  • apps/web/src/cloud/connectCliAuth.test.ts
  • apps/web/src/cloud/connectCliAuth.ts
  • apps/web/src/cloud/publicConfig.ts
  • apps/web/src/components/AppSidebarLayout.tsx
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/ComposerPromptEditor.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/SidebarStageBackdrop.tsx
  • apps/web/src/components/ThreadTerminalDrawer.tsx
  • apps/web/src/components/auth/AuthSurfaceShell.tsx
  • apps/web/src/components/chat/ChatComposer.tsx
  • apps/web/src/components/chat/ComposerBannerStack.test.tsx
  • apps/web/src/components/chat/ComposerBannerStack.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalPanel.test.tsx
  • apps/web/src/components/chat/ComposerPendingApprovalPanel.tsx
  • apps/web/src/components/chat/DraftHeroHeadline.tsx
  • 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/cloud/ConnectCliAuthSurface.tsx
  • apps/web/src/components/files/FilePreviewPanel.tsx
  • apps/web/src/components/files/fileTreeDragMention.test.ts
  • apps/web/src/components/files/projectFilesQueryState.ts
  • apps/web/src/components/preview/PreviewView.test.tsx
  • apps/web/src/components/preview/PreviewView.tsx
  • apps/web/src/components/settings/KeybindingsSettings.tsx
  • apps/web/src/components/settings/ProviderModelsSection.tsx
  • apps/web/src/components/settings/ProviderSettingsForm.test.ts
  • apps/web/src/hooks/useThreadActions.ts
  • apps/web/src/hostedPairing.ts
  • apps/web/src/index.css
  • apps/web/src/modelSelection.test.ts
  • apps/web/src/modelSelection.ts
  • apps/web/src/projectScripts.test.ts
  • apps/web/src/projectScripts.ts
  • apps/web/src/routeTree.gen.ts
  • apps/web/src/routes/__root.tsx
  • apps/web/src/routes/connect.tsx
  • apps/web/src/routes/connect_.callback.tsx
  • apps/web/src/vite-env.d.ts
  • apps/web/vite.config.ts
  • docs/operations/observability.md
  • docs/reference/scripts.md
  • packages/client-runtime/src/connection/supervisor.test.ts
  • packages/client-runtime/src/rpc/client.ts
  • packages/client-runtime/src/rpc/session.test.ts
  • packages/client-runtime/src/rpc/session.ts
  • packages/client-runtime/src/state/shell-sync.test.ts
  • packages/client-runtime/src/state/shell.ts
  • packages/client-runtime/src/state/threads-sync.test.ts
  • packages/client-runtime/src/state/threads.ts
  • packages/contracts/src/environment.ts
  • packages/contracts/src/orchestration.ts
  • packages/contracts/src/rpc.ts
  • packages/contracts/src/server.ts
  • packages/contracts/src/settings.test.ts
  • packages/contracts/src/settings.ts
  • packages/effect-codex-app-server/scripts/generate.ts
  • packages/effect-codex-app-server/src/protocol.test.ts
  • packages/shared/package.json
  • packages/shared/src/agentAwareness.ts
  • packages/shared/src/cliArgs.test.ts
  • packages/shared/src/cliArgs.ts
  • packages/shared/src/connectAuth.test.ts
  • packages/shared/src/connectAuth.ts
  • packages/shared/src/hostProcess.ts
  • packages/shared/src/model.test.ts
  • packages/shared/src/model.ts
  • packages/shared/src/remote.ts
  • patches/@react-navigation%2Fnative-stack@7.17.6.patch
  • scripts/dev-runner.test.ts
  • scripts/dev-runner.ts
  • scripts/lib/public-config.ts

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

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch yordis/chore-sync-upstream

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 size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Jul 20, 2026
@yordis
yordis merged commit f6784ca into main Jul 20, 2026
8 of 13 checks passed
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.