@theia/remote 1.71.0-next.8 → 1.72.0-next.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.
Files changed (27) hide show
  1. package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts +4 -0
  2. package/lib/electron-browser/port-forwarding/port-forwading-contribution.d.ts.map +1 -1
  3. package/lib/electron-browser/port-forwarding/port-forwading-contribution.js +11 -2
  4. package/lib/electron-browser/port-forwarding/port-forwading-contribution.js.map +1 -1
  5. package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts +1 -0
  6. package/lib/electron-browser/port-forwarding/port-forwarding-service.d.ts.map +1 -1
  7. package/lib/electron-browser/port-forwarding/port-forwarding-service.js +1 -1
  8. package/lib/electron-browser/port-forwarding/port-forwarding-service.js.map +1 -1
  9. package/lib/electron-browser/port-forwarding/port-forwarding-widget.js +2 -2
  10. package/lib/electron-browser/port-forwarding/port-forwarding-widget.js.map +1 -1
  11. package/lib/electron-common/remote-port-forwarding-provider.d.ts +3 -0
  12. package/lib/electron-common/remote-port-forwarding-provider.d.ts.map +1 -1
  13. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts +20 -0
  14. package/lib/electron-node/setup/app-native-dependency-contribution.d.ts.map +1 -1
  15. package/lib/electron-node/setup/app-native-dependency-contribution.js +35 -5
  16. package/lib/electron-node/setup/app-native-dependency-contribution.js.map +1 -1
  17. package/lib/electron-node/setup/app-native-dependency-contribution.spec.d.ts +2 -0
  18. package/lib/electron-node/setup/app-native-dependency-contribution.spec.d.ts.map +1 -0
  19. package/lib/electron-node/setup/app-native-dependency-contribution.spec.js +50 -0
  20. package/lib/electron-node/setup/app-native-dependency-contribution.spec.js.map +1 -0
  21. package/package.json +16 -16
  22. package/src/electron-browser/port-forwarding/port-forwading-contribution.ts +11 -2
  23. package/src/electron-browser/port-forwarding/port-forwarding-service.ts +2 -1
  24. package/src/electron-browser/port-forwarding/port-forwarding-widget.tsx +2 -2
  25. package/src/electron-common/remote-port-forwarding-provider.ts +3 -0
  26. package/src/electron-node/setup/app-native-dependency-contribution.spec.ts +55 -0
  27. package/src/electron-node/setup/app-native-dependency-contribution.ts +39 -4
@@ -1,5 +1,9 @@
1
+ import { Command } from '@theia/core';
1
2
  import { AbstractViewContribution } from '@theia/core/lib/browser';
2
3
  import { PortForwardingWidget } from './port-forwarding-widget';
4
+ export declare namespace PortForwardingCommands {
5
+ const TOGGLE: Command;
6
+ }
3
7
  export declare class PortForwardingContribution extends AbstractViewContribution<PortForwardingWidget> {
4
8
  constructor();
5
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"port-forwading-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAE3F,qBACa,0BAA2B,SAAQ,wBAAwB,CAAC,oBAAoB,CAAC;;CAU7F"}
1
+ {"version":3,"file":"port-forwading-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAO,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAA6B,MAAM,0BAA0B,CAAC;AAE3F,yBAAiB,sBAAsB,CAAC;IAC7B,MAAM,MAAM,SAI0B,CAAC;CACjD;AAED,qBACa,0BAA2B,SAAQ,wBAAwB,CAAC,oBAAoB,CAAC;;CAW7F"}
@@ -15,12 +15,20 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.PortForwardingContribution = void 0;
18
+ exports.PortForwardingContribution = exports.PortForwardingCommands = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const core_1 = require("@theia/core");
21
21
  const browser_1 = require("@theia/core/lib/browser");
22
22
  const inversify_1 = require("@theia/core/shared/inversify");
23
23
  const port_forwarding_widget_1 = require("./port-forwarding-widget");
24
+ var PortForwardingCommands;
25
+ (function (PortForwardingCommands) {
26
+ PortForwardingCommands.TOGGLE = core_1.Command.toLocalizedCommand({
27
+ id: 'port-forwarding:toggle',
28
+ label: 'Ports: Focus on Ports View',
29
+ category: 'View'
30
+ }, 'theia/remote/port-forwarding/focusPorts');
31
+ })(PortForwardingCommands || (exports.PortForwardingCommands = PortForwardingCommands = {}));
24
32
  let PortForwardingContribution = class PortForwardingContribution extends browser_1.AbstractViewContribution {
25
33
  constructor() {
26
34
  super({
@@ -28,7 +36,8 @@ let PortForwardingContribution = class PortForwardingContribution extends browse
28
36
  widgetName: core_1.nls.localizeByDefault('Ports'),
29
37
  defaultWidgetOptions: {
30
38
  area: 'bottom'
31
- }
39
+ },
40
+ toggleCommandId: PortForwardingCommands.TOGGLE.id
32
41
  });
33
42
  }
