Skip to content

feat(web): adopt upstream pull request surfaces - #13

Closed
rynfar wants to merge 3 commits into
upstream/2026-08-13-batchfrom
upstream/2026-08-13-pr-surfaces
Closed

feat(web): adopt upstream pull request surfaces#13
rynfar wants to merge 3 commits into
upstream/2026-08-13-batchfrom
upstream/2026-08-13-pr-surfaces

Conversation

@rynfar

@rynfar rynfar commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Adopts upstream's pull request surfaces work (#6039) and the follow-up that scopes its errors per environment (#6490).

Stacked on #12 — based on upstream/2026-08-13-batch, so review that one first. GitHub will retarget this to pylon once #12 merges. Split out because #6039 is 86 files and ~12k lines and deserves its own review pass.

What's here

#6039 is upstream's flagship pull request work for this period. It builds on the PR surfaces Pylon already inherited:

  • Filters and qualifiers in the list, with an all-server listing so one page reads every connected environment rather than only the primary one
  • Update branch action, reactions, and in-place editing of a pull request's title, description, and your own comments, in Markdown with a preview
  • A checks popover and smarter diff file ordering
  • Provider coverage across GitHub, GitLab, Bitbucket, and Azure DevOps. Azure DevOps accepts a new title and description; its comments stay read-only, as they already were

#6490 then scopes pull request errors to the environment that produced them, which only makes sense once the list spans several.

Pylon adaptations

One commit at the end:

  • The one conflict was SidebarChrome.tsx, where Pylon gated the pull requests link on the primary environment's capability and upstream widens it to any connected one. Resolved toward upstream, since all-server listing is the feature.
  • Upstream's resolution also added a useLocation subscription to derive which footer page is open. Pylon's footer already derives exactly that from its own pathname/onFooterPage, and upstream only uses the value as a boolean, so I dropped the duplicate rather than run two router subscriptions in the sidebar footer.
  • Rebranded Update your T3 Code servers to browse pull requests. to say Pylon, plus the command palette test fixtures.
  • Turned four repeatedly-scanned arrays into sets (labels in three filter paths, statuses in the checks reducer). These are scanned once per filter per row, so the list pays for them.

Two react(no-array-index-key) warnings remain in PullRequestChecksPopover.tsx and PullRequestSummaryTab.tsx. Both are deliberate upstream choices with comments explaining them: the host decides how many check runs share a name, so position disambiguates and the index is a suffix on a name-and-url key rather than the key itself. I left that reasoning intact instead of papering over it.

Verification

  • vp test run over all 30 touched test files: 887 passed.
  • Typecheck on @t3tools/web, t3, @t3tools/contracts, @t3tools/client-runtime: no errors. Remaining diagnostics are pre-existing suggestion-level Effect hints, shifted to new line numbers by this commit's additions.
  • vp lint over the changed files: clean apart from the two documented warnings above. Baseline for these files before #6039 was clean, so those two are the only lint delta.

Not verified in a real client. This is the change set in this batch that most deserves a browser pass — filters, editing, reactions, and the all-server list are all interactive. Say the word and I'll run one.

Model: Claude Opus 5. Harness: Claude Code.


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

@github-actions github-actions Bot added size:XXL vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. labels Aug 13, 2026
@rynfar
rynfar force-pushed the upstream/2026-08-13-pr-surfaces branch 2 times, most recently from 7b9b57a to c812e56 Compare August 13, 2026 22:37
@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown

Thread transfer impact

⚠️ The latest CI run did not produce a thread transfer result for d5ee980.

This comment will update automatically after the next completed run.

Bil0000 and others added 3 commits August 13, 2026 17:16
…isting, update branch, reactions, in-place editing, smarter diffs (#6039)

Co-authored-by: Julius Marminge <julius0216@outlook.com>
(cherry picked from commit b28f9bf0a1bd562623c027c5ed80b5ca50395b28)
Co-authored-by: Julius Marminge <julius0216@outlook.com>
(cherry picked from commit 92d4a2e996b19239d95e32a3feb05208e0a52306)
Rebrand the pull request server-capability copy, drop the redundant footer
route subscription the sidebar already derives from its own pathname, and
turn four repeatedly-scanned label and status arrays into sets.
@rynfar
rynfar force-pushed the upstream/2026-08-13-batch branch from 2202c87 to 4e38560 Compare August 13, 2026 23:16
@rynfar
rynfar force-pushed the upstream/2026-08-13-pr-surfaces branch from c812e56 to d5ee980 Compare August 13, 2026 23:16
@rynfar
rynfar deleted the branch upstream/2026-08-13-batch August 13, 2026 23:26
@rynfar rynfar closed this Aug 13, 2026
@rynfar

rynfar commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #14. This PR was auto-closed when its base branch upstream/2026-08-13-batch was deleted on merge of #12; a closed PR's base cannot be retargeted, so the same three commits were rebased onto the merged pylon and reopened as #14.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

3 participants