Uh oh!
There was an error while loading. Please reload this page.
fix(web): reuse pull request list data while loading - #9467
Conversation
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5e61e63. Configure here.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — This is a localized, self-contained loading-state improvement that reuses already-visible pull-request row data while leaving detail fetching and actions unchanged. A known transient conflict-status presentation gap remains in the seeded ghost, but its impact is limited to the loading display. Notes:
You can add or adjust custom eligibility rules. Learn more. |
Uh oh!
There was an error while loading. Please reload this page.
## What's Changed * fix(web): make right panel tabs easier to scroll by @maria-rcks in pingdotgg/t3code#9461 * fix(web): render transparent previews on white by @UtkarshUsername in pingdotgg/t3code#9463 * fix(mobile): show loading and syncing in the working pill by @juliusmarminge in pingdotgg/t3code#9466 * fix(server): keep a/ and b/ prefixes in rendered git patches by @Mnigos in pingdotgg/t3code#9438 * fix(server): full-access OpenCode threads no longer ask for approvals by @shivamhwp in pingdotgg/t3code#9282 * fix(web): reuse pull request list data while loading by @maria-rcks in pingdotgg/t3code#9467 * feat(web): let users turn off composer collapse on blur and scroll by @juliusmarminge in pingdotgg/t3code#9469 ## New Contributors * @Mnigos made their first contribution in pingdotgg/t3code#9438 **Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260903.1272...v0.0.39-nightly.20260903.1273 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1273

Opening a loaded pull request discarded its row metadata and replaced the panel with a full skeleton while the richer detail request ran. This reuses the matching list entry immediately while retaining the detail request only for fields absent from the list. Verified with the web typecheck, targeted lint, diff checks, and the exact list-to-detail browser transition.
Before
play the before video
After
play the after video
Built by gpt-5.6-sol in the Codex harness.
Note
Low Risk
Presentation-only loading UX; no changes to fetch logic, actions, or security-sensitive paths.
Overview
Opening a pull request from the list no longer swaps the detail panel to a full skeleton while the richer detail request runs. The pull-requests page now passes the matching list row into
PullRequestDetailPanel, which only accepts it when project, repository (case-insensitive), and number align with the panel reference.While detail is still pending,
PullRequestDetailGhostcan take that row as a seed and render real header/summary fields—title, author, branches, diff stats, checks, labels, and similar—instead of placeholder bars, and it skips the skeleton pulse when seeded. Areas that still need detail (e.g. description body, lower sections) keep ghost bars until load completes.Deep links or opens without a list row behave as before: an unseeded ghost with the animated skeleton.
Reviewed by Cursor Bugbot for commit d1df036. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Reuse pull request list data while loading
PullRequestDetailPanelAdds an optional pull-request list entry prop to
PullRequestDetailPanel. The component validates that the entry matches the requested project, repository, and number (repository names compared case-insensitively), then seeds the loading ghost with the list row's identity and summary data while the full detail is pending.Macroscope summarized d1df036.