Skip to content

Commit e9db45a

Browse files
authored
* Revert "Revert "Fix microsoft#164690 microsoft#164730 (microsoft#165279)" (microsoft#165302)" This reverts commit d9ed6d1. * store migration completion marker in profile
1 parent 209a5cd commit e9db45a

29 files changed

+370
-570
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*---------------------------------------------------------------------------------------------
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*--------------------------------------------------------------------------------------------*/
5+
6+
import { Disposable } from 'vs/base/common/lifecycle';
7+
import { DEFAULT_PROFILE_EXTENSIONS_MIGRATION_KEY, IExtensionGalleryService, IGlobalExtensionEnablementService } from 'vs/platform/extensionManagement/common/extensionManagement';
8+
import { ExtensionStorageService, IExtensionStorageService } from 'vs/platform/extensionManagement/common/extensionStorage';
9+
import { migrateUnsupportedExtensions } from 'vs/platform/extensionManagement/common/unsupportedExtensionsMigration';
10+
import { INativeServerExtensionManagementService } from 'vs/platform/extensionManagement/node/extensionManagementService';
11+
import { ILogService } from 'vs/platform/log/common/log';
12+
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
13+
14+
export class ExtensionsContributions extends Disposable {
15+
constructor(
16+
@INativeServerExtensionManagementService extensionManagementService: INativeServerExtensionManagementService,
17+
@IExtensionGalleryService extensionGalleryService: IExtensionGalleryService,
18+
@IExtensionStorageService extensionStorageService: IExtensionStorageService,
19+
@IGlobalExtensionEnablementService extensionEnablementService: IGlobalExtensionEnablementService,
20+
@IStorageService storageService: IStorageService,
21+
@ILogService logService: ILogService,
22+
) {
23+
super();
24+
25+
extensionManagementService.migrateDefaultProfileExtensions()
26+
.then(() => storageService.store(DEFAULT_PROFILE_EXTENSIONS_MIGRATION_KEY, true, StorageScope.APPLICATION, StorageTarget.MACHINE), error => null);
27+
28+
extensionManagementService.removeUninstalledExtensions();
29+
migrateUnsupportedExtensions(extensionManagementService, extensionGalleryService, extensionStorageService, extensionEnablementService, logService);
30+
ExtensionStorageService.removeOutdatedExtensionVersions(extensionManagementService, storageService);
31+
}
32+
33+
}

src/vs/code/electron-browser/sharedProcess/contrib/extensionsCleaner.ts

Lines changed: 0 additions & 186 deletions
This file was deleted.

src/vs/code/electron-browser/sharedProcess/sharedProcessMain.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { URI } from 'vs/base/common/uri';
1414
import { ProxyChannel, StaticRouter } from 'vs/base/parts/ipc/common/ipc';
1515
import { Server as MessagePortServer } from 'vs/base/parts/ipc/electron-browser/ipc.mp';
1616
import { CodeCacheCleaner } from 'vs/code/electron-browser/sharedProcess/contrib/codeCacheCleaner';
17-
import { ExtensionsCleaner } from 'vs/code/electron-browser/sharedProcess/contrib/extensionsCleaner';
1817
import { LanguagePackCachedDataCleaner } from 'vs/code/electron-browser/sharedProcess/contrib/languagePackCachedDataCleaner';
1918
import { LocalizationsUpdater } from 'vs/code/electron-browser/sharedProcess/contrib/localizationsUpdater';
2019
import { LogsDataCleaner } from 'vs/code/electron-browser/sharedProcess/contrib/logsDataCleaner';
@@ -113,6 +112,7 @@ import { RemoteTunnelService } from 'vs/platform/remoteTunnel/electron-browser/r
113112
import { IRemoteTunnelService } from 'vs/platform/remoteTunnel/common/remoteTunnel';
114113
import { ISharedProcessLifecycleService, SharedProcessLifecycleService } from 'vs/platform/lifecycle/electron-browser/sharedProcessLifecycleService';
115114
import { UserDataSyncResourceProviderService } from 'vs/platform/userDataSync/common/userDataSyncResourceProvider';
115+
import { ExtensionsContributions } from 'vs/code/electron-browser/sharedProcess/contrib/extensions';
116116

117117
class SharedProcessMain extends Disposable {
118118

@@ -186,7 +186,7 @@ class SharedProcessMain extends Disposable {
186186
instantiationService.createInstance(UnusedWorkspaceStorageDataCleaner),
187187
instantiationService.createInstance(LogsDataCleaner),
188188
instantiationService.createInstance(LocalizationsUpdater),
189-
instantiationService.createInstance(ExtensionsCleaner),
189+
instantiationService.createInstance(ExtensionsContributions),
190190
instantiationService.createInstance(UserDataProfilesCleaner)
191191
));
192192
}

src/vs/code/electron-main/app.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ import { CredentialsNativeMainService } from 'vs/platform/credentials/electron-m
101101
import { IPolicyService } from 'vs/platform/policy/common/policy';
102102
import { PolicyChannel } from 'vs/platform/policy/common/policyIpc';
103103
import { IUserDataProfilesMainService } from 'vs/platform/userDataProfile/electron-main/userDataProfile';
104-
import { DefaultExtensionsProfileInitHandler } from 'vs/platform/extensionManagement/electron-main/defaultExtensionsProfileInit';
105104
import { RequestChannel } from 'vs/platform/request/common/requestIpc';
106105
import { IRequestService } from 'vs/platform/request/common/request';
107106
import { ExtensionsProfileScannerService, IExtensionsProfileScannerService } from 'vs/platform/extensionManagement/common/extensionsProfileScannerService';
@@ -558,9 +557,6 @@ export class CodeApplication extends Disposable {
558557
// Auth Handler
559558
this._register(instantiationService.createInstance(ProxyAuthHandler));
560559

561-
// Default Extensions Profile Init Handler
562-
this._register(instantiationService.createInstance(DefaultExtensionsProfileInitHandler));
563-
564560
// Transient profiles handler
565561
this._register(instantiationService.createInstance(UserDataTransientProfilesHandler));
566562
}

src/vs/code/node/cliProcessMain.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ class CliMain extends Disposable {
245245
}
246246

247247
private async doRun(environmentService: INativeEnvironmentService, fileService: IFileService, userDataProfilesService: IUserDataProfilesService, instantiationService: IInstantiationService): Promise<void> {
248-
const profileLocation = environmentService.args.profile ? userDataProfilesService.profiles.find(p => p.name === environmentService.args.profile)?.extensionsResource : userDataProfilesService.defaultProfile.extensionsResource;
248+
const profileLocation = (environmentService.args.profile ? userDataProfilesService.profiles.find(p => p.name === environmentService.args.profile) ?? userDataProfilesService.defaultProfile : userDataProfilesService.defaultProfile).extensionsResource;
249249

250250
// Install Source
251251
if (this.argv['install-source']) {

0 commit comments

Comments
 (0)