Skip to content

fix(pullRequest): refine self-hosted GitHub remotes and support fallback URLs - #722

Merged
rynfar merged 2 commits into
pylonfrom
fix/issue-155-self-hosted-github-fallback
Sep 21, 2026
Merged

rynfar merged 2 commits into
pylonfrom
fix/issue-155-self-hosted-github-fallback

Conversation

@rynfar

@rynfar rynfar commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #155

Summary

  • GitHub CLI discovery: Implemented and registered refineUnknownRemote on GitHubSourceControlProvider. It parses authenticated accounts from gh auth status --json hosts and checks against unknown remote hosts (case-insensitively).
  • Server repository identity propagation: In PullRequestService.listWorkspaceProjects, propagated the refined provider kind onto project.repositoryIdentity.provider when a remote is refined.
  • Provider-aware browser fallback: Added fallbackPullRequestBrowserUrl in packages/shared/src/changeRequestUrl.ts to generate provider-appropriate URLs and labels (Open on GitHub, Open on GitLab, Open on Bitbucket, Open on Azure DevOps) when provider kind is known or refined, and return null when unknown.
  • Client fallback: Updated apps/web/src/state/pullRequests.ts to observe and expose provider summaries. Updated PullRequestsUnavailableState to accept an externalLink with label and URL. Updated PullRequestDetailPanel, ChatView, and useOpenPanelPullRequestUrl to use fallbackPullRequestBrowserUrl so verified self-hosted GitHub and GitLab pull requests can be opened externally in unavailable states, while omitting the button when provider is truly unknown.

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…ack URLs

- Register refineUnknownRemote on GitHubSourceControlProvider to test authenticated hosts from gh auth status
- Propagate refined provider kind to project repository identity in PullRequestService
- Add fallbackPullRequestBrowserUrl and externalLink support in web client so self-hosted GitHub and GitLab pull requests can be opened externally in unavailable states
- Closes #155
@vercel

vercel Bot commented Sep 21, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pylon-marketing Ignored Ignored Preview Sep 21, 2026 11:11pm UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Sep 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.9 KiB 14.0 KiB +36 B (+0.3%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB +6 B (+0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB +30 B (+0.4%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB 0 B (0.0%) 66.4 KiB ✅
Codex Live turn messages 9 9 0 (0.0%) 21 ✅
Claude Total thread wire 14.0 KiB 14.0 KiB +11 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB −2 B (−0.0%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.8 KiB 6.8 KiB +13 B (+0.2%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.9 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: cd4e425 · PR result: 49615a2 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 115.7 KiB
  • Claude decoded thread snapshot: 116.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 84f540c into pylon Sep 21, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 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.

Open on GitHub is missing for self-hosted GitHub installs

1 participant