mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-02 22:41:31 +01:00
move storage keys sync registry service to shared process
This commit is contained in:
@@ -51,7 +51,7 @@ import { IProductService } from 'vs/platform/product/common/productService';
|
|||||||
import { IUserDataSyncService, IUserDataSyncStoreService, registerConfiguration, IUserDataSyncLogService, IUserDataSyncUtilService, IUserDataSyncResourceEnablementService, IUserDataSyncBackupStoreService, IUserDataSyncStoreManagementService, IUserDataAutoSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
|
import { IUserDataSyncService, IUserDataSyncStoreService, registerConfiguration, IUserDataSyncLogService, IUserDataSyncUtilService, IUserDataSyncResourceEnablementService, IUserDataSyncBackupStoreService, IUserDataSyncStoreManagementService, IUserDataAutoSyncEnablementService } from 'vs/platform/userDataSync/common/userDataSync';
|
||||||
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
|
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
|
||||||
import { UserDataSyncStoreService, UserDataSyncStoreManagementService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
|
import { UserDataSyncStoreService, UserDataSyncStoreManagementService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
|
||||||
import { UserDataSyncChannel, UserDataSyncUtilServiceClient, UserDataAutoSyncChannel, StorageKeysSyncRegistryChannelClient, UserDataSyncMachinesServiceChannel, UserDataSyncAccountServiceChannel, UserDataSyncStoreManagementServiceChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
|
import { UserDataSyncChannel, UserDataSyncUtilServiceClient, UserDataAutoSyncChannel, UserDataSyncMachinesServiceChannel, UserDataSyncAccountServiceChannel, UserDataSyncStoreManagementServiceChannel, StorageKeysSyncRegistryChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
|
||||||
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
import { INativeHostService } from 'vs/platform/native/electron-sandbox/native';
|
||||||
import { LoggerService } from 'vs/platform/log/node/loggerService';
|
import { LoggerService } from 'vs/platform/log/node/loggerService';
|
||||||
import { UserDataSyncLogService } from 'vs/platform/userDataSync/common/userDataSyncLog';
|
import { UserDataSyncLogService } from 'vs/platform/userDataSync/common/userDataSyncLog';
|
||||||
@@ -63,7 +63,7 @@ import { GlobalExtensionEnablementService } from 'vs/platform/extensionManagemen
|
|||||||
import { UserDataSyncResourceEnablementService } from 'vs/platform/userDataSync/common/userDataSyncResourceEnablementService';
|
import { UserDataSyncResourceEnablementService } from 'vs/platform/userDataSync/common/userDataSyncResourceEnablementService';
|
||||||
import { IUserDataSyncAccountService, UserDataSyncAccountService } from 'vs/platform/userDataSync/common/userDataSyncAccount';
|
import { IUserDataSyncAccountService, UserDataSyncAccountService } from 'vs/platform/userDataSync/common/userDataSyncAccount';
|
||||||
import { UserDataSyncBackupStoreService } from 'vs/platform/userDataSync/common/userDataSyncBackupStoreService';
|
import { UserDataSyncBackupStoreService } from 'vs/platform/userDataSync/common/userDataSyncBackupStoreService';
|
||||||
import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
import { IStorageKeysSyncRegistryService, StorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
||||||
import { ExtensionTipsService } from 'vs/platform/extensionManagement/electron-sandbox/extensionTipsService';
|
import { ExtensionTipsService } from 'vs/platform/extensionManagement/electron-sandbox/extensionTipsService';
|
||||||
import { UserDataSyncMachinesService, IUserDataSyncMachinesService } from 'vs/platform/userDataSync/common/userDataSyncMachines';
|
import { UserDataSyncMachinesService, IUserDataSyncMachinesService } from 'vs/platform/userDataSync/common/userDataSyncMachines';
|
||||||
import { IExtensionRecommendationNotificationService } from 'vs/platform/extensionRecommendations/common/extensionRecommendations';
|
import { IExtensionRecommendationNotificationService } from 'vs/platform/extensionRecommendations/common/extensionRecommendations';
|
||||||
@@ -151,8 +151,7 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
|
|||||||
services.set(IStorageService, storageService);
|
services.set(IStorageService, storageService);
|
||||||
disposables.add(toDisposable(() => storageService.flush()));
|
disposables.add(toDisposable(() => storageService.flush()));
|
||||||
|
|
||||||
services.set(IStorageKeysSyncRegistryService, new StorageKeysSyncRegistryChannelClient(mainProcessService.getChannel('storageKeysSyncRegistryService')));
|
services.set(IStorageKeysSyncRegistryService, new SyncDescriptor(StorageKeysSyncRegistryService));
|
||||||
|
|
||||||
services.set(IEnvironmentService, environmentService);
|
services.set(IEnvironmentService, environmentService);
|
||||||
services.set(INativeEnvironmentService, environmentService);
|
services.set(INativeEnvironmentService, environmentService);
|
||||||
|
|
||||||
@@ -200,6 +199,10 @@ async function main(server: Server, initData: ISharedProcessInitData, configurat
|
|||||||
}
|
}
|
||||||
server.registerChannel('telemetryAppender', new TelemetryAppenderChannel(telemetryAppender));
|
server.registerChannel('telemetryAppender', new TelemetryAppenderChannel(telemetryAppender));
|
||||||
|
|
||||||
|
const storageKeysSyncRegistryService = accessor.get(IStorageKeysSyncRegistryService);
|
||||||
|
const storageKeysSyncChannel = new StorageKeysSyncRegistryChannel(storageKeysSyncRegistryService);
|
||||||
|
server.registerChannel('storageKeysSyncRegistryService', storageKeysSyncChannel);
|
||||||
|
|
||||||
services.set(IExtensionManagementService, new SyncDescriptor(ExtensionManagementService));
|
services.set(IExtensionManagementService, new SyncDescriptor(ExtensionManagementService));
|
||||||
services.set(IExtensionGalleryService, new SyncDescriptor(ExtensionGalleryService));
|
services.set(IExtensionGalleryService, new SyncDescriptor(ExtensionGalleryService));
|
||||||
services.set(ILocalizationsService, new SyncDescriptor(LocalizationsService));
|
services.set(ILocalizationsService, new SyncDescriptor(LocalizationsService));
|
||||||
|
|||||||
@@ -72,8 +72,6 @@ import { ISharedProcessMainService, SharedProcessMainService } from 'vs/platform
|
|||||||
import { IDialogMainService, DialogMainService } from 'vs/platform/dialogs/electron-main/dialogs';
|
import { IDialogMainService, DialogMainService } from 'vs/platform/dialogs/electron-main/dialogs';
|
||||||
import { withNullAsUndefined } from 'vs/base/common/types';
|
import { withNullAsUndefined } from 'vs/base/common/types';
|
||||||
import { coalesce } from 'vs/base/common/arrays';
|
import { coalesce } from 'vs/base/common/arrays';
|
||||||
import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
|
||||||
import { StorageKeysSyncRegistryChannel } from 'vs/platform/userDataSync/common/userDataSyncIpc';
|
|
||||||
import { mnemonicButtonLabel, getPathLabel } from 'vs/base/common/labels';
|
import { mnemonicButtonLabel, getPathLabel } from 'vs/base/common/labels';
|
||||||
import { WebviewMainService } from 'vs/platform/webview/electron-main/webviewMainService';
|
import { WebviewMainService } from 'vs/platform/webview/electron-main/webviewMainService';
|
||||||
import { IWebviewManagerService } from 'vs/platform/webview/common/webviewManagerService';
|
import { IWebviewManagerService } from 'vs/platform/webview/common/webviewManagerService';
|
||||||
@@ -567,11 +565,6 @@ export class CodeApplication extends Disposable {
|
|||||||
electronIpcServer.registerChannel('storage', storageChannel);
|
electronIpcServer.registerChannel('storage', storageChannel);
|
||||||
sharedProcessClient.then(client => client.registerChannel('storage', storageChannel));
|
sharedProcessClient.then(client => client.registerChannel('storage', storageChannel));
|
||||||
|
|
||||||
const storageKeysSyncRegistryService = accessor.get(IStorageKeysSyncRegistryService);
|
|
||||||
const storageKeysSyncChannel = new StorageKeysSyncRegistryChannel(storageKeysSyncRegistryService);
|
|
||||||
electronIpcServer.registerChannel('storageKeysSyncRegistryService', storageKeysSyncChannel);
|
|
||||||
sharedProcessClient.then(client => client.registerChannel('storageKeysSyncRegistryService', storageKeysSyncChannel));
|
|
||||||
|
|
||||||
const loggerChannel = new LoggerChannel(accessor.get(ILogService));
|
const loggerChannel = new LoggerChannel(accessor.get(ILogService));
|
||||||
electronIpcServer.registerChannel('logger', loggerChannel);
|
electronIpcServer.registerChannel('logger', loggerChannel);
|
||||||
sharedProcessClient.then(client => client.registerChannel('logger', loggerChannel));
|
sharedProcessClient.then(client => client.registerChannel('logger', loggerChannel));
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ import { FileService } from 'vs/platform/files/common/fileService';
|
|||||||
import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemProvider';
|
import { DiskFileSystemProvider } from 'vs/platform/files/node/diskFileSystemProvider';
|
||||||
import { Schemas } from 'vs/base/common/network';
|
import { Schemas } from 'vs/base/common/network';
|
||||||
import { IFileService } from 'vs/platform/files/common/files';
|
import { IFileService } from 'vs/platform/files/common/files';
|
||||||
import { IStorageKeysSyncRegistryService, StorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
|
||||||
import { ITunnelService } from 'vs/platform/remote/common/tunnel';
|
import { ITunnelService } from 'vs/platform/remote/common/tunnel';
|
||||||
import { TunnelService } from 'vs/platform/remote/node/tunnelService';
|
import { TunnelService } from 'vs/platform/remote/node/tunnelService';
|
||||||
import { IProductService } from 'vs/platform/product/common/productService';
|
import { IProductService } from 'vs/platform/product/common/productService';
|
||||||
@@ -169,7 +168,6 @@ class CodeMain {
|
|||||||
services.set(IRequestService, new SyncDescriptor(RequestMainService));
|
services.set(IRequestService, new SyncDescriptor(RequestMainService));
|
||||||
services.set(IThemeMainService, new SyncDescriptor(ThemeMainService));
|
services.set(IThemeMainService, new SyncDescriptor(ThemeMainService));
|
||||||
services.set(ISignService, new SyncDescriptor(SignService));
|
services.set(ISignService, new SyncDescriptor(SignService));
|
||||||
services.set(IStorageKeysSyncRegistryService, new SyncDescriptor(StorageKeysSyncRegistryService));
|
|
||||||
services.set(IProductService, { _serviceBrand: undefined, ...product });
|
services.set(IProductService, { _serviceBrand: undefined, ...product });
|
||||||
services.set(ITunnelService, new SyncDescriptor(TunnelService));
|
services.set(ITunnelService, new SyncDescriptor(TunnelService));
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ import { NativeParsedArgs } from 'vs/platform/environment/common/argv';
|
|||||||
import { IExtensionHostDebugParams } from 'vs/platform/environment/common/environment';
|
import { IExtensionHostDebugParams } from 'vs/platform/environment/common/environment';
|
||||||
import type { IWorkbenchConstructionOptions } from 'vs/workbench/workbench.web.api';
|
import type { IWorkbenchConstructionOptions } from 'vs/workbench/workbench.web.api';
|
||||||
import { Schemas } from 'vs/base/common/network';
|
import { Schemas } from 'vs/base/common/network';
|
||||||
|
import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
||||||
|
|
||||||
|
|
||||||
//#region Environment
|
//#region Environment
|
||||||
@@ -714,6 +715,23 @@ registerSingleton(IUserDataSyncStoreManagementService, SimpleIUserDataSyncStoreM
|
|||||||
|
|
||||||
//#endregion
|
//#endregion
|
||||||
|
|
||||||
|
//#region IStorageKeysSyncRegistryService
|
||||||
|
|
||||||
|
class SimpleIStorageKeysSyncRegistryService implements IStorageKeysSyncRegistryService {
|
||||||
|
|
||||||
|
declare readonly _serviceBrand: undefined;
|
||||||
|
|
||||||
|
onDidChangeStorageKeys = Event.None;
|
||||||
|
|
||||||
|
storageKeys = [];
|
||||||
|
|
||||||
|
registerStorageKey(): void { }
|
||||||
|
}
|
||||||
|
|
||||||
|
registerSingleton(IStorageKeysSyncRegistryService, SimpleIStorageKeysSyncRegistryService);
|
||||||
|
|
||||||
|
//#endregion
|
||||||
|
|
||||||
|
|
||||||
//#region Task
|
//#region Task
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,13 @@
|
|||||||
|
|
||||||
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
|
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
|
||||||
import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys';
|
||||||
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/mainProcessService';
|
|
||||||
import { StorageKeysSyncRegistryChannelClient } from 'vs/platform/userDataSync/common/userDataSyncIpc';
|
import { StorageKeysSyncRegistryChannelClient } from 'vs/platform/userDataSync/common/userDataSyncIpc';
|
||||||
|
import { ISharedProcessService } from 'vs/platform/ipc/electron-browser/sharedProcessService';
|
||||||
|
|
||||||
class StorageKeysSyncRegistryService extends StorageKeysSyncRegistryChannelClient implements IStorageKeysSyncRegistryService {
|
class StorageKeysSyncRegistryService extends StorageKeysSyncRegistryChannelClient implements IStorageKeysSyncRegistryService {
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
@IMainProcessService mainProcessService: IMainProcessService
|
@ISharedProcessService mainProcessService: ISharedProcessService
|
||||||
) {
|
) {
|
||||||
super(mainProcessService.getChannel('storageKeysSyncRegistryService'));
|
super(mainProcessService.getChannel('storageKeysSyncRegistryService'));
|
||||||
}
|
}
|
||||||
@@ -75,6 +75,7 @@ import 'vs/workbench/services/extensionManagement/electron-browser/extensionTips
|
|||||||
import 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
|
import 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl';
|
||||||
import 'vs/workbench/services/telemetry/electron-browser/telemetryService';
|
import 'vs/workbench/services/telemetry/electron-browser/telemetryService';
|
||||||
import 'vs/workbench/services/backup/node/backupFileService';
|
import 'vs/workbench/services/backup/node/backupFileService';
|
||||||
|
import 'vs/workbench/services/userDataSync/electron-browser/storageKeysSyncRegistryService';
|
||||||
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncMachinesService';
|
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncMachinesService';
|
||||||
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncService';
|
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncService';
|
||||||
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncAccountService';
|
import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncAccountService';
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ registerSingleton(IUserDataAutoSyncEnablementService, UserDataAutoSyncEnablement
|
|||||||
import 'vs/workbench/services/dialogs/electron-sandbox/fileDialogService';
|
import 'vs/workbench/services/dialogs/electron-sandbox/fileDialogService';
|
||||||
import 'vs/workbench/services/workspaces/electron-sandbox/workspacesService';
|
import 'vs/workbench/services/workspaces/electron-sandbox/workspacesService';
|
||||||
import 'vs/workbench/services/textMate/electron-sandbox/textMateService';
|
import 'vs/workbench/services/textMate/electron-sandbox/textMateService';
|
||||||
import 'vs/workbench/services/userDataSync/electron-sandbox/storageKeysSyncRegistryService';
|
|
||||||
import 'vs/workbench/services/menubar/electron-sandbox/menubarService';
|
import 'vs/workbench/services/menubar/electron-sandbox/menubarService';
|
||||||
import 'vs/workbench/services/dialogs/electron-sandbox/dialogService';
|
import 'vs/workbench/services/dialogs/electron-sandbox/dialogService';
|
||||||
import 'vs/workbench/services/issue/electron-sandbox/issueService';
|
import 'vs/workbench/services/issue/electron-sandbox/issueService';
|
||||||
|
|||||||
Reference in New Issue
Block a user