Skip to content

Commit c54a7dc

Browse files
authored
Fix focus view refresh (#8460)
* Fix focus view refresh * Move clear * Also finally * Copilot PR feedback
1 parent 96adb0b commit c54a7dc

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

src/github/activityBarViewProvider.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,12 @@ export class PullRequestViewProvider extends WebviewViewBase implements vscode.W
203203
this._folderRepositoryManager.mergeQueueMethodForBranch(pullRequestModel.base.ref, pullRequestModel.remote.owner, pullRequestModel.remote.repositoryName),
204204
ensureEmojis(this._folderRepositoryManager.context),
205205
]);
206-
this._updatingPromise = updatingPromise;
206+
const clearingPromise = updatingPromise.finally(() => {
207+
if (this._updatingPromise === clearingPromise) {
208+
this._updatingPromise = undefined;
209+
}
210+
});
211+
this._updatingPromise = clearingPromise;
207212
const [pullRequest, repositoryAccess, timelineEvents, requestedReviewers, branchInfo, defaultBranch, currentUser, viewerCanEdit, hasReviewDraft, coAuthors, mergeQueueMethod] = await updatingPromise;
208213

209214
if (!pullRequest) {

src/github/pullRequestOverview.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,12 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
279279
pullRequestModel.validateDraftMode(),
280280
this._folderRepositoryManager.getAssignableUsers()
281281
]);
282-
this._updatingPromise = updatingPromise;
282+
const clearingPromise = updatingPromise.finally(() => {
283+
if (this._updatingPromise === clearingPromise) {
284+
this._updatingPromise = undefined;
285+
}
286+
});
287+
this._updatingPromise = clearingPromise;
283288

284289
const [
285290
pullRequest,
@@ -300,7 +305,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
300305
hasReviewDraft,
301306
assignableUsers
302307
] = await updatingPromise;
303-
this._updatingPromise = undefined;
308+
304309
if (!pullRequest) {
305310
throw new Error(
306311
`Fail to resolve Pull Request #${pullRequestModel.number} in ${pullRequestModel.remote.owner}/${pullRequestModel.remote.repositoryName}`,

0 commit comments

Comments
 (0)