34
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"port-forwading-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAAkC;AAClC,qDAAmE;AACnE,4DAA0D;AAC1D,qEAA2F;AAGpF,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,kCAA8C;IAC1F;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,kDAAyB;YACnC,UAAU,EAAE,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC1C,oBAAoB,EAAE;gBAClB,IAAI,EAAE,QAAQ;aACjB;SACJ,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAVY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,sBAAU,GAAE;;GACA,0BAA0B,CAUtC"}
1
+ {"version":3,"file":"port-forwading-contribution.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwading-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,sCAA2C;AAC3C,qDAAmE;AACnE,4DAA0D;AAC1D,qEAA2F;AAE3F,IAAiB,sBAAsB,CAMtC;AAND,WAAiB,sBAAsB;IACtB,6BAAM,GAAG,cAAO,CAAC,kBAAkB,CAAC;QAC7C,EAAE,EAAE,wBAAwB;QAC5B,KAAK,EAAE,4BAA4B;QACnC,QAAQ,EAAE,MAAM;KACnB,EAAE,yCAAyC,CAAC,CAAC;AAClD,CAAC,EANgB,sBAAsB,sCAAtB,sBAAsB,QAMtC;AAGM,IAAM,0BAA0B,GAAhC,MAAM,0BAA2B,SAAQ,kCAA8C;IAC1F;QACI,KAAK,CAAC;YACF,QAAQ,EAAE,kDAAyB;YACnC,UAAU,EAAE,UAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAC1C,oBAAoB,EAAE;gBAClB,IAAI,EAAE,QAAQ;aACjB;YACD,eAAe,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE;SACpD,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAXY,gEAA0B;qCAA1B,0BAA0B;IADtC,IAAA,sBAAU,GAAE;;GACA,0BAA0B,CAWtC"}
@@ -3,6 +3,7 @@ import { RemotePortForwardingProvider } from '../../electron-common/remote-port-
3
3
  export interface ForwardedPort {
4
4
  localPort?: number;
5
5
  address?: string;
6
+ label?: string;
6
7
  origin?: string;
7
8
  editing: boolean;
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"port-forwarding-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAGrG,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,qBAAqB;IAG9B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAuB;IACjE,QAAQ,CAAC,gBAAgB,oCAAsC;IAE/D,cAAc,EAAE,aAAa,EAAE,CAAM;IAGrC,IAAI,IAAI,IAAI;IAOZ,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IAK9C,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBxD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAU3C"}
1
+ {"version":3,"file":"port-forwarding-service.d.ts","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AAGrG,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CACpB;AAED,qBACa,qBAAqB;IAG9B,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC;IAEhD,SAAS,CAAC,QAAQ,CAAC,uBAAuB,gBAAuB;IACjE,QAAQ,CAAC,gBAAgB,oCAAsC;IAE/D,cAAc,EAAE,aAAa,EAAE,CAAM;IAGrC,IAAI,IAAI,IAAI;IAOZ,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,aAAa;IAK9C,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAqBxD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IASrC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAU3C"}
@@ -29,7 +29,7 @@ let PortForwardingService = class PortForwardingService {
29
29
  }
30
30
  init() {
31
31
  this.provider.getForwardedPorts().then(ports => {
32
- this.forwardedPorts.push(...ports.map(p => ({ address: p.address, localPort: p.port, editing: false })));
32
+ this.forwardedPorts.push(...ports.map(p => ({ address: p.address, localPort: p.port, label: p.label, editing: false })));
33
33
  this.onDidChangePortsEmitter.fire();
34
34
  });
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"port-forwarding-service.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port-forwarding-service.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-service.ts"],"names":[],"mappings":"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"}
@@ -45,14 +45,14 @@ let PortForwardingWidget = class PortForwardingWidget extends browser_1.ReactWid
45
45
  React.createElement("thead", null,
46
46
  React.createElement("tr", null,
47
47
  React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Port')),
48
+ React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Label')),
48
49
  React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Address')),
49
- React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Running Process')),
50
50
  React.createElement("th", { className: 'port-table-header' }, core_1.nls.localizeByDefault('Origin')))),
