mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-08 17:19:48 +01:00
Fix #49814
This commit is contained in:
@@ -20,7 +20,7 @@ import { IPager, mapPager, singlePagePager } from 'vs/base/common/paging';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import {
|
||||
IExtensionManagementService, IExtensionGalleryService, ILocalExtension, IGalleryExtension, IQueryOptions, IExtensionManifest,
|
||||
InstallExtensionEvent, DidInstallExtensionEvent, LocalExtensionType, DidUninstallExtensionEvent, IExtensionEnablementService, IExtensionIdentifier, EnablementState, IExtensionTipsService
|
||||
InstallExtensionEvent, DidInstallExtensionEvent, LocalExtensionType, DidUninstallExtensionEvent, IExtensionEnablementService, IExtensionIdentifier, EnablementState, IExtensionTipsService, InstallOperation
|
||||
} from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||
import { getGalleryExtensionIdFromLocal, getGalleryExtensionTelemetryData, getLocalExtensionTelemetryData, areSameExtensions, getMaliciousExtensionsSet } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
@@ -805,11 +805,11 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
|
||||
private onDidInstallExtension(event: DidInstallExtensionEvent): void {
|
||||
const { local, zipPath, error, gallery } = event;
|
||||
const installingExtension = gallery ? this.installing.filter(e => areSameExtensions(e, gallery.identifier))[0] : null;
|
||||
const extension: Extension = installingExtension ? installingExtension : zipPath ? new Extension(this.galleryService, this.stateProvider, null, null, this.telemetryService) : null;
|
||||
const extension: Extension = installingExtension ? installingExtension : zipPath ? new Extension(this.galleryService, this.stateProvider, local, null, this.telemetryService) : null;
|
||||
if (extension) {
|
||||
this.installing = installingExtension ? this.installing.filter(e => e !== installingExtension) : this.installing;
|
||||
const installed = this.installed.filter(e => e.id === extension.id)[0];
|
||||
if (!error) {
|
||||
const installed = this.installed.filter(e => e.id === extension.id)[0];
|
||||
extension.local = local;
|
||||
if (installed) {
|
||||
installed.local = local;
|
||||
@@ -817,7 +817,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
|
||||
this.installed.push(extension);
|
||||
}
|
||||
}
|
||||
if (extension.gallery && !installed) {
|
||||
if (extension.gallery && event.operation === InstallOperation.Install) {
|
||||
// Report recommendation telemetry only for gallery extensions that are first time installs
|
||||
this.reportExtensionRecommendationsTelemetry(installingExtension);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user