Skip to content

Commit 2f38e3e

Browse files
committed
Minor tweaks
1 parent 78d6263 commit 2f38e3e

3 files changed

Lines changed: 48 additions & 7 deletions

File tree

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ import { LogLevelSetterChannel } from 'vs/platform/log/node/logIpc';
5656
import * as errors from 'vs/base/common/errors';
5757
import { ElectronURLListener } from 'vs/platform/url/electron-main/electronUrlListener';
5858
import { serve as serveDriver } from 'vs/platform/driver/electron-main/driver';
59-
import { connectRemoteAgentManagement, ManagementPersistentConnection } from 'vs/platform/remote/node/remoteAgentConnection';
59+
import { connectRemoteAgentManagement, ManagementPersistentConnection, IConnectionOptions } from 'vs/platform/remote/node/remoteAgentConnection';
6060
import { IMenubarService } from 'vs/platform/menubar/common/menubar';
6161
import { MenubarService } from 'vs/platform/menubar/electron-main/menubarService';
6262
import { MenubarChannel } from 'vs/platform/menubar/node/menubarIpc';
@@ -684,7 +684,16 @@ export class CodeApplication extends Disposable {
684684

685685
constructor(authority: string, host: string, port: number) {
686686
this._authority = authority;
687-
this._connection = connectRemoteAgentManagement(authority, host, port, `main`, isBuilt);
687+
const options: IConnectionOptions = {
688+
isBuilt: isBuilt,
689+
commit: product.commit,
690+
addressProvider: {
691+
getAddress: () => {
692+
return Promise.resolve({ host, port });
693+
}
694+
}
695+
};
696+
this._connection = connectRemoteAgentManagement(options, authority, `main`);
688697
this._disposeRunner = new RunOnceScheduler(() => this.dispose(), 5000);
689698
}
690699

src/vs/platform/remote/node/remoteAgentConnection.ts

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,36 @@ export interface IRemoteExtensionHostStartParams {
1515
updatePort?: boolean;
1616
}
1717

18-
export async function connectRemoteAgentManagement(remoteAuthority: string, host: string, port: number, clientId: string, isBuilt: boolean): Promise<ManagementPersistentConnection> {
18+
export interface IConnectionOptions {
19+
isBuilt: boolean;
20+
commit: string | undefined;
21+
addressProvider: IAddressProvider;
22+
}
23+
24+
export interface IAddress {
25+
host: string;
26+
port: number;
27+
}
28+
29+
export interface IAddressProvider {
30+
getAddress(): Promise<IAddress>;
31+
}
32+
33+
export async function connectRemoteAgentManagement(options: IConnectionOptions, remoteAuthority: string, clientId: string): Promise<ManagementPersistentConnection> {
1934
throw new Error(`Not implemented`);
2035
}
2136

22-
export async function connectRemoteAgentExtensionHost(host: string, port: number, startArguments: IRemoteExtensionHostStartParams, isBuilt: boolean): Promise<ExtensionHostPersistentConnection> {
37+
export async function connectRemoteAgentExtensionHost(options: IConnectionOptions, startArguments: IRemoteExtensionHostStartParams): Promise<ExtensionHostPersistentConnection> {
2338
throw new Error(`Not implemented`);
2439
}
2540

41+
export async function createRemoteTunnel(options: IConnectionOptions, tunnelRemotePort: number): Promise<RemoteTunnel> {
42+
throw new Error(`Not implemented`);
43+
}
44+
45+
export class RemoteTunnel extends Disposable {
46+
}
47+
2648
abstract class PersistentConnection extends Disposable {
2749

2850
public readonly reconnectionToken: string;

src/vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl.ts

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { Disposable } from 'vs/base/common/lifecycle';
77
import { IChannel, IServerChannel, getDelayedChannel } from 'vs/base/parts/ipc/common/ipc';
88
import { Client } from 'vs/base/parts/ipc/common/ipc.net';
99
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
10-
import { connectRemoteAgentManagement } from 'vs/platform/remote/node/remoteAgentConnection';
10+
import { connectRemoteAgentManagement, IConnectionOptions } from 'vs/platform/remote/node/remoteAgentConnection';
1111
import { IWindowConfiguration } from 'vs/platform/windows/common/windows';
1212
import { IRemoteAgentConnection, IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
1313
import { IRemoteAuthorityResolverService } from 'vs/platform/remote/common/remoteAuthorityResolver';
@@ -18,6 +18,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
1818
import { RemoteExtensionEnvironmentChannelClient } from 'vs/workbench/services/remote/node/remoteAgentEnvironmentChannel';
1919
import { INotificationService } from 'vs/platform/notification/common/notification';
2020
import { localize } from 'vs/nls';
21+
import product from 'vs/platform/product/node/product';
2122

2223
export class RemoteAgentService extends Disposable implements IRemoteAgentService {
2324

@@ -86,8 +87,17 @@ class RemoteAgentConnection extends Disposable implements IRemoteAgentConnection
8687
}
8788

8889
private async _createConnection(): Promise<Client<RemoteAgentConnectionContext>> {
89-
const resolvedAuthority = await this._remoteAuthorityResolverService.resolveAuthority(this.remoteAuthority);
90-
const connection = await connectRemoteAgentManagement(this.remoteAuthority, resolvedAuthority.host, resolvedAuthority.port, `renderer`, this._environmentService.isBuilt);
90+
const options: IConnectionOptions = {
91+
isBuilt: this._environmentService.isBuilt,
92+
commit: product.commit,
93+
addressProvider: {
94+
getAddress: async () => {
95+
const { host, port } = await this._remoteAuthorityResolverService.resolveAuthority(this.remoteAuthority);
96+
return { host, port };
97+
}
98+
}
99+
};
100+
const connection = await connectRemoteAgentManagement(options, this.remoteAuthority, `renderer`);
91101
this._register(connection);
92102
return connection.client;
93103
}

0 commit comments

Comments
 (0)