51
51
  React.createElement("tbody", null,
52
52
  this.portForwardingService.forwardedPorts.map(port => (React.createElement("tr", { key: port.address && port.localPort ? `${port.address}:${port.localPort}` : 'editing' },
53
53
  this.renderPortColumn(port),
54
+ React.createElement("td", null, port.label ?? ''),
54
55
  this.renderAddressColumn(port),
55
- React.createElement("td", null),
56
56
  React.createElement("td", null, port.origin ? core_1.nls.localizeByDefault(port.origin) : '')))),
57
57
  !this.portForwardingService.forwardedPorts.some(port => port.editing) && React.createElement("tr", null,
58
58
  React.createElement("td", null, this.renderForwardPortButton())))));
@@ -1 +1 @@
1
- {"version":3,"file":"port-forwarding-widget.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port-forwarding-widget.js","sourceRoot":"","sources":["../../../src/electron-browser/port-forwarding/port-forwarding-widget.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ export declare const RemotePortForwardingProvider: unique symbol;
3
3
  export interface ForwardedPort {
4
4
  port: number;
5
5
  address?: string;
6
+ label?: string;
7
+ protocol?: 'http' | 'https';
8
+ onAutoForward?: 'notify' | 'openBrowser' | 'openBrowserOnce' | 'openPreview' | 'silent' | 'ignore';
6
9
  }
7
10
  export interface RemotePortForwardingProvider {
8
11
  forwardPort(connectionPort: number, portToForward: ForwardedPort): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-port-forwarding-provider.d.ts","sourceRoot":"","sources":["../../src/electron-common/remote-port-forwarding-provider.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,sCAAsC,4BAA4B,CAAC;AAEhF,eAAO,MAAM,4BAA4B,eAAwC,CAAC;AAElF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA4B;IACzC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;CAChD"}
1
+ {"version":3,"file":"remote-port-forwarding-provider.d.ts","sourceRoot":"","sources":["../../src/electron-common/remote-port-forwarding-provider.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,sCAAsC,4BAA4B,CAAC;AAEhF,eAAO,MAAM,4BAA4B,eAAwC,CAAC;AAElF,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,iBAAiB,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACtG;AAED,MAAM,WAAW,4BAA4B;IACzC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAA;CAChD"}
@@ -1,8 +1,28 @@
1
1
  import { RemoteNativeDependencyContribution, DownloadOptions, DependencyDownload } from './remote-native-dependency-contribution';
2
2
  import { RemotePlatform } from '@theia/core/lib/node/remote/remote-cli-contribution';
3
+ /**
4
+ * GitHub release tag used for rolling pre-release publications of native
5
+ * dependencies for next-channel Theia versions (e.g. `1.71.0-next.28+sha`).
6
+ * Stable versions resolve to a `v<version>` tag instead.
7
+ */
8
+ export declare const NEXT_RELEASE_TAG = "next";
3
9
  export declare class AppNativeDependencyContribution implements RemoteNativeDependencyContribution {
4
10
  appDownloadUrlBase: string;
5
11
  protected getDefaultURLForFile(remotePlatform: RemotePlatform, theiaVersion: string): string;
12
+ /**
13
+ * Returns the GitHub release tag from which to download the native dependencies.
14
+ * Next-channel versions (containing `-next.`) resolve to the rolling `next`
15
+ * pre-release; stable versions resolve to `v<theiaVersion>`.
16
+ */
17
+ protected getReleaseTag(theiaVersion: string): string;
18
+ protected getAssetName(remotePlatform: RemotePlatform): string;
19
+ /**
20
+ * Validates that native dependencies are actually published for the given
21
+ * remote platform. The set of supported (os, arch) pairs mirrors the set
22
+ * accepted by `RemoteNodeSetupService.validatePlatform`, minus combinations
23
+ * for which we don't yet build native-dependency zips in CI.
24
+ */
25
+ protected validatePlatform(remotePlatform: RemotePlatform): void;
6
26
  download(options: DownloadOptions): Promise<DependencyDownload>;
7
27
  }
8
28
  //# sourceMappingURL=app-native-dependency-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-native-dependency-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClI,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBACa,+BAAgC,YAAW,kCAAkC;IAEtF,kBAAkB,SAA8D;IAEhF,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAetF,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAMxE"}
1
+ {"version":3,"file":"app-native-dependency-contribution.d.ts","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,kCAAkC,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClI,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,SAAS,CAAC;AAEvC,qBACa,+BAAgC,YAAW,kCAAkC;IAEtF,kBAAkB,SAA8D;IAEhF,SAAS,CAAC,oBAAoB,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAK5F;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAIrD,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;IAY9D;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAW1D,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAMxE"}
@@ -15,18 +15,33 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.AppNativeDependencyContribution = void 0;
18
+ exports.AppNativeDependencyContribution = exports.NEXT_RELEASE_TAG = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const core_1 = require("@theia/core");
22
+ /**
23
+ * GitHub release tag used for rolling pre-release publications of native
24
+ * dependencies for next-channel Theia versions (e.g. `1.71.0-next.28+sha`).
25
+ * Stable versions resolve to a `v<version>` tag instead.
26
+ */
27
+ exports.NEXT_RELEASE_TAG = 'next';
22
28
  let AppNativeDependencyContribution = class AppNativeDependencyContribution {
23
29
  constructor() {
24
30
  this.appDownloadUrlBase = 'https://github.com/eclipse-theia/theia/releases/download';
25
31
  }
26
32
  getDefaultURLForFile(remotePlatform, theiaVersion) {
27
- if (remotePlatform.arch !== 'x64') {
28
- throw new Error(`Unsupported remote architecture '${remotePlatform.arch}'. Remote support is only available for x64 architectures.`);
29
- }
33
+ this.validatePlatform(remotePlatform);
34
+ return `${this.appDownloadUrlBase}/${this.getReleaseTag(theiaVersion)}/${this.getAssetName(remotePlatform)}`;
35
+ }
36
+ /**
37
+ * Returns the GitHub release tag from which to download the native dependencies.
38
+ * Next-channel versions (containing `-next.`) resolve to the rolling `next`
39
+ * pre-release; stable versions resolve to `v<theiaVersion>`.
40
+ */
41
+ getReleaseTag(theiaVersion) {
42
+ return /-next\./.test(theiaVersion) ? exports.NEXT_RELEASE_TAG : `v${theiaVersion}`;
43
+ }
44
+ getAssetName(remotePlatform) {
30
45
  let platform;
31
46
  if (remotePlatform.os === core_1.OS.Type.Windows) {
32
47
  platform = 'win32';
@@ -37,7 +52,22 @@ let AppNativeDependencyContribution = class AppNativeDependencyContribution {
37
52
  else {
38
53
  platform = 'linux';
39
54
  }
40
- return `${this.appDownloadUrlBase}/v${theiaVersion}/native-dependencies-${platform}-${remotePlatform.arch}.zip`;
55
+ return `native-dependencies-${platform}-${remotePlatform.arch}.zip`;
56
+ }
57
+ /**
58
+ * Validates that native dependencies are actually published for the given
59
+ * remote platform. The set of supported (os, arch) pairs mirrors the set
60
+ * accepted by `RemoteNodeSetupService.validatePlatform`, minus combinations
61
+ * for which we don't yet build native-dependency zips in CI.
62
+ */
63
+ validatePlatform(remotePlatform) {
64
+ const { os, arch } = remotePlatform;
65
+ const supported = (os === core_1.OS.Type.Windows && arch === 'x64') ||
66
+ (os === core_1.OS.Type.Linux && arch === 'x64') ||
67
+ (os === core_1.OS.Type.OSX && (arch === 'x64' || arch === 'arm64'));
68
+ if (!supported) {
69
+ throw new Error(`No prebuilt native dependencies are published for '${os}-${arch}'.`);
70
+ }
41
71
  }
42
72
  async download(options) {
43
73
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"app-native-dependency-contribution.js","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAG1D,sCAAiC;AAG1B,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAArC;QAEH,uBAAkB,GAAG,0DAA0D,CAAC;IAuBpF,CAAC;IArBa,oBAAoB,CAAC,cAA8B,EAAE,YAAoB;QAC/E,IAAI,cAAc,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,oCAAoC,cAAc,CAAC,IAAI,4DAA4D,CAAC,CAAC;QACzI,CAAC;QACD,IAAI,QAAgB,CAAC;QACrB,IAAI,cAAc,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,cAAc,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,kBAAkB,KAAK,YAAY,wBAAwB,QAAQ,IAAI,cAAc,CAAC,IAAI,MAAM,CAAC;IACpH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACnC,OAAO;YACH,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACvG,OAAO,EAAE,KAAK;SACjB,CAAC;IACN,CAAC;CACJ,CAAA;AAzBY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CAyB3C"}
1
+ {"version":3,"file":"app-native-dependency-contribution.js","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,4DAA0D;AAG1D,sCAAiC;AAEjC;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,MAAM,CAAC;AAGhC,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAArC;QAEH,uBAAkB,GAAG,0DAA0D,CAAC;IAmDpF,CAAC;IAjDa,oBAAoB,CAAC,cAA8B,EAAE,YAAoB;QAC/E,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACtC,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;IACjH,CAAC;IAED;;;;OAIG;IACO,aAAa,CAAC,YAAoB;QACxC,OAAO,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,wBAAgB,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC;IAChF,CAAC;IAES,YAAY,CAAC,cAA8B;QACjD,IAAI,QAAgB,CAAC;QACrB,IAAI,cAAc,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;aAAM,IAAI,cAAc,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3C,QAAQ,GAAG,QAAQ,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,uBAAuB,QAAQ,IAAI,cAAc,CAAC,IAAI,MAAM,CAAC;IACxE,CAAC;IAED;;;;;OAKG;IACO,gBAAgB,CAAC,cAA8B;QACrD,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;QACpC,MAAM,SAAS,GACX,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,KAAK,CAAC;YAC1C,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC;YACxC,CAAC,EAAE,KAAK,SAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC;QAC1F,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACnC,OAAO;YACH,MAAM,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACvG,OAAO,EAAE,KAAK;SACjB,CAAC;IACN,CAAC;CACJ,CAAA;AArDY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,sBAAU,GAAE;GACA,+BAA+B,CAqD3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=app-native-dependency-contribution.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-native-dependency-contribution.spec.d.ts","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 EclipseSource and others.
4
+ //
5
+ // This program and the accompanying materials are made available under the
6
+ // terms of the Eclipse Public License v. 2.0 which is available at
7
+ // http://www.eclipse.org/legal/epl-2.0.
8
+ //
9
+ // This Source Code may also be made available under the following Secondary
10
+ // Licenses when the conditions for such availability set forth in the Eclipse
11
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
+ // with the GNU Classpath Exception which is available at
13
+ // https://www.gnu.org/software/classpath/license.html.
14
+ //
15
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
+ // *****************************************************************************
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ const chai_1 = require("chai");
19
+ const core_1 = require("@theia/core");
20
+ const app_native_dependency_contribution_1 = require("./app-native-dependency-contribution");
21
+ class TestableAppNativeDependencyContribution extends app_native_dependency_contribution_1.AppNativeDependencyContribution {
22
+ publicGetDefaultURLForFile(remotePlatform, theiaVersion) {
23
+ return this.getDefaultURLForFile(remotePlatform, theiaVersion);
24
+ }
25
+ }
26
+ describe('AppNativeDependencyContribution', () => {
27
+ const contribution = new TestableAppNativeDependencyContribution();
28
+ const base = 'https://github.com/eclipse-theia/theia/releases/download';
29
+ it('builds stable URLs for linux-x64', () => {
30
+ const url = contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.Linux, arch: 'x64' }, '1.70.2');
31
+ (0, chai_1.expect)(url).to.equal(`${base}/v1.70.2/native-dependencies-linux-x64.zip`);
32
+ });
33
+ it('builds stable URLs for both Mac variants', () => {
34
+ const arm = contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.OSX, arch: 'arm64' }, '1.70.2');
35
+ (0, chai_1.expect)(arm).to.equal(`${base}/v1.70.2/native-dependencies-darwin-arm64.zip`);
36
+ const x64 = contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.OSX, arch: 'x64' }, '1.70.2');
37
+ (0, chai_1.expect)(x64).to.equal(`${base}/v1.70.2/native-dependencies-darwin-x64.zip`);
38
+ });
39
+ it('routes -next. versions to the rolling `next` tag', () => {
40
+ const url = contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.Linux, arch: 'x64' }, '1.71.0-next.28+df29ab0fb');
41
+ (0, chai_1.expect)(url).to.equal(`${base}/next/native-dependencies-linux-x64.zip`);
42
+ });
43
+ it('throws a clear error for unsupported (os, arch) combinations', () => {
44
+ (0, chai_1.expect)(() => contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.Linux, arch: 'arm64' }, '1.70.2'))
45
+ .to.throw(/No prebuilt native dependencies are published/);
46
+ (0, chai_1.expect)(() => contribution.publicGetDefaultURLForFile({ os: core_1.OS.Type.Windows, arch: 'arm64' }, '1.70.2'))
47
+ .to.throw(/No prebuilt native dependencies are published/);
48
+ });
49
+ });
50
+ //# sourceMappingURL=app-native-dependency-contribution.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-native-dependency-contribution.spec.js","sourceRoot":"","sources":["../../../src/electron-node/setup/app-native-dependency-contribution.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,sCAAiC;AAEjC,6FAAuF;AAEvF,MAAM,uCAAwC,SAAQ,oEAA+B;IACjF,0BAA0B,CAAC,cAA8B,EAAE,YAAoB;QAC3E,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;CACJ;AAED,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,MAAM,YAAY,GAAG,IAAI,uCAAuC,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,0DAA0D,CAAC;IAExE,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,4CAA4C,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QAClG,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,+CAA+C,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChG,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,6CAA6C,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QACxD,MAAM,GAAG,GAAG,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,0BAA0B,CAAC,CAAC;QACpH,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,yCAAyC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,GAAG,EAAE;QACpE,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;aAChG,EAAE,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAC/D,IAAA,aAAM,EAAC,GAAG,EAAE,CAAC,YAAY,CAAC,0BAA0B,CAAC,EAAE,EAAE,EAAE,SAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;aAClG,EAAE,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@theia/remote",
3
- "version": "1.71.0-next.8+8ec70800c",
3
+ "version": "1.72.0-next.0+c7ad8bdd9",
4
4
  "description": "Theia - Remote",
