From 773af9641d21ffece92190d0022971572df94da3 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Fri, 19 May 2023 10:42:53 -0700 Subject: [PATCH] remote: fix port forwarding not working (#182980) fix: register a remote socket factory in the shared process Surprised this didn't fail more verbosely... Fixes #182749 --- src/vs/code/node/sharedProcess/sharedProcessMain.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/vs/code/node/sharedProcess/sharedProcessMain.ts b/src/vs/code/node/sharedProcess/sharedProcessMain.ts index 579979ce3c5..28053c1cdd6 100644 --- a/src/vs/code/node/sharedProcess/sharedProcessMain.ts +++ b/src/vs/code/node/sharedProcess/sharedProcessMain.ts @@ -109,6 +109,9 @@ import { UserDataAutoSyncService } from 'vs/platform/userDataSync/node/userDataA import { ExtensionTipsService } from 'vs/platform/extensionManagement/node/extensionTipsService'; import { IMainProcessService, MainProcessService } from 'vs/platform/ipc/common/mainProcessService'; import { RemoteStorageService } from 'vs/platform/storage/common/storageService'; +import { IRemoteSocketFactoryService, RemoteSocketFactoryService } from 'vs/platform/remote/common/remoteSocketFactoryService'; +import { RemoteConnectionType } from 'vs/platform/remote/common/remoteAuthorityResolver'; +import { nodeSocketFactory } from 'vs/platform/remote/node/nodeSocketFactory'; class SharedProcessMain extends Disposable { @@ -338,6 +341,9 @@ class SharedProcessMain extends Disposable { services.set(ISignService, new SyncDescriptor(SignService, undefined, false /* proxied to other processes */)); // Tunnel + const remoteSocketFactoryService = new RemoteSocketFactoryService(); + services.set(IRemoteSocketFactoryService, remoteSocketFactoryService); + remoteSocketFactoryService.register(RemoteConnectionType.WebSocket, nodeSocketFactory); services.set(ISharedTunnelsService, new SyncDescriptor(SharedTunnelsService)); services.set(ISharedProcessTunnelService, new SyncDescriptor(SharedProcessTunnelService));