Skip to content

fix(web): keep proactive PR panels visible when opening links - #579

Merged
incognitojam merged 1 commit into
mainfrom
styal/pr-panel-refresh-blank
Oct 1, 2026
Merged

incognitojam merged 1 commit into
mainfrom
styal/pr-panel-refresh-blank

Conversation

@incognitojam

@incognitojam incognitojam commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

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 5cc99e1 still has the host-dependent component key and URL-only proactive reference.

Before clicking the link After the fix
Loaded content disappears Loaded content remains visible

Before:

pr-panel-before.mp4

After:

pr-panel-after.mp4

Written by an agent (Codex, GPT-6).

@incognitojam incognitojam added the preview:web Deploy a hosted-web preview to Cloudflare Workers for this PR on every push. label Oct 1, 2026
@github-actions github-actions Bot added the size:S label Oct 1, 2026
@github-actions

github-actions Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Web preview

The preview was removed because this PR closed or the preview label was removed.

@incognitojam
incognitojam merged commit 9f3456c into main Oct 1, 2026
24 checks passed
@incognitojam
incognitojam deleted the styal/pr-panel-refresh-blank branch October 1, 2026 13:21

This branch was successfully deployed

1 active deployment
web-preview — ad17b88d Deployed Oct 1, 2026 by incognitojam via Remove web preview #267
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

preview:web Deploy a hosted-web preview to Cloudflare Workers for this PR on every push. size:S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant