Skip to content

fix(review): load private GitHub PR images and videos - #629

Merged
rynfar merged 3 commits into
pylonfrom
upstream/2026-09-18-pr-media
Sep 18, 2026
Merged

rynfar merged 3 commits into
pylonfrom
upstream/2026-09-18-pr-media

Conversation

@rynfar

@rynfar rynfar commented Sep 18, 2026 •

Copy link
Copy Markdown
Collaborator

Private GitHub screenshots and recordings in PR descriptions/comments currently load without credentials and can return 404. Route supported GitHub media through short-lived signed Pylon asset URLs, using the active GitHub CLI account on the repository's environment. Images preserve authored sizing, original links, retries and older-server public fallback; videos stream range responses for seeking.

Adopts maria / maria-rcks's upstream work in 32e8b2584556c0c55ce0d1d8f72b506cb771d60d (#11706), retaining original authorship and coauthor credit. Pylon adaptations preserve local path restrictions, context rendering and provider behavior. Direct adversarial review removed the process-global token cache so account changes/logout apply to the next request, restricted redirects to GitHub media/CDN hosts, stripped credentials on signed CDN hops, and kept credential-bearing failures out of logs. GitHub Enterprise media is unsupported; no account-routing feature imported.

Validation: 37 AssetAccess tests, 11 HTTP transport regressions (including malformed/unsafe redirects, account credential handling, range streaming, MIME and SVG sandbox), and 100 markdown regressions pass. Scoped server, web, contracts, client-runtime and mobile typechecks passed; scoped lint passes with existing warnings. Account switch/login/logout regression is in AssetAccess tests. Browser screenshots and playback recording are attached; real private-repository delivery is covered by controlled transport tests, not claimed as a live private-repository check.

Rebased onto merged #626: 64 integrated asset/transport/CLI regressions and the server typecheck pass; the conflict preserves the merged quota guards and environment forwarding.

Part of #625. No release or installation.

Implemented and adversarially self-reviewed with Codex (GPT-6), without delegation at the maintainer's request.

@vercel

vercel Bot commented Sep 18, 2026 •

Copy link
Copy Markdown

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

Project Deployment Actions Updated
pylon-marketing Ready Ready Preview Sep 18, 2026 3:26pm UTC

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL labels Sep 18, 2026
maria-rcks and others added 3 commits September 18, 2026 09:22
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 32e8b2584556c0c55ce0d1d8f72b506cb771d60d)
@rynfar
rynfar force-pushed the upstream/2026-09-18-pr-media branch from 832493b to 9bcbf71 Compare September 18, 2026 15:23
@rynfar

rynfar commented Sep 18, 2026

Copy link
Copy Markdown
Collaborator Author

Browser verification on 832493b: six public GitHub fixture images loaded through signed Pylon asset URLs; expanded image preview and video playback worked. The recording shows six seconds of continuous proxied playback. Private access, login/account switch/logout, unsafe redirects, credential stripping and range responses are covered by controlled transport regressions; this is not a claim of live private-repository testing.

Attachments: baseline, updated image preview, updated video, playback recording.

media-before media-after-preview media-after-video
media-playback.mp4

Rebased onto merged #626 afterward; media UI unchanged. The CLI conflict retains #626’s environment forwarding and quota guards. Final-head CI and integrated media/CLI regressions are required before merge.

@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 14.0 KiB 13.9 KiB −56 B (−0.4%) 15.1 KiB ✅
Codex Thread snapshot wire 7.2 KiB 7.2 KiB −4 B (−0.1%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.7 KiB 6.7 KiB −52 B (−0.8%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 58.0 KiB 58.0 KiB −44 B (−0.1%) 66.4 KiB ✅
Codex Live turn messages 9 8 −1 (−11.1%) 21 ✅
Claude Total thread wire 14.0 KiB 13.9 KiB −63 B (−0.4%) 15.1 KiB ✅
Claude Thread snapshot wire 7.2 KiB 7.2 KiB +4 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.8 KiB 6.7 KiB −67 B (−1.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 58.9 KiB 58.8 KiB −44 B (−0.1%) 66.4 KiB ✅
Claude Live turn messages 9 8 −1 (−11.1%) 21 ✅

Baseline: 6d8ebeb · PR result: 9bcbf71 · 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 b8a1c4e into pylon Sep 18, 2026
20 checks passed
@rynfar
rynfar deleted the upstream/2026-09-18-pr-media branch September 18, 2026 15:34

This branch was successfully deployed

1 active deployment
Preview — 9bcbf717 Deployed Sep 18, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

2 participants