Skip to content

Merge upstream main and preserve Copilot provider support#53

Open
zortos293 wants to merge 278 commits intomainfrom
capy/upstream-sync-copilot-v2
Open

Merge upstream main and preserve Copilot provider support#53
zortos293 wants to merge 278 commits intomainfrom
capy/upstream-sync-copilot-v2

Conversation

@zortos293
Copy link
Copy Markdown
Owner

@zortos293 zortos293 commented Apr 18, 2026

This PR merges the latest upstream pingdotgg/t3code main into the fork while preserving GitHub Copilot as a first-class provider and reapplying fork-specific persistence and runtime fixes.

Server Runtime & Provider Layer

  • Restored Copilot adapter in ProviderAdapterRegistry.ts default adapters array and server wiring
  • Re-introduced CopilotProvider wiring in ProviderRegistry.ts with refresh/streamChanges
  • Fixed RoutingTextGeneration.ts to route unsupported providers (including Copilot) to Codex for git text generation, preserving fallback semantics
  • Updated serverSettings.ts provider order to include Copilot

Contracts & Shared Types

  • Added copilot to ProviderKind literals and CopilotModelSelection to ModelSelection union in orchestration.ts
  • Added CopilotModelOptions, provider display names, and default models in model.ts
  • Updated shared server settings migration to handle Copilot provider selection

Web UI & State

  • Restored Copilot in PROVIDER_OPTIONS and provider picker availability in session-logic.ts
  • Added Copilot-specific model option normalization in composerProviderRegistry.tsx
  • Restored logical project persistence (expansion/order via logical IDs) in uiStateStore.ts
  • Restored legacy browser client settings migration support in clientPersistenceStorage.ts

Desktop & Persistence Fixes

  • Restored fork update-channel migration semantics in desktopSettings.ts to preserve legacy latest on nightly builds

Open TC-023 TC-023

