Repository navigation
fix(web): retain Forgejo PR detail across custom ports - #861
Conversation
Adapt upstream d612d12b8bb278af97b0029f8d48b2403a5f9ee6 for Pylon cache display. Forgejo reference authorities include their web port, while ordinary providers remain hostname keyed.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 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.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
Isolated browser evidence for #861 at final head
|


Forgejo pull request links can include a custom web port, such as
forgejo.example.com:3000. After reopening a PR panel, cached detail failed its host check becauseURL.hostnamedrops the explicit port. A second entry path, including SSH-backed thread links, can carry onlyforgejo.example.com; those references must continue to accept a cached URL on that host even when its web server uses a custom port.For Forgejo, compare the full URL authority when the reference names a port. Compare the hostname when the reference has no port. This preserves explicit port isolation and the existing portless thread-link behavior. GitHub and GitLab continue to use hostname matching. Focused regressions cover matching and mismatched Forgejo ports, portless references, another host, and ordinary providers.
Adapted from upstream
d612d12b8bb278af97b0029f8d48b2403a5f9ee6(#12168) for Pylon's existing cache path. The portless-reference case was added after adversarial review of this PR.Validation at
c00f1cc60fb10f92385ebab0eb2b7b81040f90bd:vp test run apps/web/src/components/pullRequest/pullRequestDetail.logic.test.ts(126 passed);vp run -F @t3tools/web typecheck;vp checkon both changed files. Isolated browser before/after evidence is attached in the PR comment. The same synthetic Forgejo :3000 snapshot is discarded on basepylonand retained on this head while the unconfigured live Forgejo CLI read fails. No live Forgejo account was used.Model: GPT-6 Sol (low), with independent GPT-6 Sol (low) adversarial review. Harness: Pylon Codex.