@opensumi/ide-remote-opener 2.14.4 → 2.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,13 @@
1
1
  import { BrowserModule } from '@opensumi/ide-core-browser';
2
+ import { RemoteOpenerContributionClient } from './remote.opener.contribution';
2
3
  import { RemoteOpenerBrowserServiceImpl } from './remote.opener.service';
3
4
  export * from './remote.opener.service';
4
5
  export declare class RemoteOpenerModule extends BrowserModule {
5
- providers: {
6
+ contributionProvider: symbol[];
7
+ providers: (typeof RemoteOpenerContributionClient | {
6
8
  token: symbol;
7
9
  useClass: typeof RemoteOpenerBrowserServiceImpl;
8
- }[];
10
+ })[];
9
11
  backServices: {
10
12
  servicePath: string;
11
13
  clientToken: symbol;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AAExC,qBACa,kBAAmB,SAAQ,aAAa;IACnD,SAAS;;;QAKP;IACF,YAAY;;;QAKV;CACH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAE3D,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEzE,cAAc,yBAAyB,CAAC;AAExC,qBACa,kBAAmB,SAAQ,aAAa;IACnD,oBAAoB,WAAuC;IAC3D,SAAS;;;SAMP;IACF,YAAY;;;QAKV;CACH"}
@@ -4,23 +4,25 @@ exports.RemoteOpenerModule = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const di_1 = require("@opensumi/di");
6
6
  const ide_core_browser_1 = require("@opensumi/ide-core-browser");
7
- const remote_opener_1 = require("@opensumi/ide-core-browser/lib/remote-opener");
8
7
  const common_1 = require("../common");
8
+ const remote_opener_contribution_1 = require("./remote.opener.contribution");
9
9
  const remote_opener_service_1 = require("./remote.opener.service");
10
10
  (0, tslib_1.__exportStar)(require("./remote.opener.service"), exports);
11
11
  let RemoteOpenerModule = class RemoteOpenerModule extends ide_core_browser_1.BrowserModule {
12
12
  constructor() {
13
13
  super(...arguments);
14
+ this.contributionProvider = [common_1.RemoteOpenerConverterContribution];
14
15
  this.providers = [
15
16
  {
16
- token: remote_opener_1.RemoteOpenerBrowserServiceToken,
17
+ token: common_1.RemoteOpenerBrowserServiceToken,
17
18
  useClass: remote_opener_service_1.RemoteOpenerBrowserServiceImpl,
18
19
  },
20
+ remote_opener_contribution_1.RemoteOpenerContributionClient,
19
21
  ];
20
22
  this.backServices = [
21
23
  {
22
24
  servicePath: common_1.RemoteOpenerServicePath,
23
- clientToken: remote_opener_1.RemoteOpenerBrowserServiceToken,
25
+ clientToken: common_1.RemoteOpenerBrowserServiceToken,
24
26
  },
25
27
  ];
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,iEAA2D;AAC3D,gFAA+F;AAE/F,sCAAoD;AACpD,mEAAyE;AAEzE,uEAAwC;AAGxC,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,gCAAa;IAArD;;QACE,cAAS,GAAG;YACV;gBACE,KAAK,EAAE,+CAA+B;gBACtC,QAAQ,EAAE,sDAA8B;aACzC;SACF,CAAC;QACF,iBAAY,GAAG;YACb;gBACE,WAAW,EAAE,gCAAuB;gBACpC,WAAW,EAAE,+CAA+B;aAC7C;SACF,CAAC;IACJ,CAAC;CAAA,CAAA;AAbY,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAa9B;AAbY,gDAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser/index.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,iEAA2D;AAC3D,sCAAwH;AACxH,6EAA8E;AAC9E,mEAAyE;AAEzE,uEAAwC;AAGxC,IAAa,kBAAkB,GAA/B,MAAa,kBAAmB,SAAQ,gCAAa;IAArD;;QACE,yBAAoB,GAAG,CAAC,0CAAiC,CAAC,CAAC;QAC3D,cAAS,GAAG;YACV;gBACE,KAAK,EAAE,wCAA+B;gBACtC,QAAQ,EAAE,sDAA8B;aACzC;YACD,2DAA8B;SAC/B,CAAC;QACF,iBAAY,GAAG;YACb;gBACE,WAAW,EAAE,gCAAuB;gBACpC,WAAW,EAAE,wCAA+B;aAC7C;SACF,CAAC;IACJ,CAAC;CAAA,CAAA;AAfY,kBAAkB;IAD9B,IAAA,eAAU,GAAE;GACA,kBAAkB,CAe9B;AAfY,gDAAkB"}
@@ -0,0 +1,11 @@
1
+ import { ClientAppContribution } from '@opensumi/ide-core-browser';
2
+ export declare class RemoteOpenerContributionClient implements ClientAppContribution {
3
+ private readonly injector;
4
+ private readonly remoteOpenerNodeService;
5
+ private readonly contributionProvider;
6
+ private readonly remoteOpenerService;
7
+ private readonly debug;
8
+ onStart(): void;
9
+ onStop(): void;
10
+ }
11
+ //# sourceMappingURL=remote.opener.contribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.opener.contribution.d.ts","sourceRoot":"","sources":["../../src/browser/remote.opener.contribution.ts"],"names":[],"mappings":"AAUA,OAAO,EAAa,qBAAqB,EAAe,MAAM,4BAA4B,CAAC;AAkB3F,qBACa,8BAA+B,YAAW,qBAAqB;IAE1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAuB;IAG/D,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA0D;IAG/F,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA8B;IAElE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C,OAAO;IAOP,MAAM;CAQP"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoteOpenerContributionClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const di_1 = require("@opensumi/di");
6
+ const ide_core_common_1 = require("@opensumi/ide-core-common");
7
+ const common_1 = require("../common");
8
+ const common_2 = require("../common");
9
+ const ide_core_browser_1 = require("@opensumi/ide-core-browser");
10
+ const ws_channel_handler_1 = require("@opensumi/ide-connection/lib/browser/ws-channel-handler");
11
+ // 从extension.contribution.ts中Copy过来,因为直接引入会有一定概率触发IDE初始化问题
12
+ const getClientId = (injector) => {
13
+ let clientId;
14
+ const appConfig = injector.get(ide_core_browser_1.AppConfig);
15
+ // Electron 环境下,未指定 isRemote 时默认使用本地连接
16
+ // 否则使用 WebSocket 连接
17
+ if (appConfig.isElectronRenderer && !appConfig.isRemote) {
18
+ clientId = ide_core_browser_1.electronEnv.metadata.windowClientId;
19
+ }
20
+ else {
21
+ const channelHandler = injector.get(ws_channel_handler_1.WSChannelHandler);
22
+ clientId = channelHandler.clientId;
23
+ }
24
+ return clientId;
25
+ };
26
+ let RemoteOpenerContributionClient = class RemoteOpenerContributionClient {
27
+ constructor() {
28
+ this.debug = (0, ide_core_common_1.getDebugLogger)();
29
+ }
30
+ onStart() {
31
+ const contributions = this.contributionProvider.getContributions();
32
+ for (const contribution of contributions) {
33
+ contribution.registerConverter(this.remoteOpenerService);
34
+ }
35
+ }
36
+ onStop() {
37
+ try {
38
+ const clientId = getClientId(this.injector);
39
+ this.remoteOpenerNodeService.removeConnectionClientId(clientId);
40
+ }
41
+ catch (e) {
42
+ this.debug.error(e);
43
+ }
44
+ }
45
+ };
46
+ (0, tslib_1.__decorate)([
47
+ (0, di_1.Autowired)(di_1.INJECTOR_TOKEN),
48
+ (0, tslib_1.__metadata)("design:type", di_1.Injector)
49
+ ], RemoteOpenerContributionClient.prototype, "injector", void 0);
50
+ (0, tslib_1.__decorate)([
51
+ (0, di_1.Autowired)(common_1.RemoteOpenerServicePath),
52
+ (0, tslib_1.__metadata)("design:type", Object)
53
+ ], RemoteOpenerContributionClient.prototype, "remoteOpenerNodeService", void 0);
54
+ (0, tslib_1.__decorate)([
55
+ (0, di_1.Autowired)(common_2.RemoteOpenerConverterContribution),
56
+ (0, tslib_1.__metadata)("design:type", Object)
57
+ ], RemoteOpenerContributionClient.prototype, "contributionProvider", void 0);
58
+ (0, tslib_1.__decorate)([
59
+ (0, di_1.Autowired)(common_2.RemoteOpenerBrowserServiceToken),
60
+ (0, tslib_1.__metadata)("design:type", Object)
61
+ ], RemoteOpenerContributionClient.prototype, "remoteOpenerService", void 0);
62
+ RemoteOpenerContributionClient = (0, tslib_1.__decorate)([
63
+ (0, ide_core_common_1.Domain)(ide_core_browser_1.ClientAppContribution)
64
+ ], RemoteOpenerContributionClient);
65
+ exports.RemoteOpenerContributionClient = RemoteOpenerContributionClient;
66
+ //# sourceMappingURL=remote.opener.contribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote.opener.contribution.js","sourceRoot":"","sources":["../../src/browser/remote.opener.contribution.ts"],"names":[],"mappings":";;;;AAAA,qCAAmE;AACnE,+DAAyF;AAEzF,sCAA0E;AAC1E,sCAImB;AAEnB,iEAA2F;AAC3F,gGAA2F;AAC3F,2DAA2D;AAC3D,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,EAAE;IACzC,IAAI,QAAgB,CAAC;IACrB,MAAM,SAAS,GAAc,QAAQ,CAAC,GAAG,CAAC,4BAAS,CAAC,CAAC;IAErD,sCAAsC;IACtC,oBAAoB;IACpB,IAAI,SAAS,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;QACvD,QAAQ,GAAG,8BAAW,CAAC,QAAQ,CAAC,cAAc,CAAC;KAChD;SAAM;QACL,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,qCAAgB,CAAC,CAAC;QACtD,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;KACpC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAGF,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IAA3C;QAamB,UAAK,GAAG,IAAA,gCAAc,GAAE,CAAC;IAiB5C,CAAC;IAfC,OAAO;QACL,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,EAAE,CAAC;QACnE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;YACxC,YAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,MAAM;QACJ,IAAI;YACF,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACrB;IACH,CAAC;CACF,CAAA;AA5BC;IADC,IAAA,cAAS,EAAC,mBAAc,CAAC;2CACC,aAAQ;gEAAC;AAGpC;IADC,IAAA,cAAS,EAAC,gCAAuB,CAAC;;+EAC4B;AAG/D;IADC,IAAA,cAAS,EAAC,0CAAiC,CAAC;;4EACkD;AAG/F;IADC,IAAA,cAAS,EAAC,wCAA+B,CAAC;;2EACuB;AAXvD,8BAA8B;IAD1C,IAAA,wBAAM,EAAC,wCAAqB,CAAC;GACjB,8BAA8B,CA8B1C;AA9BY,wEAA8B"}
@@ -1,6 +1,6 @@
1
1
  import { CommandService, IDisposable, Uri } from '@opensumi/ide-core-common';
2
2
  import { RPCService } from '@opensumi/ide-connection/lib/common/proxy';
3
- import { IRemoteHostConverter, IRemoteOpenerBrowserService } from '@opensumi/ide-core-browser/lib/remote-opener';
3
+ import { IRemoteHostConverter, IRemoteOpenerBrowserService } from '../common';
4
4
  export declare class RemoteOpenerBrowserServiceImpl extends RPCService implements IRemoteOpenerBrowserService {
5
5
  private readonly workbenchEditorService;
6
6
  protected commandService: CommandService;
@@ -1 +1 @@
1
- {"version":3,"file":"remote.opener.service.d.ts","sourceRoot":"","sources":["../../src/browser/remote.opener.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAc,WAAW,EAAE,GAAG,EAAO,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAIvE,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAIjH,qBACa,8BAA+B,SAAQ,UAAW,YAAW,2BAA2B;IAEnG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAGhE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,OAAO,CAAC,YAAY,CAAuC;IAE3D,OAAO,CAAC,SAAS,CAAqC;IAEtD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE;IAWpC,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,WAAW;IAW/D,IAAI,qBAAqB,IAAI,OAAO,CAGnC;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCnE"}
1
+ {"version":3,"file":"remote.opener.service.d.ts","sourceRoot":"","sources":["../../src/browser/remote.opener.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAc,WAAW,EAAE,GAAG,EAAO,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAIvE,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAK9E,qBACa,8BAA+B,SAAQ,UAAW,YAAW,2BAA2B;IAEnG,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAGhE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAGtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAE/C,OAAO,CAAC,YAAY,CAA0B;IAE9C,OAAO,CAAC,SAAS,CAAqC;IAEtD,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE;IAWpC,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,WAAW;IAW/D,IAAI,qBAAqB,IAAI,OAAO,CAGnC;IAEK,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAmCnE"}
@@ -8,11 +8,12 @@ const ide_core_common_1 = require("@opensumi/ide-core-common");
8
8
  const proxy_1 = require("@opensumi/ide-connection/lib/common/proxy");
9
9
  const preferences_1 = require("@opensumi/ide-core-browser/lib/preferences");
10
10
  const opener_1 = require("@opensumi/ide-core-browser/lib/opener");
11
- const SUPPORT_HOSTS = ['localhost', '127.0.0.1', '0.0.0.0'];
11
+ // 不预置SUPPORT_HOSTS,改为用户注册,默认走openerService来处理这部分逻辑
12
+ // const SUPPORT_HOSTS = ['localhost', '127.0.0.1', '0.0.0.0'];
12
13
  let RemoteOpenerBrowserServiceImpl = class RemoteOpenerBrowserServiceImpl extends proxy_1.RPCService {
13
14
  constructor() {
14
15
  super(...arguments);
15
- this.supportHosts = new Set(SUPPORT_HOSTS);
16
+ this.supportHosts = new Set();
16
17
  this.converter = null;
17
18
  }
18
19
  registerSupportHosts(hosts) {
@@ -65,6 +66,7 @@ let RemoteOpenerBrowserServiceImpl = class RemoteOpenerBrowserServiceImpl extend
65
66
  this.workbenchEditorService.open(ide_core_common_1.URI.parse(revivedUri.toString()), { preview: false, focus: true });
66
67
  break;
67
68
  default:
69
+ // eslint-disable-next-line no-console
68
70
  console.warn(`Unsupported ${type}.`);
69
71
  break;
70
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote.opener.service.js","sourceRoot":"","sources":["../../src/browser/remote.opener.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote.opener.service.js","sourceRoot":"","sources":["../../src/browser/remote.opener.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { IDisposable, Uri } from '@opensumi/ide-core-browser';
1
2
  export declare const RemoteOpenerServicePath = "RemoteOpenerService";
2
3
  export interface IExternalFileArgs {
3
4
  type: 'file';
@@ -12,10 +13,40 @@ export interface IExternalUrlArgs {
12
13
  export declare const RemoteOpenerServiceToken: unique symbol;
13
14
  export interface IRemoteOpenerService {
14
15
  openExternal(args: IExternalFileArgs | IExternalUrlArgs): Promise<void>;
16
+ removeConnectionClientId(clientId: string): void;
17
+ setConnectionClientId(clientId: string): void;
15
18
  }
16
19
  export declare const RemoteOpenerClientToken: unique symbol;
17
20
  export interface IRemoteOpenerClient {
21
+ removeRemoteOpenerServiceInstance(clientId: string): void;
18
22
  setRemoteOpenerServiceInstance(clientId: string, service: IRemoteOpenerService): void;
19
23
  openExternal(args: IExternalFileArgs | IExternalUrlArgs, clientId: string): Promise<void>;
20
24
  }
25
+ export declare const RemoteOpenerConverterContribution: unique symbol;
26
+ export interface RemoteOpenerConverterContribution {
27
+ registerConverter(registry: IRemoteOpenerBrowserService): void;
28
+ }
29
+ export interface IRemoteHostConverter {
30
+ /**
31
+ * Convert a port to a host name for cloud IDE.
32
+ * @example
33
+ * ```typescript
34
+ * // port: 3030
35
+ * const host = converter.convert('3030');
36
+ * // host: 'cloud-ide.opensumi-3030.com'
37
+ * ```
38
+ */
39
+ convert(port: string): string;
40
+ }
41
+ export declare const RemoteOpenerBrowserServiceToken: unique symbol;
42
+ export interface IRemoteOpenerBrowserService {
43
+ $openExternal(type: 'file' | 'url', uri: Uri): Promise<void>;
44
+ /**
45
+ * Register a converter.
46
+ * @see IRemoteHostConverter
47
+ * @param converter is a converter to convert port to host name.
48
+ */
49
+ registerConverter(converter: IRemoteHostConverter): IDisposable;
50
+ registerSupportHosts(hosts: string[]): IDisposable;
51
+ }
21
52
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtF,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,4BAA4B,CAAC;AAE9D,eAAO,MAAM,uBAAuB,wBAAwB,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,KAAK,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,wBAAwB,eAAqC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1D,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACtF,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3F;AAED,eAAO,MAAM,iCAAiC,eAA8C,CAAC;AAE7F,MAAM,WAAW,iCAAiC;IAChD,iBAAiB,CAAC,QAAQ,EAAE,2BAA2B,GAAG,IAAI,CAAC;CAChE;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;OAQG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,+BAA+B,eAA4C,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,oBAAoB,GAAG,WAAW,CAAC;IAEhE,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;CACpD"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RemoteOpenerClientToken = exports.RemoteOpenerServiceToken = exports.RemoteOpenerServicePath = void 0;
3
+ exports.RemoteOpenerBrowserServiceToken = exports.RemoteOpenerConverterContribution = exports.RemoteOpenerClientToken = exports.RemoteOpenerServiceToken = exports.RemoteOpenerServicePath = void 0;
4
4
  exports.RemoteOpenerServicePath = 'RemoteOpenerService';
5
5
  exports.RemoteOpenerServiceToken = Symbol('RemoteOpenerServiceToken');
6
6
  exports.RemoteOpenerClientToken = Symbol('RemoteOpenerClientToken');
7
+ exports.RemoteOpenerConverterContribution = Symbol('RemoteOpenerConverterContribution');
8
+ exports.RemoteOpenerBrowserServiceToken = Symbol('RemoteOpenerBrowserServiceToken');
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAG,qBAAqB,CAAC;AAchD,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAM9D,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAEa,QAAA,uBAAuB,GAAG,qBAAqB,CAAC;AAchD,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAQ9D,QAAA,uBAAuB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;AAQ5D,QAAA,iCAAiC,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AAmBhF,QAAA,+BAA+B,GAAG,MAAM,CAAC,iCAAiC,CAAC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { IExternalFileArgs, IExternalUrlArgs, IRemoteOpenerClient, IRemoteOpenerService } from '../common';
2
2
  export declare class RemoteOpenerClientImpl implements IRemoteOpenerClient {
3
3
  private remoteOpenerServices;
4
+ private readonly logger;
4
5
  setRemoteOpenerServiceInstance(clientId: string, service: IRemoteOpenerService): void;
6
+ removeRemoteOpenerServiceInstance(clientId: string): void;
5
7
  openExternal(args: IExternalFileArgs | IExternalUrlArgs, clientId: string): Promise<void>;
6
8
  }
7
9
  //# sourceMappingURL=opener.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opener.client.d.ts","sourceRoot":"","sources":["../../src/node/opener.client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAE3G,qBACa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,oBAAoB,CAAgD;IAE5E,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAO/E,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQhG"}
1
+ {"version":3,"file":"opener.client.d.ts","sourceRoot":"","sources":["../../src/node/opener.client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAK3G,qBACa,sBAAuB,YAAW,mBAAmB;IAChE,OAAO,CAAC,oBAAoB,CAAgD;IAG5E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAErC,8BAA8B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAOrF,iCAAiC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBhG"}
@@ -3,6 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RemoteOpenerClientImpl = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const di_1 = require("@opensumi/di");
6
+ const ide_core_node_1 = require("@opensumi/ide-core-node");
7
+ // remote opener 强制打开的ClientId的数量限制,在限制之内的话会遍历Map,无视ClientId对应强制打开
8
+ // 原因是:避免Terminal Restore这种场景下,环境变量的ClientID和窗口的不一致,导致无法使用RemoteOpen,做一个兜底
9
+ const FORCE_OPEN_LIMIT = 4;
6
10
  let RemoteOpenerClientImpl = class RemoteOpenerClientImpl {
7
11
  constructor() {
8
12
  this.remoteOpenerServices = new Map();
@@ -13,14 +17,28 @@ let RemoteOpenerClientImpl = class RemoteOpenerClientImpl {
13
17
  }
14
18
  this.remoteOpenerServices.set(clientId, service);
15
19
  }
20
+ removeRemoteOpenerServiceInstance(clientId) {
21
+ this.remoteOpenerServices.delete(clientId);
22
+ }
16
23
  async openExternal(args, clientId) {
17
24
  const service = this.remoteOpenerServices.get(clientId);
18
25
  if (!service) {
19
- throw new Error(`Remote opener service instance for client ${clientId} not set.`);
26
+ // 没有命中ClientID时兜底强制打开
27
+ if (this.remoteOpenerServices.values.length <= FORCE_OPEN_LIMIT) {
28
+ this.remoteOpenerServices.forEach((service, clientId) => {
29
+ service.openExternal(Object.assign(Object.assign({}, args), { clientId }));
30
+ });
31
+ }
32
+ this.logger.warn(`Remote opener service instance for client ${clientId} not found.`);
33
+ return;
20
34
  }
21
35
  service.openExternal(args);
22
36
  }
23
37
  };
38
+ (0, tslib_1.__decorate)([
39
+ (0, di_1.Autowired)(ide_core_node_1.INodeLogger),
40
+ (0, tslib_1.__metadata)("design:type", Object)
41
+ ], RemoteOpenerClientImpl.prototype, "logger", void 0);
24
42
  RemoteOpenerClientImpl = (0, tslib_1.__decorate)([
25
43
  (0, di_1.Injectable)()
26
44
  ], RemoteOpenerClientImpl);
@@ -1 +1 @@
1
- {"version":3,"file":"opener.client.js","sourceRoot":"","sources":["../../src/node/opener.client.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAK1C,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAAnC;QACU,yBAAoB,GAAsC,IAAI,GAAG,EAAE,CAAC;IAiB9E,CAAC;IAfC,8BAA8B,CAAC,QAAgB,EAAE,OAA6B;QAC5E,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,eAAe,CAAC,CAAC;SACvF;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA0C,EAAE,QAAgB;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,WAAW,CAAC,CAAC;SACnF;QAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AAlBY,sBAAsB;IADlC,IAAA,eAAU,GAAE;GACA,sBAAsB,CAkBlC;AAlBY,wDAAsB"}
1
+ {"version":3,"file":"opener.client.js","sourceRoot":"","sources":["../../src/node/opener.client.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,2DAAsD;AAItD,kEAAkE;AAClE,0EAA0E;AAC1E,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,IAAa,sBAAsB,GAAnC,MAAa,sBAAsB;IAAnC;QACU,yBAAoB,GAAsC,IAAI,GAAG,EAAE,CAAC;IAiC9E,CAAC;IA5BC,8BAA8B,CAAC,QAAgB,EAAE,OAA6B;QAC5E,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,eAAe,CAAC,CAAC;SACvF;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED,iCAAiC,CAAC,QAAgB;QAChD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA0C,EAAE,QAAgB;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO,EAAE;YACZ,sBAAsB;YACtB,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,EAAE;gBAC/D,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;oBACtD,OAAO,CAAC,YAAY,iCAAM,IAAI,KAAE,QAAQ,IAAG,CAAC;gBAC9C,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,QAAQ,aAAa,CAAC,CAAC;YACrF,OAAO;SACR;QAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;CACF,CAAA;AA9BC;IADC,IAAA,cAAS,EAAC,2BAAW,CAAC;;sDACc;AAJ1B,sBAAsB;IADlC,IAAA,eAAU,GAAE;GACA,sBAAsB,CAkClC;AAlCY,wDAAsB"}
@@ -4,6 +4,7 @@ export declare class RemoteOpenerServiceImpl extends RPCService implements IRemo
4
4
  private clientId;
5
5
  private readonly remoteOpenerClient;
6
6
  setConnectionClientId(clientId: string): void;
7
+ removeConnectionClientId(clientId: string): void;
7
8
  openExternal(args: IExternalFileArgs | IExternalUrlArgs): Promise<void>;
8
9
  }
9
10
  //# sourceMappingURL=opener.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"opener.service.d.ts","sourceRoot":"","sources":["../../src/node/opener.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,oBAAoB,EAErB,MAAM,WAAW,CAAC;AAEnB,qBACa,uBAAwB,SAAQ,UAAW,YAAW,oBAAoB;IACrF,OAAO,CAAC,QAAQ,CAAqB;IAGrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKvC,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAW9E"}
1
+ {"version":3,"file":"opener.service.d.ts","sourceRoot":"","sources":["../../src/node/opener.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,oBAAoB,EAErB,MAAM,WAAW,CAAC;AAEnB,qBACa,uBAAwB,SAAQ,UAAW,YAAW,oBAAoB;IACrF,OAAO,CAAC,QAAQ,CAAqB;IAGrC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAsB;IAEzD,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7C,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;CAY9E"}
@@ -11,6 +11,9 @@ let RemoteOpenerServiceImpl = class RemoteOpenerServiceImpl extends ide_connecti
11
11
  this.clientId = clientId;
12
12
  this.remoteOpenerClient.setRemoteOpenerServiceInstance(clientId, this);
13
13
  }
14
+ removeConnectionClientId(clientId) {
15
+ this.remoteOpenerClient.removeRemoteOpenerServiceInstance(clientId);
16
+ }
14
17
  async openExternal(args) {
15
18
  if (args.clientId !== this.clientId) {
16
19
  throw new Error(`Unknown client id ${args.clientId}`);
@@ -19,6 +22,7 @@ let RemoteOpenerServiceImpl = class RemoteOpenerServiceImpl extends ide_connecti
19
22
  await this.client.$openExternal(args.type, args.type === 'file' ? uri_1.Uri.file(args.file) : uri_1.Uri.parse(args.url));
20
23
  }
21
24
  catch (err) {
25
+ // eslint-disable-next-line no-console
22
26
  console.log(`Error opening external error: ${err.message || err}`);
23
27
  }
24
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opener.service.js","sourceRoot":"","sources":["../../src/node/opener.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,2DAAwD;AACxD,6DAAsD;AAEtD,sCAMmB;AAGnB,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,2BAAU;IAMrD,qBAAqB,CAAC,QAAgB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA0C;QAC3D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD;QAED,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9G;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;SACpE;IACH,CAAC;CACF,CAAA;AAlBC;IADC,IAAA,cAAS,EAAC,gCAAuB,CAAC;;mEACsB;AAJ9C,uBAAuB;IADnC,IAAA,eAAU,GAAE;GACA,uBAAuB,CAsBnC;AAtBY,0DAAuB"}
1
+ {"version":3,"file":"opener.service.js","sourceRoot":"","sources":["../../src/node/opener.service.ts"],"names":[],"mappings":";;;;AAAA,qCAAqD;AACrD,2DAAwD;AACxD,6DAAsD;AAEtD,sCAMmB;AAGnB,IAAa,uBAAuB,GAApC,MAAa,uBAAwB,SAAQ,2BAAU;IAMrD,qBAAqB,CAAC,QAAgB;QACpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,wBAAwB,CAAC,QAAgB;QACvC,IAAI,CAAC,kBAAkB,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA0C;QAC3D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;SACvD;QAED,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9G;QAAC,OAAO,GAAG,EAAE;YACZ,sCAAsC;YACtC,OAAO,CAAC,GAAG,CAAC,iCAAiC,GAAG,CAAC,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;SACpE;IACH,CAAC;CACF,CAAA;AAvBC;IADC,IAAA,cAAS,EAAC,gCAAuB,CAAC;;mEACsB;AAJ9C,uBAAuB;IADnC,IAAA,eAAU,GAAE;GACA,uBAAuB,CA2BnC;AA3BY,0DAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensumi/ide-remote-opener",
3
- "version": "2.14.4",
3
+ "version": "2.15.0",
4
4
  "files": [
5
5
  "lib"
6
6
  ],
@@ -16,11 +16,13 @@
16
16
  "url": "git@github.com:opensumi/core.git"
17
17
  },
18
18
  "dependencies": {
19
- "@opensumi/ide-connection": "2.14.4",
20
- "@opensumi/ide-core-browser": "2.14.4",
21
- "@opensumi/ide-core-common": "2.14.4",
22
- "@opensumi/ide-core-node": "2.14.4",
23
- "@opensumi/ide-editor": "2.14.4"
19
+ "@opensumi/ide-connection": "2.15.0",
20
+ "@opensumi/ide-core-common": "2.15.0",
21
+ "@opensumi/ide-core-node": "2.15.0"
24
22
  },
25
- "gitHead": "d6abd22521c8209373866b1b6e666aef034429c6"
23
+ "devDependencies": {
24
+ "@opensumi/ide-core-browser": "2.15.0",
25
+ "@opensumi/ide-editor": "2.15.0"
26
+ },
27
+ "gitHead": "247250dbb970a599c3dbaeff3ac4360a314614ab"
26
28
  }