Skip to content

Commit 3ae5f8a

Browse files
authored
Unassigning myself from a PR removes all comments from the PR editor (#7261)
Fixes #7218
1 parent 777f975 commit 3ae5f8a

File tree

2 files changed

+17
-9
lines changed

2 files changed

+17
-9
lines changed

src/github/issueOverview.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
341341
...comment,
342342
event: EventType.Commented
343343
};
344-
const allEvents = await this._item.githubRepository.getIssueTimelineEvents(this._item);
344+
const allEvents = await this._getTimeline();
345345
const reply: SubmitReviewReply = {
346346
events: allEvents,
347347
reviewedEvent: commentedEvent,
@@ -446,6 +446,10 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
446446
});
447447
}
448448

449+
protected _getTimeline(): Promise<TimelineEvent[]> {
450+
return this._item.githubRepository.getIssueTimelineEvents(this._item);
451+
}
452+
449453
private async changeAssignees(message: IRequestMessage<void>): Promise<void> {
450454
const quickPick = vscode.window.createQuickPick<vscode.QuickPickItem & { user?: IAccount }>();
451455

@@ -469,7 +473,7 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
469473
if (allAssignees) {
470474
const newAssignees: IAccount[] = allAssignees.map(item => item.user);
471475
await this._item.replaceAssignees(newAssignees);
472-
const events = await this._item.githubRepository.getIssueTimelineEvents(this._item);
476+
const events = await this._getTimeline();
473477
const reply: ChangeAssigneesReply = {
474478
assignees: newAssignees,
475479
events
@@ -536,7 +540,7 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
536540
const newAssignees = (this._item.assignees ?? []).concat(currentUser);
537541
await this._item.replaceAssignees(newAssignees);
538542
}
539-
const events = await this._item.githubRepository.getIssueTimelineEvents(this._item);
543+
const events = await this._getTimeline();
540544
const reply: ChangeAssigneesReply = {
541545
assignees: this._item.assignees ?? [],
542546
events
@@ -554,7 +558,7 @@ export class IssueOverviewPanel<TItem extends IssueModel = IssueModel> extends W
554558
const newAssignees = (this._item.assignees ?? []).concat(copilotUser);
555559
await this._item.replaceAssignees(newAssignees);
556560
}
557-
const events = await this._item.githubRepository.getIssueTimelineEvents(this._item);
561+
const events = await this._getTimeline();
558562
const reply: ChangeAssigneesReply = {
559563
assignees: this._item.assignees ?? [],
560564
events

src/github/pullRequestOverview.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -475,6 +475,10 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
475475
}
476476
}
477477

478+
protected override _getTimeline(): Promise<TimelineEvent[]> {
479+
return this._item.githubRepository.getTimelineEvents(this._item);
480+
}
481+
478482
private async openDiff(message: IRequestMessage<{ comment: IComment }>): Promise<void> {
479483
try {
480484
const comment = message.args.comment;
@@ -511,7 +515,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
511515
let events: TimelineEvent[] = [];
512516
if (result) {
513517
do {
514-
events = await this._item.githubRepository.getTimelineEvents(this._item);
518+
events = await this._getTimeline();
515519
} while (copilotEventToStatus(mostRecentCopilotEvent(events)) !== CopilotPRStatus.Completed && await new Promise<boolean>(c => setTimeout(() => c(true), 2000)));
516520
}
517521
const reply: CancelCodingAgentReply = {
@@ -541,7 +545,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
541545
else {
542546
await this._item.unresolveReviewThread(message.args.threadId);
543547
}
544-
const timelineEvents = await this._item.githubRepository.getTimelineEvents(this._item);
548+
const timelineEvents = await this._getTimeline();
545549
this._replyMessage(message, timelineEvents);
546550
} catch (e) {
547551
vscode.window.showErrorMessage(e);
@@ -658,7 +662,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
658662
try {
659663
const review = await action(context.body);
660664
this.updateReviewers(review);
661-
const allEvents = await this._item.githubRepository.getTimelineEvents(this._item);
665+
const allEvents = await this._getTimeline();
662666
const reviewMessage: SubmitReviewReply & { command: string } = {
663667
command: 'pr.append-review',
664668
reviewedEvent: review,
@@ -679,7 +683,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
679683
try {
680684
const review = await action(message.args);
681685
this.updateReviewers(review);
682-
const allEvents = await this._item.githubRepository.getTimelineEvents(this._item);
686+
const allEvents = await this._getTimeline();
683687
const reply: SubmitReviewReply = {
684688
reviewedEvent: review,
685689
events: allEvents,
@@ -817,7 +821,7 @@ export class PullRequestOverviewPanel extends IssueOverviewPanel<PullRequestMode
817821
} while (attemptsRemaining > 0 && mergability === PullRequestMergeability.Unknown);
818822

819823
const result: Partial<PullRequest> = {
820-
events: await this._item.githubRepository.getTimelineEvents(this._item),
824+
events: await this._getTimeline(),
821825
mergeable: mergability,
822826
};
823827
await this.refreshPanel();

0 commit comments

Comments
 (0)