5
5
  "dependencies": {
6
- "@theia/core": "1.71.0-next.8+8ec70800c",
7
- "@theia/filesystem": "1.71.0-next.8+8ec70800c",
8
- "@theia/userstorage": "1.71.0-next.8+8ec70800c",
9
- "@theia/variable-resolver": "1.71.0-next.8+8ec70800c",
10
- "@theia/workspace": "1.71.0-next.8+8ec70800c",
11
- "archiver": "^5.3.1",
6
+ "@theia/core": "1.72.0-next.0+c7ad8bdd9",
7
+ "@theia/filesystem": "1.72.0-next.0+c7ad8bdd9",
8
+ "@theia/userstorage": "1.72.0-next.0+c7ad8bdd9",
9
+ "@theia/variable-resolver": "1.72.0-next.0+c7ad8bdd9",
10
+ "@theia/workspace": "1.72.0-next.0+c7ad8bdd9",
11
+ "archiver": "^5.3.2",
12
12
  "decompress": "^4.2.1",
13
- "decompress-tar": "^4.0.0",
14
- "decompress-targz": "^4.0.0",
13
+ "decompress-tar": "^4.1.1",
14
+ "decompress-targz": "^4.1.1",
15
15
  "decompress-unzip": "^4.0.1",
16
- "express-http-proxy": "^2.1.1",
16
+ "express-http-proxy": "^2.1.2",
17
17
  "glob": "^8.1.0",
18
- "socket.io": "^4.5.3",
19
- "socket.io-client": "^4.5.3",
20
- "ssh-config": "~5.0.3",
21
- "ssh2": "^1.15.0",
18
+ "socket.io": "^4.8.3",
19
+ "socket.io-client": "^4.8.3",
20
+ "ssh-config": "~5.0.4",
21
+ "ssh2": "^1.17.0",
22
22
  "ssh2-sftp-client": "^9.1.0",
23
23
  "tslib": "^2.6.2"
24
24
  },
