Uh oh!
There was an error while loading. Please reload this page.
Honor configured protocol for automatic repository clones - #4205
Honor configured protocol for automatic repository clones#4205MisterJimson wants to merge 3 commits into
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This PR introduces new runtime behavior by querying You can add or adjust custom eligibility rules. Learn more. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 2dc2225. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
t3dotgg
commented
Aug 23, 2026
Note 🤖 GPT-5.6 Sol responding on behalf of Theo Closing this PR after an automated pass over open pull requests. Contradicts the repository clone protocol policy established in #7760. |

Summary
git_protocolsetting for automatic clonesWhy
The Create & Clone UI passed
repository.sshUrldirectly to the clone operation, bypassing the existingautoprotocol path. Remote servers authenticated withghover HTTPS but without a GitHub SSH key therefore failed to clone private repositories even though HTTPS access was valid.The UI now submits the provider and repository identity with
protocol: "auto". For GitHub, repository lookup readsgh config get git_protocol --host <host>and carries that preference into clone selection. A reported SSH preference still uses SSH, a reported HTTPS preference uses HTTPS, and an unavailable preference falls back to HTTPS instead of recreating the original authentication failure.Explicit URL clones remain unchanged.
Fixes#4203.
Testing
vp test run apps/server/src/sourceControl/GitHubCli.test.ts apps/server/src/sourceControl/SourceControlRepositoryService.test.ts apps/web/src/components/CommandPalette.logic.test.ts(22 tests passed)pnpm --filter @t3tools/contracts typecheckpnpm --filter t3 typecheckpnpm --filter @t3tools/web typecheckAn isolated UI smoke-test startup was attempted, but this nightly checkout's Vite+ dev server is independently blocked by
Tsconfig not found @tsconfig/node24/tsconfig.json.Note
Medium Risk
Changes clone URL selection for provider-based clones, which can affect how private repos authenticate (HTTPS vs SSH). Explicit protocol and URL clones stay the same.
Overview
Create & Clone no longer hardcodes SSH. Looked-up repos now clone with
protocol: "auto"so GitHub’s per-hostgh config git_protocolcan choose HTTPS vs SSH.GitHub lookup reads
gh config get git_protocol --host <host>and attaches optionalpreferredProtocol. Auto clones use SSH only when that preference isssh; otherwise they use HTTPS (including when config is missing). Explicit HTTPS/SSH and raw clone URLs are unchanged.Reviewed by Cursor Bugbot for commit 6a164a7. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Honor configured
git_protocolfor automatic repository clonesGitHubCli.Service.getRepositoryCloneUrlsnow runs an extragh config get git_protocol --host <host>lookup and attachespreferredProtocol("ssh" | "https") to the returned clone URLs. Errors during this step are tolerated.selectRemoteUrlchanges automatic protocol selection: SSH is only chosen whenpreferredProtocolis explicitly "ssh"; otherwise HTTPS is used. Explicit "ssh"/"https" branches are unchanged.getCloneSourceInputhelper withprotocol: "auto".preferredProtocolfield toSourceControlRepositoryCloneUrlsandSourceControlRepositoryInfo.ghconfig explicitly setsgit_protocolto SSH for the host. ReviewselectRemoteUrlin SourceControlRepositoryService.ts.Macroscope summarized 6a164a7.