Repository navigation
fix(web): keep proactive PR panels visible when opening links - #579
Merged
Merged
Conversation
Web previewThe preview was removed because this PR closed or the preview label was removed. |
This was referenced Oct 1, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
TL;DR: Clicking a link to the PR you already have open should simply select its tab. Previously, the app treated that same PR as something new and briefly cleared the panel while loading it again. This fix keeps the content and selected tab in place.
Clicking a chat link to a pull request already opened by proactive panels replaced its loaded content with a full-panel loading skeleton. The tab ID stayed the same, but adding the explicit host changed the React key and query/snapshot cache keys, remounting the panel and issuing new reads.
Resolve the host from the linked PR URL before rendering. Migrate saved URL-only panels while preserving their existing tab IDs and active selection. Clicking the same PR now keeps its loaded content and selected tab visible.
Validation: reproduced the loading skeleton on the original code in an isolated web client with synthetic chat content and public PR metadata. With the fix, the loaded heading remained mounted, clicking the link sent no new PR reads, and the selected Checks tab remained selected. Reloading a version-13 URL-only panel resolved its host and preserved its active selection even with a preceding Diff tab. No browser console errors occurred. All 208 focused store, PR-link, and detail-logic tests passed, along with web typecheck and scoped lint. Web and desktop share this store; the native desktop shell was not separately exercised. Mobile uses separate navigation. Current upstream main at
5cc99e1still has the host-dependent component key and URL-only proactive reference.Before:
pr-panel-before.mp4
After:
pr-panel-after.mp4
Written by an agent (Codex, GPT-6).