Repository navigation
Merge upstream/main be1d066732 into coder-only (sync stage 2: forge definitions) - #254
Merged
Merged
Conversation
…ingdotgg#23992) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…sitory keys (pingdotgg#23993) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…st media (pingdotgg#23994) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…hooks (pingdotgg#23995) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…abilities (pingdotgg#23996) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…uming GitHub (pingdotgg#23997) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…tions (pingdotgg#23998) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#24000) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…nt/ (pingdotgg#24181) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…t quirks (pingdotgg#24288) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…rd is closed (pingdotgg#24363) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…with the sidebar collapsed (pingdotgg#23839) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#23676) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…to the delegator (pingdotgg#23795) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#24404) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…24405) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…iet (pingdotgg#24334) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…gdotgg#24406) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ingdotgg#24534) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
… error after the SDK's late resume (pingdotgg#24231) Co-authored-by: PR Batch Tester <agent@local.test> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Stage 2 of the eb1510d → be1d066 sync: upstream's forge-definitions refactor (pingdotgg#23992–pingdotgg#24288) and the 11 commits after it. The refactor moves per-host behaviour into each forge's shared definition and server driver, read through one registry in the new @t3tools/source-control-definitions package. T3 Coder carries that package with only GitLab's definition, so most GitLab shims the fork kept are now expressed by upstream's hooks and are dropped: - Host terminology ("MR", "merge request") comes from GitLab's definition on most surfaces (pingdotgg#23999); `!N` is still applied by hand. - GitManager reads merge request heads from GitLab's changeRequestHeadRef; upstream's targetsOnlyRemote is carried (createsChangeRequestsIn). - VcsProcess's semaphore and glab failure classification come from the per-call concurrency and classifyFailure hooks. - Icons, clone/publish pickers, settings search, and project matching read the definitions; client-runtime's sourceControlClients is upstream's. - PullRequestService's unknown-kind and Forgejo SSH-alias refinements are replaced by upstream's resolveRemoteWebHost and the identity refine hook. GitLab seams moved into the new layout: the any-host merge request reference URL, author profile links, and !N/#N/commit autolinks (referenceAutolinks) in GitLab's shared definition; the credential check that replaced shared/changeRequestUrl.ts in the registry's parseChangeRequestUrl; the GitLab-or-unknown project filter in client-runtime changeRequestLinks.ts. Cut as before: GitHub, Forgejo, Bitbucket, Azure DevOps, and GitCafe packages and definitions; cross-environment pull request routing and its settings; host token, account, and host-settings forms; credentialed host media (SOURCE_CONTROL_MEDIA_ASSET); mobile, desktop, relay, Cursor. Conflicts were resolved by hand for manifests, lockfile, docs, and the definitions package, and in four parallel groups for the server git layer, the rest of the server with contracts and shared, the web merge request UI, and client-runtime with the web shell. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The ed3f965 sync dropped RepositoryIdentityResolver's refine option, and the helper built the resolver without upstream's refine step. Upstream now relies on it: pingdotgg#23993–pingdotgg#24288 removed PullRequestService's unknown-kind refinement in favour of each host's refineRepositoryIdentity, which for GitLab confirms a self-hosted host whose hostname lacks "gitlab" through its glab login. Restore upstream's resolver, carry server.ts's layerRepositoryIdentityResolver, and use it in coderServer.ts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- linkCreatedPullRequest.test.ts reads hosts from GitLab merge request URLs; GitHub URLs no longer parse. - PullRequestSyncReactor.test.ts runs its close-command case on glab mr merge and glab mr close, the only host close command carried, and drops the native stack auto-link test, which builds layer URLs from GitHub's uncarried definition. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RepositoryIdentityResolver.layer (the helper uses server.ts's refining layer), and the source control icon, credential-settings, authority, and fake-driver helpers in client-runtime, core, and testing that only the cut forges and settings call. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stage 2 of the eb1510d → be1d066 upstream sync: upstream's forge-definitions refactor (pingdotgg#23992–pingdotgg#24288) and the 11 commits after it. Stage 1 was #253.
What changed
Upstream moved per-host behaviour into each forge's shared definition and server driver, read through one registry in the new
@t3tools/source-control-definitionspackage. T3 Coder carries that package with only GitLab's definition, so most fork GitLab shims are now expressed by upstream's hooks and are gone:!Nis still applied by hand.changeRequestHeadRef; upstream'stargetsOnlyRemoteis carried.concurrency/classifyFailurehooks.sourceControlClients.tsis upstream's.GitLab seams moved into the new layout (marked
Coder:):referenceAutolinks(!N,#N, commit SHAs under/-/), so upstream's host-neutral web autolinker is carried unchanged.parseChangeRequestUrlrejects URLs carrying credentials (replaces the deletedshared/changeRequestUrl.tsseam).changeRequestLinks.ts.Still cut: GitHub/Forgejo/Bitbucket/Azure DevOps/GitCafe packages and definitions, cross-environment pull request routing and its settings, host token/account/host-settings forms, credentialed host media (
SOURCE_CONTROL_MEDIA_ASSET), mobile/desktop/relay/Cursor.Found and fixed
RepositoryIdentityResolver'srefineoption and the helper never wired upstream's refine step. Upstream now relies on it (GitLab confirms a self-hosted host whose hostname lacks "gitlab" throughglab auth status) after deletingPullRequestService's unknown-kind refinement. Restored and wired intocoderServer.ts.Behaviour change to note
owner/repoclone shorthand now becomesgit@gitlab.com:owner/repo.git(upstream takes the first registered host's default transport; before, it produced GitHub over HTTPS).Verification
pnpm test:coder: every package passes. The one failure under full load is weblocalApi.test.ts's afterEach hook timeout, a known flake listed in Tests that flake under full-suite load #236; it passes alone and the unit project passes alone (244 files).AGENTS.mdtypechecks (+source-control-definitions),pnpm knip:check, unused-locals check,pnpm build,vp fmt --checkover changed files🤖 Generated with Claude Code