Change:
<!-- If you answered No above, use 'Help: Start Extension Bisect' from Command Palette to try to identify the cause. --<!-- Issues caused by an extension need to be reported directly to the extension publisher. The 'Help Report Issue' dialog can assist with this. --- VS Code Version: stable from sources Regression in current september release Steps to Reproduce: server, open workbench in browser settings sync some extension remote server logs cc

Discussion:
*--------------------------------------------------------------------------------------------*/ import { localize } from 'vs/nls'; <del> import { ExtensionInstallLocation, IExtensionManagementServer, IExtensionManagementServerService, IProfileAwareExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; </del> <ins> import { ExtensionInstallLocation, IExtensionManagementServer, IExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; </ins> import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService'; import { Schemas } from 'vs/base/common/network'; <del> import { Event } from 'vs/base/common/event'; </del> import { IChannel } from 'vs/base/parts/ipc/common/ipc'; import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { ILabelService } from 'vs/platform/label/common/label';

import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { WebExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/webExtensionManagementService'; import { IExtension } from 'vs/platform/extensions/common/extensions'; <del> import { ExtensionManagementChannelClient } from 'vs/platform/extensionManagement/common/extensionManagementIpc'; </del> <ins> import { RemoteExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/remoteExtensionManagementService'; </ins> export class ExtensionManagementServerService implements IExtensionManagementServerService {

) { const remoteAgentConnection = remoteAgentService.getConnection(); if (remoteAgentConnection) { <del> const extensionManagementService = new class extends ExtensionManagementChannelClient implements IProfileAwareExtensionManagementService { get onProfileAwareInstallExtension() { return super.onInstallExtension; } get onProfileAwareDidInstallExtensions() { return super.onDidInstallExtensions; } get onProfileAwareUninstallExtension() { return super.onUninstallExtension; } get onProfileAwareDidUninstallExtension() { return super.onDidUninstallExtension; } readonly onDidChangeProfile = Event.None; }(remoteAgentConnection.getChannel<IChannel>('extensions')); </del> <ins> const extensionManagementService = instantiationService.createInstance(RemoteExtensionManagementService, remoteAgentConnection.getChannel<IChannel>('extensions')); </ins> this.remoteExtensionManagementServer = { id: 'remote', extensionManagementService,

<ins> /*--------------------------------------------------------------------------------------------- *  Copyright (c) Microsoft Corporation. All rights reserved. *  Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { IChannel } from 'vs/base/parts/ipc/common/ipc'; import { Event } from 'vs/base/common/event'; import { ILocalExtension, IGalleryExtension, InstallOptions, InstallVSIXOptions, UninstallOptions } from 'vs/platform/extensionManagement/common/extensionManagement'; import { URI } from 'vs/base/common/uri'; import { ExtensionType } from 'vs/platform/extensions/common/extensions'; import { IProfileAwareExtensionManagementService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; import { ExtensionManagementChannelClient } from 'vs/platform/extensionManagement/common/extensionManagementIpc'; import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity'; import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile'; export class RemoteExtensionManagementService extends ExtensionManagementChannelClient implements IProfileAwareExtensionManagementService { readonly onDidChangeProfile = Event.None; get onProfileAwareInstallExtension() { return super.onInstallExtension; } get onProfileAwareDidInstallExtensions() { return super.onDidInstallExtensions; } get onProfileAwareUninstallExtension() { return super.onUninstallExtension; } get onProfileAwareDidUninstallExtension() { return super.onDidUninstallExtension; } constructor( channel: IChannel, @IUserDataProfilesService private readonly userDataProfileService: IUserDataProfilesService, @IUriIdentityService private readonly uriIdentityService: IUriIdentityService, ) { super(channel); } override getInstalled(type: ExtensionType | null = null, profileLocation?: URI): Promise<ILocalExtension[]> { this.validateProfileLocation({ profileLocation }); return super.getInstalled(type); } override uninstall(extension: ILocalExtension, options?: UninstallOptions): Promise<void> { options = this.validateProfileLocation(options); return super.uninstall(extension, options); } override async install(vsix: URI, options?: InstallVSIXOptions): Promise<ILocalExtension> { options = this.validateProfileLocation(options); return super.install(vsix, options); } override async installFromGallery(extension: IGalleryExtension, options?: InstallOptions): Promise<ILocalExtension> { options = this.validateProfileLocation(options); return super.installFromGallery(extension, options); } private validateProfileLocation<T extends { profileLocation?: URI }>(options?: T): T | undefined { if (options?.profileLocation) { if (!this.uriIdentityService.extUri.isEqual(options?.profileLocation, this.userDataProfileService.defaultProfile.extensionsResource)) { throw new Error('This opertaion is not supported in remote scenario'); } options = { ...options, profileLocation: undefined }; } return options; } } </ins>