Skip to content

Commit c00f7af

Browse files
authored
Remove invalidate (#7311)
1 parent f2a37ba commit c00f7af

File tree

7 files changed

+16
-24
lines changed

7 files changed

+16
-24
lines changed

src/github/activityBarViewProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ export class PullRequestViewProvider extends WebviewViewBase implements vscode.W
188188
disposeAll(this._prDisposables);
189189
}
190190
this._prDisposables = [];
191-
this._prDisposables.push(pullRequestModel.onDidInvalidate(() => this.updatePullRequest(pullRequestModel)));
191+
this._prDisposables.push(pullRequestModel.onDidChange(() => this.updatePullRequest(pullRequestModel)));
192192
this._prDisposables.push(pullRequestModel.onDidChangePendingReviewState(() => this.updatePullRequest(pullRequestModel)));
193193
}
194194

src/github/githubRepository.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,6 @@ export class GitHubRepository extends Disposable {
960960
} else {
961961
model = new PullRequestModel(this._credentialStore, this._telemetry, this, this.remote, pullRequest);
962962
const prModel = model;
963-
model.onDidInvalidate(() => this.getPullRequest(pullRequest.number));
964963
const disposables: vscode.Disposable[] = [];
965964
disposables.push(model.onDidChange(() => this._onPullRequestModelChanged(prModel)));
966965
this._pullRequestModelsByNumber.set(pullRequest.number, { model, disposables });

src/github/issueModel.ts

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ export interface IssueChangeEvent {
3434
projects?: true;
3535

3636
timeline?: true;
37+
38+
draft?: true;
39+
reviewers?: true;
3740
}
3841

3942
export class IssueModel<TItem extends Issue = Issue> extends Disposable {
@@ -58,9 +61,6 @@ export class IssueModel<TItem extends Issue = Issue> extends Disposable {
5861

5962
private _timelineEvents: readonly TimelineEvent[] | undefined;
6063

61-
private _onDidInvalidate = this._register(new vscode.EventEmitter<void>());
62-
public onDidInvalidate = this._onDidInvalidate.event;
63-
6464
protected _onDidChange = this._register(new vscode.EventEmitter<IssueChangeEvent>());
6565
public onDidChange = this._onDidChange.event;
6666

@@ -86,11 +86,6 @@ export class IssueModel<TItem extends Issue = Issue> extends Disposable {
8686
}
8787
}
8888

89-
public invalidate() {
90-
// Something about the PR data is stale
91-
this._onDidInvalidate.fire();
92-
}
93-
9489
public get isOpen(): boolean {
9590
return this.state === GithubItemStateEnum.Open;
9691
}
@@ -242,7 +237,6 @@ export class IssueModel<TItem extends Issue = Issue> extends Disposable {
242237
this.title = data.updateIssue.issue.title;
243238
this.titleHTML = data.updateIssue.issue.titleHTML;
244239
}
245-
this.invalidate();
246240
this._onDidChange.fire(changes);
247241
}
248242
return data!.updateIssue.issue;

src/github/pullRequestModel.ts

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -111,11 +111,6 @@ export type FileViewedState = { [key: string]: ViewedState };
111111

112112
const BATCH_SIZE = 100;
113113

114-
interface PullRequestChangeEvent extends IssueChangeEvent {
115-
draft?: true;
116-
reviewers?: true;
117-
}
118-
119114
export class PullRequestModel extends IssueModel<PullRequest> implements IPullRequestModel {
120115
static override ID = 'PullRequestModel';
121116

@@ -151,8 +146,6 @@ export class PullRequestModel extends IssueModel<PullRequest> implements IPullRe
151146
private _onDidChangeComments: vscode.EventEmitter<void> = this._register(new vscode.EventEmitter<void>());
152147
public readonly onDidChangeComments: vscode.Event<void> = this._onDidChangeComments.event;
153148

154-
protected override _onDidChange = this._register(new vscode.EventEmitter<PullRequestChangeEvent>());
155-
156149
// Whether the pull request is currently checked out locally
157150
private _isActive: boolean;
158151
public get isActive(): boolean {
@@ -252,8 +245,8 @@ export class PullRequestModel extends IssueModel<PullRequest> implements IPullRe
252245
return newState;
253246
}
254247

255-
protected override doUpdate(item: PullRequest): PullRequestChangeEvent {
256-
const changes = super.doUpdate(item) as PullRequestChangeEvent;
248+
protected override doUpdate(item: PullRequest): IssueChangeEvent {
249+
const changes = super.doUpdate(item) as IssueChangeEvent;
257250
if (this.isDraft !== item.isDraft) {
258251
changes.draft = true;
259252
this.isDraft = item.isDraft;

src/view/pullRequestCommentController.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,7 @@ export class PullRequestCommentController extends CommentControllerBase implemen
356356
if (e.graphQLErrors?.length && e.graphQLErrors[0].type === 'NOT_FOUND') {
357357
vscode.window.showWarningMessage('The comment that you\'re replying to was deleted. Refresh to update.', 'Refresh').then(result => {
358358
if (result === 'Refresh') {
359-
this.pullRequestModel.invalidate();
359+
this.pullRequestModel.githubRepository.getPullRequest(this.pullRequestModel.number);
360360
}
361361
});
362362
} else {

src/view/treeNodes/pullRequestNode.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,11 @@ export class PRNode extends TreeNode implements vscode.CommentingRangeProvider2
5353
super(parent);
5454
this.registerSinceReviewChange();
5555
this.registerConfigurationChange();
56-
this._register(this.pullRequestModel.onDidInvalidate(() => this.refresh(this)));
56+
this._register(this.pullRequestModel.onDidChange((e) => {
57+
if (e.title || e.state) {
58+
this.refresh(this);
59+
}
60+
}));
5761
this._register(this._folderReposManager.onDidChangeActivePullRequest(e => {
5862
if (e.new?.number === this.pullRequestModel.number || e.old?.number === this.pullRequestModel.number) {
5963
this.refresh(this);

src/view/treeNodes/repositoryChangesNode.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,10 @@ export class RepositoryChangesNode extends TreeNode implements vscode.TreeItem {
7070
this.revealActiveEditorInTree(activeEditorUri);
7171
}));
7272

73-
this._register(this.pullRequestModel.onDidInvalidate(() => {
74-
this.refresh();
73+
this._register(this.pullRequestModel.onDidChange(e => {
74+
if (e.title || e.state) {
75+
this.refresh();
76+
}
7577
}));
7678
}
7779

0 commit comments

Comments
 (0)