juliusmarminge and others added 30 commits March 25, 2026 23:58
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: smalitobules <207318034+smalitobules@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…SIS installer during update process (#1461)

Co-authored-by: Daniel Schwarz <daniel.schwarz@serviceware-se.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: Julius Marminge <julius0216@outlook.com>
…to open context menu (#873)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
maria-rcks and others added 8 commits April 17, 2026 15:05
…1264)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
Co-authored-by: codex <codex@users.noreply.github.com>
…al from terminal focus on Windows (#2113) (#2142)

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: Julius Marminge <julius@macmini.local>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cursor[bot] <206951365+cursor[bot]@users.noreply.github.com>
@zortos293 zortos293 added the capy Generated by capy.ai label Apr 18, 2026 — with Capy AI
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 18, 2026

Important

Review skipped

Too many files!

This PR contains 168 files, which is 18 over the limit of 150.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c811d495-5726-4500-bfa8-8509b3f1393d

📥 Commits

Reviewing files that changed from the base of the PR and between 7025d7c and fe1a33a.

⛔ Files ignored due to path filters (3)
  • bun.lock is excluded by !**/*.lock
  • packages/effect-acp/src/_generated/meta.gen.ts is excluded by !**/_generated/**
  • packages/effect-acp/src/_generated/schema.gen.ts is excluded by !**/_generated/**
📒 Files selected for processing (168)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • apps/desktop/package.json
  • apps/desktop/src/backendStartupReadiness.test.ts
  • apps/desktop/src/backendStartupReadiness.ts
  • apps/desktop/src/desktopSettings.test.ts
  • apps/desktop/src/main.ts
  • apps/desktop/tsdown.config.ts
  • apps/server/integration/OrchestrationEngineHarness.integration.ts
  • apps/server/package.json
  • apps/server/scripts/acp-mock-agent.ts
  • apps/server/scripts/cursor-acp-model-mismatch-probe.ts
  • apps/server/src/bin.ts
  • apps/server/src/checkpointing/Layers/CheckpointStore.ts
  • apps/server/src/cli.test.ts
  • apps/server/src/codexAppServerManager.test.ts
  • apps/server/src/codexAppServerManager.ts
  • apps/server/src/git/Layers/CursorTextGeneration.test.ts
  • apps/server/src/git/Layers/CursorTextGeneration.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.test.ts
  • apps/server/src/git/Layers/OpenCodeTextGeneration.ts
  • apps/server/src/git/Layers/RoutingTextGeneration.test.ts
  • apps/server/src/git/Layers/RoutingTextGeneration.ts
  • apps/server/src/git/Services/TextGeneration.ts
  • apps/server/src/orchestration/Layers/OrchestrationReactor.test.ts
  • apps/server/src/orchestration/Layers/OrchestrationReactor.ts
  • apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts
  • apps/server/src/orchestration/Layers/ProviderCommandReactor.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts
  • apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.ts
  • apps/server/src/orchestration/Layers/ThreadDeletionReactor.test.ts
  • apps/server/src/orchestration/Layers/ThreadDeletionReactor.ts
  • apps/server/src/orchestration/Services/ThreadDeletionReactor.ts
  • apps/server/src/orchestration/decider.delete.test.ts
  • apps/server/src/orchestration/decider.ts
  • apps/server/src/provider/Layers/CodexAdapter.test.ts
  • apps/server/src/provider/Layers/CopilotAdapter.test.ts
  • apps/server/src/provider/Layers/CopilotAdapter.ts
  • apps/server/src/provider/Layers/CursorAdapter.test.ts
  • apps/server/src/provider/Layers/CursorAdapter.ts
  • apps/server/src/provider/Layers/CursorProvider.test.ts
  • apps/server/src/provider/Layers/CursorProvider.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/ProviderAdapterRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderAdapterRegistry.ts
  • apps/server/src/provider/Layers/ProviderRegistry.test.ts
  • apps/server/src/provider/Layers/ProviderRegistry.ts
  • apps/server/src/provider/Layers/ProviderSessionReaper.test.ts
  • apps/server/src/provider/Layers/ProviderSessionReaper.ts
  • apps/server/src/provider/Services/CursorAdapter.ts
  • apps/server/src/provider/Services/CursorProvider.ts
  • apps/server/src/provider/Services/OpenCodeAdapter.ts
  • apps/server/src/provider/Services/OpenCodeProvider.ts
  • apps/server/src/provider/Services/ProviderAdapter.ts
  • apps/server/src/provider/acp/AcpAdapterSupport.test.ts
  • apps/server/src/provider/acp/AcpAdapterSupport.ts
  • apps/server/src/provider/acp/AcpCoreRuntimeEvents.test.ts
  • apps/server/src/provider/acp/AcpCoreRuntimeEvents.ts
  • apps/server/src/provider/acp/AcpJsonRpcConnection.test.ts
  • apps/server/src/provider/acp/AcpNativeLogging.ts
  • apps/server/src/provider/acp/AcpRuntimeModel.test.ts
  • apps/server/src/provider/acp/AcpRuntimeModel.ts
  • apps/server/src/provider/acp/AcpSessionRuntime.ts
  • apps/server/src/provider/acp/CursorAcpCliProbe.test.ts
  • apps/server/src/provider/acp/CursorAcpExtension.test.ts
  • apps/server/src/provider/acp/CursorAcpExtension.ts
  • apps/server/src/provider/acp/CursorAcpSupport.test.ts
  • apps/server/src/provider/acp/CursorAcpSupport.ts
  • apps/server/src/provider/makeManagedServerProvider.test.ts
  • apps/server/src/provider/makeManagedServerProvider.ts
  • apps/server/src/provider/opencodeRuntime.test.ts
  • apps/server/src/provider/opencodeRuntime.ts
  • apps/server/src/provider/providerSnapshot.test.ts
  • apps/server/src/provider/providerSnapshot.ts
  • apps/server/src/provider/providerStatusCache.test.ts
  • apps/server/src/provider/providerStatusCache.ts
  • apps/server/src/server.test.ts
  • apps/server/src/server.ts
  • apps/server/src/serverSettings.test.ts
  • apps/server/src/serverSettings.ts
  • apps/server/src/ws.ts
  • apps/server/tsdown.config.ts
  • apps/web/src/clientPersistenceStorage.test.ts
  • apps/web/src/components/ChatMarkdown.browser.tsx
  • apps/web/src/components/ChatMarkdown.tsx
  • apps/web/src/components/ChatView.tsx
  • apps/web/src/components/CommandPalette.logic.ts
  • apps/web/src/components/DiffPanel.tsx
  • apps/web/src/components/Icons.tsx
  • apps/web/src/components/KeybindingsToast.browser.tsx
  • apps/web/src/components/Sidebar.tsx
  • apps/web/src/components/ThreadTerminalDrawer.browser.tsx
  • apps/web/src/components/ThreadTerminalDrawer.tsx
  • apps/web/src/components/chat/ChatComposer.tsx
  • apps/web/src/components/chat/CompactComposerControlsMenu.browser.tsx
  • apps/web/src/components/chat/CompactComposerControlsMenu.tsx
  • apps/web/src/components/chat/MessagesTimeline.tsx
  • apps/web/src/components/chat/ProviderModelPicker.browser.tsx
  • apps/web/src/components/chat/ProviderModelPicker.tsx
  • apps/web/src/components/chat/TraitsPicker.browser.tsx
  • apps/web/src/components/chat/TraitsPicker.tsx
  • apps/web/src/components/chat/composerProviderRegistry.test.tsx
  • apps/web/src/components/chat/composerProviderRegistry.tsx
  • apps/web/src/components/settings/SettingsPanels.browser.tsx
  • apps/web/src/components/settings/SettingsPanels.tsx
  • apps/web/src/components/ui/toast.tsx
  • apps/web/src/composerDraftStore.test.ts
  • apps/web/src/composerDraftStore.ts
  • apps/web/src/environments/runtime/catalog.test.ts
  • apps/web/src/environments/runtime/service.test.ts
  • apps/web/src/environments/runtime/service.ts
  • apps/web/src/hooks/useHandleNewThread.ts
  • apps/web/src/hooks/useSettings.ts
  • apps/web/src/keybindings.test.ts
  • apps/web/src/localApi.test.ts
  • apps/web/src/modelSelection.ts
  • apps/web/src/modelSelectionUtils.ts
  • apps/web/src/providerModels.ts
  • apps/web/src/routes/settings.tsx
  • apps/web/src/rpc/serverState.test.ts
  • apps/web/src/session-logic.test.ts
  • apps/web/src/session-logic.ts
  • apps/web/src/store.test.ts
  • apps/web/src/store.ts
  • apps/web/src/uiStateStore.test.ts
  • apps/web/src/uiStateStore.ts
  • package.json
  • packages/contracts/src/model.test.ts
  • packages/contracts/src/model.ts
  • packages/contracts/src/orchestration.ts
  • packages/contracts/src/provider.test.ts
  • packages/contracts/src/provider.ts
  • packages/contracts/src/providerRuntime.ts
  • packages/contracts/src/server.test.ts
  • packages/contracts/src/settings.ts
  • packages/effect-acp/package.json
  • packages/effect-acp/scripts/generate.ts
  • packages/effect-acp/src/_internal/shared.ts
  • packages/effect-acp/src/_internal/stdio.ts
  • packages/effect-acp/src/agent.test.ts
  • packages/effect-acp/src/agent.ts
  • packages/effect-acp/src/client.test.ts
  • packages/effect-acp/src/client.ts
  • packages/effect-acp/src/errors.ts
  • packages/effect-acp/src/protocol.test.ts
  • packages/effect-acp/src/protocol.ts
  • packages/effect-acp/src/rpc.ts
  • packages/effect-acp/src/schema.ts
  • packages/effect-acp/src/terminal.ts
  • packages/effect-acp/test/examples/cursor-acp-client.example.ts
  • packages/effect-acp/test/fixtures/acp-mock-peer.ts
  • packages/effect-acp/tsconfig.json
  • packages/shared/package.json
  • packages/shared/src/model.test.ts
  • packages/shared/src/model.ts
  • packages/shared/src/serverSettings.test.ts
  • packages/shared/src/serverSettings.ts
  • packages/shared/src/toolActivity.test.ts
  • packages/shared/src/toolActivity.ts
  • scripts/build-desktop-artifact.test.ts
  • scripts/build-desktop-artifact.ts
  • scripts/dev-runner.test.ts
  • scripts/mock-update-server.test.ts
  • scripts/mock-update-server.ts
  • scripts/release-smoke.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:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch capy/upstream-sync-copilot-v2

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 and usage tips.

Copy link
Copy Markdown
Contributor

@capy-ai capy-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added 8 comments

Comment thread packages/contracts/src/provider.ts
Comment thread apps/server/src/provider/Layers/CopilotAdapter.ts Outdated
Comment thread apps/web/src/uiStateStore.ts
Comment thread apps/web/src/uiStateStore.ts Outdated
Comment thread apps/server/src/git/Layers/RoutingTextGeneration.ts Outdated
Comment thread apps/server/src/provider/providerStatusCache.ts Outdated
Comment thread apps/server/src/ws.ts
Comment thread apps/web/src/store.ts Outdated
zortos293 and others added 2 commits April 18, 2026 10:51
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Comment thread packages/contracts/src/model.ts
Comment thread apps/server/src/codexAppServerManager.ts
Comment thread apps/server/src/git/Layers/RoutingTextGeneration.ts
Comment thread apps/server/src/ws.ts Outdated
Comment thread apps/server/src/provider/providerStatusCache.ts Outdated
Comment thread apps/server/src/provider/providerStatusCache.ts
Comment thread apps/web/src/session-logic.ts
Comment thread apps/server/src/ws.ts
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Comment thread packages/shared/src/shell.ts Outdated
Comment thread apps/server/src/provider/cliVersion.ts Outdated
Comment thread packages/shared/src/cliArgs.ts Outdated
Comment thread apps/server/src/provider/acp/AcpSessionRuntime.ts Outdated
Comment thread apps/server/src/git/Layers/RoutingTextGeneration.ts
Comment thread apps/server/src/ws.ts
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capy Generated by capy.ai size:XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.