diff --git a/extensions/git/src/contentProvider.ts b/extensions/git/src/contentProvider.ts index 38d2032e5d5..d99d31fd572 100644 --- a/extensions/git/src/contentProvider.ts +++ b/extensions/git/src/contentProvider.ts @@ -6,7 +6,7 @@ 'use strict'; import { workspace, Uri, Disposable, Event, EventEmitter, window } from 'vscode'; -import { debounce, throttle } from './decorators'; +import { debounce } from './decorators'; import { fromGitUri } from './uri'; import { Model } from './model'; @@ -44,10 +44,7 @@ export class GitContentProvider { this.fireChangeEvents(); } - @throttle - private async fireChangeEvents(): Promise { - await this.model.whenIdle(); - + private fireChangeEvents(): void { Object.keys(this.cache) .forEach(key => this.onDidChangeEmitter.fire(this.cache[key].uri)); } diff --git a/extensions/git/src/model.ts b/extensions/git/src/model.ts index 21142b7bda4..80e99c0b17c 100644 --- a/extensions/git/src/model.ts +++ b/extensions/git/src/model.ts @@ -365,12 +365,6 @@ export class Model implements Disposable { this.status(); } - async whenIdle(): Promise { - while (!this.operations.isIdle()) { - await eventToPromise(this.onDidRunOperation); - } - } - @throttle async init(): Promise { if (this.state !== State.NotAGitRepository) { @@ -685,6 +679,12 @@ export class Model implements Disposable { await timeout(5000); } + private async whenIdle(): Promise { + while (!this.operations.isIdle()) { + await eventToPromise(this.onDidRunOperation); + } + } + dispose(): void { this.repositoryDisposable.dispose(); this.disposables = dispose(this.disposables);