@@ -56,7 +56,7 @@
56
56
  "watch": "theiaext watch"
57
57
  },
58
58
  "devDependencies": {
59
- "@theia/ext-scripts": "1.70.0",
59
+ "@theia/ext-scripts": "1.71.0",
60
60
  "@types/archiver": "^5.3.2",
61
61
  "@types/decompress": "^4.2.4",
62
62
  "@types/express-http-proxy": "^1.6.6",
@@ -67,5 +67,5 @@
67
67
  "nyc": {
68
68
  "extends": "../../configs/nyc.json"
69
69
  },
70
- "gitHead": "8ec70800c488b9fc44915e8896636628b7cb8636"
70
+ "gitHead": "c7ad8bdd9ec19bcca5aabb3863022d0e6707f23f"
71
71
  }
@@ -14,11 +14,19 @@
14
14
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
15
  // *****************************************************************************
16
16
 
17
- import { nls } from '@theia/core';
17
+ import { Command, nls } from '@theia/core';
18
18
  import { AbstractViewContribution } from '@theia/core/lib/browser';
19
19
  import { injectable } from '@theia/core/shared/inversify';
20
20
  import { PortForwardingWidget, PORT_FORWARDING_WIDGET_ID } from './port-forwarding-widget';
21
21
 
22
+ export namespace PortForwardingCommands {
23
+ export const TOGGLE = Command.toLocalizedCommand({
24
+ id: 'port-forwarding:toggle',
25
+ label: 'Ports: Focus on Ports View',
26
+ category: 'View'
27
+ }, 'theia/remote/port-forwarding/focusPorts');
28
+ }
29
+
22
30
  @injectable()
