Repository navigation
🐛 Load descriptions before the first overview render - #9054
John Wooten (JFWooten4) wants to merge 3 commits into
Conversation
Co-authored-by: Codex <noreply@openai.com>
Discard description and initialization results after an overview closes or a newer request replaces it, and add GraphQL hydration and race regression coverage. Co-authored-by: Codex Web <noreply@openai.com>
There was a problem hiding this comment.
🟢 Approval recommended
The implementation addresses the blank-description race with focused safeguards and comprehensive regression tests.
0 open findings
What changed in this PR
Ensures pull request descriptions are hydrated before the overview’s initial render while preventing stale asynchronous updates.
Changes:
- Fetches missing rendered description HTML before initialization.
- Adds stale-update and disposal guards.
- Adds regression coverage for hydration, failures, and races.
| File | Description |
|---|---|
src/github/pullRequestOverview.ts |
Hydrates descriptions and guards asynchronous updates. |
src/test/github/pullRequestOverview.test.ts |
Covers description loading and stale-result scenarios. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
John Wooten (JFWooten4)
left a comment
There was a problem hiding this comment.
@microsoft-github-policy-service agree
Integrate description hydration and stale-update guards with the latest upstream stack-prefetch workflow. Retain upstream changes and carry forward description and race regression tests. Co-authored-by: ChatGPT 6 <noreply@openai.com>
|
John Wooten (@JFWooten4) please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
| try { | ||
| // PR list models may contain Markdown without rendered description HTML. | ||
| // Resolve it before the initial webview context is sent. | ||
| if (pullRequestModel.body?.trim() && !pullRequestModel.bodyHTML?.trim()) { |
| if (isStale()) { | ||
| return; | ||
| } |

Possibly related to #9049: pull request descriptions load after the overview is initially rendered, so descriptions appear blank.
Output
The changes also guards against stale asynchronous results to prevent outdated data from updating a closed or superseded overview.