diff --git a/extensions/github-authentication/package.json b/extensions/github-authentication/package.json index 787b4d17497..c4189e6b7eb 100644 --- a/extensions/github-authentication/package.json +++ b/extensions/github-authentication/package.json @@ -11,11 +11,6 @@ "categories": [ "Other" ], - "extensionKind": [ - "ui", - "workspace", - "web" - ], "activationEvents": [ "*", "onAuthenticationRequest:github" diff --git a/src/vs/workbench/api/browser/mainThreadAuthentication.ts b/src/vs/workbench/api/browser/mainThreadAuthentication.ts index e4fde65fb10..7a9e0fc6a64 100644 --- a/src/vs/workbench/api/browser/mainThreadAuthentication.ts +++ b/src/vs/workbench/api/browser/mainThreadAuthentication.ts @@ -249,7 +249,7 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu } $ensureProvider(id: string): Promise { - return this.extensionService.activateByEvent(getAuthenticationProviderActivationEvent(id), true); + return this.extensionService.activateByEvent(getAuthenticationProviderActivationEvent(id)); } $sendDidChangeSessions(id: string, event: modes.AuthenticationSessionsChangeEvent): void { diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index 9f0c4e55065..e09f81490e8 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -1074,7 +1074,7 @@ export type IResolveAuthorityResult = IResolveAuthorityErrorResult | IResolveAut export interface ExtHostExtensionServiceShape { $resolveAuthority(remoteAuthority: string, resolveAttempt: number): Promise; $startExtensionHost(enabledExtensionIds: ExtensionIdentifier[]): Promise; - $activateByEvent(activationEvent: string, eager?: boolean): Promise; + $activateByEvent(activationEvent: string): Promise; $activate(extensionId: ExtensionIdentifier, reason: ExtensionActivationReason): Promise; $setRemoteEnvironment(env: { [key: string]: string | null; }): Promise; $updateRemoteConnectionData(connectionData: IRemoteConnectionData): Promise; diff --git a/src/vs/workbench/api/common/extHostExtensionService.ts b/src/vs/workbench/api/common/extHostExtensionService.ts index 0653b623ba0..6c5dcf97dad 100644 --- a/src/vs/workbench/api/common/extHostExtensionService.ts +++ b/src/vs/workbench/api/common/extHostExtensionService.ts @@ -686,11 +686,7 @@ export abstract class AbstractExtHostExtensionService extends Disposable impleme return this._startExtensionHost(); } - public $activateByEvent(activationEvent: string, eager: boolean = true): Promise { - if (eager) { - return this._activateByEvent(activationEvent, false); - } - + public $activateByEvent(activationEvent: string): Promise { return ( this._readyToRunExtensions.wait() .then(_ => this._activateByEvent(activationEvent, false)) diff --git a/src/vs/workbench/services/extensions/common/abstractExtensionService.ts b/src/vs/workbench/services/extensions/common/abstractExtensionService.ts index 2bd2b6a3282..446f74eff84 100644 --- a/src/vs/workbench/services/extensions/common/abstractExtensionService.ts +++ b/src/vs/workbench/services/extensions/common/abstractExtensionService.ts @@ -186,7 +186,7 @@ export abstract class AbstractExtensionService extends Disposable implements IEx this._startExtensionHosts(false, Array.from(this._allRequestedActivateEvents.keys())); } - public activateByEvent(activationEvent: string, eager?: boolean): Promise { + public activateByEvent(activationEvent: string): Promise { if (this._installedExtensionsReady.isOpen()) { // Extensions have been scanned and interpreted @@ -205,17 +205,13 @@ export abstract class AbstractExtensionService extends Disposable implements IEx // Record the fact that this activationEvent was requested (in case of a restart) this._allRequestedActivateEvents.add(activationEvent); - if (eager) { - return this._activateByEvent(activationEvent, eager); - } - return this._installedExtensionsReady.wait().then(() => this._activateByEvent(activationEvent)); } } - private _activateByEvent(activationEvent: string, eager?: boolean): Promise { + private _activateByEvent(activationEvent: string): Promise { const result = Promise.all( - this._extensionHostManagers.map(extHostManager => extHostManager.activateByEvent(activationEvent, eager)) + this._extensionHostManagers.map(extHostManager => extHostManager.activateByEvent(activationEvent)) ).then(() => { }); this._onWillActivateByEvent.fire({ event: activationEvent, diff --git a/src/vs/workbench/services/extensions/common/extensionHostManager.ts b/src/vs/workbench/services/extensions/common/extensionHostManager.ts index e3f7f0c117a..484444e968d 100644 --- a/src/vs/workbench/services/extensions/common/extensionHostManager.ts +++ b/src/vs/workbench/services/extensions/common/extensionHostManager.ts @@ -48,7 +48,6 @@ export class ExtensionHostManager extends Disposable { */ private _proxy: Promise<{ value: ExtHostExtensionServiceShape; } | null> | null; private _resolveAuthorityAttempt: number; - private _hasStarted = false; constructor( extensionHost: IExtensionHost, @@ -66,7 +65,6 @@ export class ExtensionHostManager extends Disposable { this.onDidExit = this._extensionHost.onExit; this._proxy = this._extensionHost.start()!.then( (protocol) => { - this._hasStarted = true; return { value: this._createExtensionHostCustomers(protocol) }; }, (err) => { @@ -219,18 +217,14 @@ export class ExtensionHostManager extends Disposable { return proxy.$activate(extension, reason); } - public activateByEvent(activationEvent: string, eager?: boolean): Promise { - if (eager && !this._hasStarted) { - return Promise.resolve(); - } - + public activateByEvent(activationEvent: string): Promise { if (!this._cachedActivationEvents.has(activationEvent)) { - this._cachedActivationEvents.set(activationEvent, this._activateByEvent(activationEvent, eager)); + this._cachedActivationEvents.set(activationEvent, this._activateByEvent(activationEvent)); } return this._cachedActivationEvents.get(activationEvent)!; } - private async _activateByEvent(activationEvent: string, eager?: boolean): Promise { + private async _activateByEvent(activationEvent: string): Promise { if (!this._proxy) { return; } @@ -240,7 +234,7 @@ export class ExtensionHostManager extends Disposable { // i.e. the extension host could not be started return; } - return proxy.value.$activateByEvent(activationEvent, eager); + return proxy.value.$activateByEvent(activationEvent); } public async getInspectPort(tryEnableInspector: boolean): Promise { diff --git a/src/vs/workbench/services/extensions/common/extensions.ts b/src/vs/workbench/services/extensions/common/extensions.ts index f0980b0405c..652a2603156 100644 --- a/src/vs/workbench/services/extensions/common/extensions.ts +++ b/src/vs/workbench/services/extensions/common/extensions.ts @@ -177,13 +177,8 @@ export interface IExtensionService { /** * Send an activation event and activate interested extensions. - * - * Normally, this will queue the activation event if the extension hosts are not ready - * and send it to all of them. If the extension needs to be activated before this, - * the eager flag can be used to ignore extension hosts that aren't yet started. Do not - * use this flag unless necessary. */ - activateByEvent(activationEvent: string, eager?: boolean): Promise; + activateByEvent(activationEvent: string): Promise; /** * An promise that resolves when the installed extensions are registered after