23
31
  export class PortForwardingContribution extends AbstractViewContribution<PortForwardingWidget> {
24
32
  constructor() {
@@ -27,7 +35,8 @@ export class PortForwardingContribution extends AbstractViewContribution<PortFor
27
35
  widgetName: nls.localizeByDefault('Ports'),
28
36
  defaultWidgetOptions: {
29
37
  area: 'bottom'
30
- }
38
+ },
39
+ toggleCommandId: PortForwardingCommands.TOGGLE.id
31
40
  });
32
41
  }
33
42
  }
@@ -22,6 +22,7 @@ import { getCurrentPort } from '@theia/core/lib/electron-browser/messaging/elect
22
22
  export interface ForwardedPort {
23
23
  localPort?: number;
24
24
  address?: string;
25
+ label?: string;
25
26
  origin?: string;
26
27
  editing: boolean;
27
28
  }
@@ -40,7 +41,7 @@ export class PortForwardingService {
40
41
  @postConstruct()
41
42
  init(): void {
42
43
  this.provider.getForwardedPorts().then(ports => {
43
- this.forwardedPorts.push(...ports.map(p => ({ address: p.address, localPort: p.port, editing: false })));
44
+ this.forwardedPorts.push(...ports.map(p => ({ address: p.address, localPort: p.port, label: p.label, editing: false })));
44
45
  this.onDidChangePortsEmitter.fire();
45
46
  });
46
47
  }
@@ -63,8 +63,8 @@ export class PortForwardingWidget extends ReactWidget {
63
63
  <thead>
64
64
  <tr>
65
65
  <th className='port-table-header'>{nls.localizeByDefault('Port')}</th>
66
+ <th className='port-table-header'>{nls.localizeByDefault('Label')}</th>
66
67
  <th className='port-table-header'>{nls.localizeByDefault('Address')}</th>
67
- <th className='port-table-header'>{nls.localizeByDefault('Running Process')}</th>
68
68
  <th className='port-table-header'>{nls.localizeByDefault('Origin')}</th>
69
69
  </tr>
70
70
  </thead>
@@ -72,8 +72,8 @@ export class PortForwardingWidget extends ReactWidget {
72
72
  {this.portForwardingService.forwardedPorts.map(port => (
73
73
  <tr key={port.address && port.localPort ? `${port.address}:${port.localPort}` : 'editing'}>
74
74
  {this.renderPortColumn(port)}
75
+ <td>{port.label ?? ''}</td>
75
76
  {this.renderAddressColumn(port)}
76
- <td></td>
77
77
  <td>{port.origin ? nls.localizeByDefault(port.origin) : ''}</td>
78
78
  </tr>
79
79
  ))}
@@ -21,6 +21,9 @@ export const RemotePortForwardingProvider = Symbol('RemoteSSHConnectionProvider'
21
21
  export interface ForwardedPort {
22
22
  port: number;
23
23
  address?: string;
24
+ label?: string;
25
+ protocol?: 'http' | 'https';
26
+ onAutoForward?: 'notify' | 'openBrowser' | 'openBrowserOnce' | 'openPreview' | 'silent' | 'ignore';
24
27
  }
25
28
 
26
29
  export interface RemotePortForwardingProvider {
@@ -0,0 +1,55 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource and others.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { expect } from 'chai';
18
+ import { OS } from '@theia/core';
19
+ import { RemotePlatform } from '@theia/core/lib/node/remote/remote-cli-contribution';
20
+ import { AppNativeDependencyContribution } from './app-native-dependency-contribution';
21
+
22
+ class TestableAppNativeDependencyContribution extends AppNativeDependencyContribution {
23
+ publicGetDefaultURLForFile(remotePlatform: RemotePlatform, theiaVersion: string): string {
24
+ return this.getDefaultURLForFile(remotePlatform, theiaVersion);
25
+ }
26
+ }
27
+
28
+ describe('AppNativeDependencyContribution', () => {
29
+ const contribution = new TestableAppNativeDependencyContribution();
30
+ const base = 'https://github.com/eclipse-theia/theia/releases/download';
31
+
32
+ it('builds stable URLs for linux-x64', () => {
33
+ const url = contribution.publicGetDefaultURLForFile({ os: OS.Type.Linux, arch: 'x64' }, '1.70.2');
34
+ expect(url).to.equal(`${base}/v1.70.2/native-dependencies-linux-x64.zip`);
35
+ });
36
+
37
+ it('builds stable URLs for both Mac variants', () => {
38
+ const arm = contribution.publicGetDefaultURLForFile({ os: OS.Type.OSX, arch: 'arm64' }, '1.70.2');
39
+ expect(arm).to.equal(`${base}/v1.70.2/native-dependencies-darwin-arm64.zip`);
40
+ const x64 = contribution.publicGetDefaultURLForFile({ os: OS.Type.OSX, arch: 'x64' }, '1.70.2');
41
+ expect(x64).to.equal(`${base}/v1.70.2/native-dependencies-darwin-x64.zip`);
42
+ });
43
+
44
+ it('routes -next. versions to the rolling `next` tag', () => {
45
+ const url = contribution.publicGetDefaultURLForFile({ os: OS.Type.Linux, arch: 'x64' }, '1.71.0-next.28+df29ab0fb');
46
+ expect(url).to.equal(`${base}/next/native-dependencies-linux-x64.zip`);
47
+ });
48
+
49
+ it('throws a clear error for unsupported (os, arch) combinations', () => {
50
+ expect(() => contribution.publicGetDefaultURLForFile({ os: OS.Type.Linux, arch: 'arm64' }, '1.70.2'))
51
+ .to.throw(/No prebuilt native dependencies are published/);
52
+ expect(() => contribution.publicGetDefaultURLForFile({ os: OS.Type.Windows, arch: 'arm64' }, '1.70.2'))
53
+ .to.throw(/No prebuilt native dependencies are published/);
54
+ });
55
+ });
@@ -19,15 +19,33 @@ import { RemoteNativeDependencyContribution, DownloadOptions, DependencyDownload
19
19
  import { RemotePlatform } from '@theia/core/lib/node/remote/remote-cli-contribution';
20
20
  import { OS } from '@theia/core';
21
21
 
22
+ /**
23
+ * GitHub release tag used for rolling pre-release publications of native
24
+ * dependencies for next-channel Theia versions (e.g. `1.71.0-next.28+sha`).
25
+ * Stable versions resolve to a `v<version>` tag instead.
26
+ */
27
+ export const NEXT_RELEASE_TAG = 'next';
28
+
22
29
  @injectable()
23
30
  export class AppNativeDependencyContribution implements RemoteNativeDependencyContribution {
24
31
 
25
32
  appDownloadUrlBase = 'https://github.com/eclipse-theia/theia/releases/download';
26
33
 
27
34
  protected getDefaultURLForFile(remotePlatform: RemotePlatform, theiaVersion: string): string {
28
- if (remotePlatform.arch !== 'x64') {
29
- throw new Error(`Unsupported remote architecture '${remotePlatform.arch}'. Remote support is only available for x64 architectures.`);
30
- }
35
+ this.validatePlatform(remotePlatform);
36
+ return `${this.appDownloadUrlBase}/${this.getReleaseTag(theiaVersion)}/${this.getAssetName(remotePlatform)}`;
37
+ }
38
+
39
+ /**
40
+ * Returns the GitHub release tag from which to download the native dependencies.
41
+ * Next-channel versions (containing `-next.`) resolve to the rolling `next`
42
+ * pre-release; stable versions resolve to `v<theiaVersion>`.
43
+ */
44
+ protected getReleaseTag(theiaVersion: string): string {
45
+ return /-next\./.test(theiaVersion) ? NEXT_RELEASE_TAG : `v${theiaVersion}`;
46
+ }
47
+
48
+ protected getAssetName(remotePlatform: RemotePlatform): string {
31
49
  let platform: string;
32
50
  if (remotePlatform.os === OS.Type.Windows) {
33
51
  platform = 'win32';
@@ -36,7 +54,24 @@ export class AppNativeDependencyContribution implements RemoteNativeDependencyCo
36
54
  } else {
37
55
  platform = 'linux';
38
56
  }
39
- return `${this.appDownloadUrlBase}/v${theiaVersion}/native-dependencies-${platform}-${remotePlatform.arch}.zip`;
57
+ return `native-dependencies-${platform}-${remotePlatform.arch}.zip`;
58
+ }
59
+
60
+ /**
61
+ * Validates that native dependencies are actually published for the given
62
+ * remote platform. The set of supported (os, arch) pairs mirrors the set
63
+ * accepted by `RemoteNodeSetupService.validatePlatform`, minus combinations
64
+ * for which we don't yet build native-dependency zips in CI.
65
+ */
66
+ protected validatePlatform(remotePlatform: RemotePlatform): void {
67
+ const { os, arch } = remotePlatform;
68
+ const supported =
69
+ (os === OS.Type.Windows && arch === 'x64') ||
70
+ (os === OS.Type.Linux && arch === 'x64') ||
71
+ (os === OS.Type.OSX && (arch === 'x64' || arch === 'arm64'));
72
+ if (!supported) {
73
+ throw new Error(`No prebuilt native dependencies are published for '${os}-${arch}'.`);
74
+ }
40
75
  }
41
76
 
42
77
  async download(options: DownloadOptions): Promise<DependencyDownload> {