@theia/dev-container 1.76.0-next.7 → 1.77.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.
- package/lib/electron-browser/container-connection-contribution.d.ts +2 -0
- package/lib/electron-browser/container-connection-contribution.d.ts.map +1 -1
- package/lib/electron-browser/container-connection-contribution.js +12 -1
- package/lib/electron-browser/container-connection-contribution.js.map +1 -1
- package/lib/electron-browser/container-output-provider.d.ts +5 -0
- package/lib/electron-browser/container-output-provider.d.ts.map +1 -1
- package/lib/electron-browser/container-output-provider.js +11 -0
- package/lib/electron-browser/container-output-provider.js.map +1 -1
- package/lib/electron-browser/dev-container-attach-screen.d.ts +52 -0
- package/lib/electron-browser/dev-container-attach-screen.d.ts.map +1 -0
- package/lib/electron-browser/dev-container-attach-screen.js +142 -0
- package/lib/electron-browser/dev-container-attach-screen.js.map +1 -0
- package/lib/electron-browser/dev-container-attach-screen.spec.d.ts +2 -0
- package/lib/electron-browser/dev-container-attach-screen.spec.d.ts.map +1 -0
- package/lib/electron-browser/dev-container-attach-screen.spec.js +51 -0
- package/lib/electron-browser/dev-container-attach-screen.spec.js.map +1 -0
- package/lib/electron-browser/dev-container-frontend-module.d.ts +1 -0
- package/lib/electron-browser/dev-container-frontend-module.d.ts.map +1 -1
- package/lib/electron-browser/dev-container-frontend-module.js +3 -0
- package/lib/electron-browser/dev-container-frontend-module.js.map +1 -1
- package/lib/electron-browser/dev-container-startup-contribution.d.ts +31 -1
- package/lib/electron-browser/dev-container-startup-contribution.d.ts.map +1 -1
- package/lib/electron-browser/dev-container-startup-contribution.js +114 -9
- package/lib/electron-browser/dev-container-startup-contribution.js.map +1 -1
- package/lib/electron-browser/dev-container-startup-contribution.spec.d.ts +2 -0
- package/lib/electron-browser/dev-container-startup-contribution.spec.d.ts.map +1 -0
- package/lib/electron-browser/dev-container-startup-contribution.spec.js +199 -0
- package/lib/electron-browser/dev-container-startup-contribution.spec.js.map +1 -0
- package/lib/electron-common/container-output-provider.d.ts +6 -0
- package/lib/electron-common/container-output-provider.d.ts.map +1 -1
- package/lib/electron-common/remote-container-connection-provider.d.ts +10 -0
- package/lib/electron-common/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-main/dev-container-claim-contribution.d.ts +13 -0
- package/lib/electron-main/dev-container-claim-contribution.d.ts.map +1 -0
- package/lib/electron-main/dev-container-claim-contribution.js +38 -0
- package/lib/electron-main/dev-container-claim-contribution.js.map +1 -0
- package/lib/electron-main/dev-container-electron-main-module.d.ts +4 -0
- package/lib/electron-main/dev-container-electron-main-module.d.ts.map +1 -0
- package/lib/electron-main/dev-container-electron-main-module.js +25 -0
- package/lib/electron-main/dev-container-electron-main-module.js.map +1 -0
- package/lib/electron-node/remote-container-connection-provider.d.ts +1 -1
- package/lib/electron-node/remote-container-connection-provider.d.ts.map +1 -1
- package/lib/electron-node/remote-container-connection-provider.js +10 -5
- package/lib/electron-node/remote-container-connection-provider.js.map +1 -1
- package/package.json +9 -8
- package/src/electron-browser/container-connection-contribution.ts +11 -1
- package/src/electron-browser/container-output-provider.ts +11 -0
- package/src/electron-browser/dev-container-attach-screen.spec.ts +60 -0
- package/src/electron-browser/dev-container-attach-screen.tsx +180 -0
- package/src/electron-browser/dev-container-frontend-module.ts +3 -0
- package/src/electron-browser/dev-container-startup-contribution.spec.ts +245 -0
- package/src/electron-browser/dev-container-startup-contribution.ts +113 -15
- package/src/electron-browser/style/dev-container-attach-screen.css +75 -0
- package/src/electron-common/container-output-provider.ts +6 -0
- package/src/electron-common/remote-container-connection-provider.ts +10 -0
- package/src/electron-main/dev-container-claim-contribution.ts +34 -0
- package/src/electron-main/dev-container-electron-main-module.ts +24 -0
- package/src/electron-node/remote-container-connection-provider.ts +10 -5
|
@@ -204,7 +204,7 @@ let DevContainerConnectionProvider = class DevContainerConnectionProvider {
|
|
|
204
204
|
const context = { containerId: container.id };
|
|
205
205
|
const devContainerConfig = await this.devContainerFileService.getConfiguration(options.devcontainerFile, context);
|
|
206
206
|
report('Connecting to remote system...');
|
|
207
|
-
const result = await this.setupRemoteConnection(container, docker, devContainerConfig, options.nodeDownloadTemplate, report);
|
|
207
|
+
const result = await this.setupRemoteConnection(container, docker, devContainerConfig, options.nodeDownloadTemplate, report, options.additionalArgs);
|
|
208
208
|
remote = result.remote;
|
|
209
209
|
await this.containerService.postConnect(options.devcontainerFile, remote, this.outputProvider, context);
|
|
210
210
|
return {
|
|
@@ -243,7 +243,11 @@ let DevContainerConnectionProvider = class DevContainerConnectionProvider {
|
|
|
243
243
|
async attachToContainer(options) {
|
|
244
244
|
const progress = await this.messageService.showProgress({ text: 'Attaching to container' });
|
|
245
245
|
try {
|
|
246
|
-
const report = message =>
|
|
246
|
+
const report = message => {
|
|
247
|
+
progress.report({ message });
|
|
248
|
+
// Mirror the status to the frontend so the CLI "attaching" screen can show live progress.
|
|
249
|
+
this.outputProvider?.onRemoteStatus?.(message);
|
|
250
|
+
};
|
|
247
251
|
const docker = await this.createDockerConnection();
|
|
248
252
|
const container = docker.getContainer(options.containerId);
|
|
249
253
|
const containerInfo = await container.inspect();
|
|
@@ -262,7 +266,7 @@ let DevContainerConnectionProvider = class DevContainerConnectionProvider {
|
|
|
262
266
|
let remote;
|
|
263
267
|
try {
|
|
264
268
|
report('Connecting to remote system...');
|
|
265
|
-
const result = await this.setupRemoteConnection(container, docker, config, options.nodeDownloadTemplate, report);
|
|
269
|
+
const result = await this.setupRemoteConnection(container, docker, config, options.nodeDownloadTemplate, report, options.additionalArgs);
|
|
266
270
|
remote = result.remote;
|
|
267
271
|
if (options.devcontainerFile) {
|
|
268
272
|
await this.containerService.postConnect(options.devcontainerFile, remote, this.outputProvider, context);
|
|
@@ -318,7 +322,7 @@ let DevContainerConnectionProvider = class DevContainerConnectionProvider {
|
|
|
318
322
|
*
|
|
319
323
|
* @returns the local proxy port and the remote connection
|
|
320
324
|
*/
|
|
321
|
-
async setupRemoteConnection(container, docker, config, nodeDownloadTemplate, report) {
|
|
325
|
+
async setupRemoteConnection(container, docker, config, nodeDownloadTemplate, report, additionalArgs) {
|
|
322
326
|
const remote = new remote_docker_container_connection_1.RemoteDockerContainerConnection({
|
|
323
327
|
id: (0, core_1.generateUuid)(),
|
|
324
328
|
name: config.name ?? 'dev-container',
|
|
@@ -333,7 +337,8 @@ let DevContainerConnectionProvider = class DevContainerConnectionProvider {
|
|
|
333
337
|
result = await this.remoteSetup.setup({
|
|
334
338
|
connection: remote,
|
|
335
339
|
report,
|
|
336
|
-
nodeDownloadTemplate
|
|
340
|
+
nodeDownloadTemplate,
|
|
341
|
+
additionalArgs
|
|
337
342
|
});
|
|
338
343
|
}
|
|
339
344
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-container-connection-provider.js","sourceRoot":"","sources":["../../src/electron-node/remote-container-connection-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-container-connection-provider.js","sourceRoot":"","sources":["../../src/electron-node/remote-container-connection-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/dev-container",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.77.0-next.0+d8106d7ff",
|
|
4
4
|
"description": "Theia - Dev Container Extension",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.
|
|
7
|
-
"@theia/output": "1.
|
|
8
|
-
"@theia/remote": "1.
|
|
9
|
-
"@theia/workspace": "1.
|
|
6
|
+
"@theia/core": "1.77.0-next.0+d8106d7ff",
|
|
7
|
+
"@theia/output": "1.77.0-next.0+d8106d7ff",
|
|
8
|
+
"@theia/remote": "1.77.0-next.0+d8106d7ff",
|
|
9
|
+
"@theia/workspace": "1.77.0-next.0+d8106d7ff",
|
|
10
10
|
"dockerode": "^5.0.1",
|
|
11
11
|
"jsonc-parser": "^3.3.1"
|
|
12
12
|
},
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"theiaExtensions": [
|
|
17
17
|
{
|
|
18
18
|
"frontendElectron": "lib/electron-browser/dev-container-frontend-module",
|
|
19
|
-
"backendElectron": "lib/electron-node/dev-container-backend-module"
|
|
19
|
+
"backendElectron": "lib/electron-node/dev-container-backend-module",
|
|
20
|
+
"electronMain": "lib/electron-main/dev-container-electron-main-module"
|
|
20
21
|
}
|
|
21
22
|
],
|
|
22
23
|
"keywords": [
|
|
@@ -44,11 +45,11 @@
|
|
|
44
45
|
"watch": "theiaext watch"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
|
-
"@theia/ext-scripts": "1.
|
|
48
|
+
"@theia/ext-scripts": "1.76.0",
|
|
48
49
|
"@types/dockerode": "^3.3.47"
|
|
49
50
|
},
|
|
50
51
|
"nyc": {
|
|
51
52
|
"extends": "../../configs/nyc.json"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "d8106d7ffa62b3413ff1ca5b63a0e6c2fe0b0649"
|
|
54
55
|
}
|
|
@@ -24,6 +24,7 @@ import { WorkspaceStorageService } from '@theia/workspace/lib/browser/workspace-
|
|
|
24
24
|
import { Command, ILogger, MaybePromise, MessageService, nls, QuickInputService, URI } from '@theia/core';
|
|
25
25
|
import { WorkspaceInput, WorkspaceOpenHandlerContribution, WorkspaceService } from '@theia/workspace/lib/browser/workspace-service';
|
|
26
26
|
import { ContainerOutputProvider } from './container-output-provider';
|
|
27
|
+
import { RemoteCliArgsCollector } from '@theia/remote/lib/electron-browser/remote-cli-args-collector';
|
|
27
28
|
import { WorkspaceServer } from '@theia/workspace/lib/common';
|
|
28
29
|
import { DEV_CONTAINER_PATH_QUERY, DEV_CONTAINER_WORKSPACE_SCHEME } from '../electron-common/dev-container-workspaces';
|
|
29
30
|
import { RemotePreferences } from '@theia/remote/lib/electron-common/remote-preferences';
|
|
@@ -89,6 +90,9 @@ export class ContainerConnectionContribution extends AbstractRemoteRegistryContr
|
|
|
89
90
|
@inject(ContainerOutputProvider)
|
|
90
91
|
protected readonly containerOutputProvider: ContainerOutputProvider;
|
|
91
92
|
|
|
93
|
+
@inject(RemoteCliArgsCollector)
|
|
94
|
+
protected readonly remoteCliArgsCollector: RemoteCliArgsCollector;
|
|
95
|
+
|
|
92
96
|
@inject(DevContainerPreferences)
|
|
93
97
|
protected readonly devContainerPreferences: DevContainerPreferences;
|
|
94
98
|
|
|
@@ -261,7 +265,10 @@ export class ContainerConnectionContribution extends AbstractRemoteRegistryContr
|
|
|
261
265
|
nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
|
|
262
266
|
lastContainerInfo,
|
|
263
267
|
devcontainerFile: devcontainerFile.path,
|
|
264
|
-
workspacePath: hostWorkspacePath
|
|
268
|
+
workspacePath: hostWorkspacePath,
|
|
269
|
+
// Forward per-window CLI options (e.g. session preferences of a second-instance window),
|
|
270
|
+
// consistent with the attach flows, so "Reopen in Container" applies the same overrides.
|
|
271
|
+
additionalArgs: await this.remoteCliArgsCollector.collect()
|
|
265
272
|
});
|
|
266
273
|
|
|
267
274
|
await this.storageService.setData<LastContainerInfo>(lastContainerInfoKey, {
|
|
@@ -394,6 +401,9 @@ export class ContainerConnectionContribution extends AbstractRemoteRegistryContr
|
|
|
394
401
|
workspacePath: selectedPath,
|
|
395
402
|
nodeDownloadTemplate: this.remotePreferences['remote.nodeDownloadTemplate'],
|
|
396
403
|
devcontainerFile,
|
|
404
|
+
// Forward per-window CLI options (e.g. session preferences of a second-instance window),
|
|
405
|
+
// consistent with the CLI startup attach, so a manual attach applies the same overrides.
|
|
406
|
+
additionalArgs: await this.remoteCliArgsCollector.collect(),
|
|
397
407
|
});
|
|
398
408
|
|
|
399
409
|
// Store context so rebuild works from inside the container
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { injectable, inject } from '@theia/core/shared/inversify';
|
|
18
|
+
import { Emitter, Event } from '@theia/core';
|
|
18
19
|
import { OutputChannel, OutputChannelManager } from '@theia/output/lib/browser/output-channel';
|
|
19
20
|
|
|
20
21
|
@injectable()
|
|
@@ -25,6 +26,10 @@ export class ContainerOutputProvider implements ContainerOutputProvider {
|
|
|
25
26
|
|
|
26
27
|
protected currentChannel?: OutputChannel;
|
|
27
28
|
|
|
29
|
+
protected readonly onDidReportStatusEmitter = new Emitter<string>();
|
|
30
|
+
/** Fires with each curated attach status message (from {@link RemoteStatusReport}). */
|
|
31
|
+
readonly onDidReportStatus: Event<string> = this.onDidReportStatusEmitter.event;
|
|
32
|
+
|
|
28
33
|
openChannel(): void {
|
|
29
34
|
this.currentChannel = this.outputChannelManager.getChannel('Container');
|
|
30
35
|
this.currentChannel.show();
|
|
@@ -35,4 +40,10 @@ export class ContainerOutputProvider implements ContainerOutputProvider {
|
|
|
35
40
|
this.currentChannel?.appendLine(output);
|
|
36
41
|
}
|
|
37
42
|
}
|
|
43
|
+
|
|
44
|
+
onRemoteStatus(message: string): void {
|
|
45
|
+
if (message) {
|
|
46
|
+
this.onDidReportStatusEmitter.fire(message);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
38
49
|
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource GmbH 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 { enableJSDOM } from '@theia/core/lib/browser/test/jsdom';
|
|
18
|
+
|
|
19
|
+
let disableJSDOM = enableJSDOM();
|
|
20
|
+
|
|
21
|
+
import { expect } from 'chai';
|
|
22
|
+
import { DevContainerAttachScreen } from './dev-container-attach-screen';
|
|
23
|
+
|
|
24
|
+
disableJSDOM();
|
|
25
|
+
|
|
26
|
+
describe('DevContainerAttachScreen.resolveSplashUrl', () => {
|
|
27
|
+
|
|
28
|
+
before(() => disableJSDOM = enableJSDOM());
|
|
29
|
+
after(() => disableJSDOM());
|
|
30
|
+
|
|
31
|
+
// The frontend HTML lives at `<appRoot>/lib/frontend/index.html`; splash content is resolved
|
|
32
|
+
// from `<appRoot>`, i.e. two levels up.
|
|
33
|
+
const base = 'file:///app/lib/frontend/index.html?port=3000#!empty';
|
|
34
|
+
|
|
35
|
+
it('resolves the splash content relative to the application root', () => {
|
|
36
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('resources/theia-logo.svg', base))
|
|
37
|
+
.to.equal('file:///app/resources/theia-logo.svg');
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
it('uses an absolute path as-is, without the "../../" prefix', () => {
|
|
41
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('/opt/app/logo.svg', base))
|
|
42
|
+
.to.equal('file:///opt/app/logo.svg');
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it('uses an already-absolute URL as-is', () => {
|
|
46
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('https://example.com/logo.svg', base))
|
|
47
|
+
.to.equal('https://example.com/logo.svg');
|
|
48
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('data:image/svg+xml,<svg/>', base))
|
|
49
|
+
.to.equal('data:image/svg+xml,<svg/>');
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
it('returns undefined when no splash content is configured', () => {
|
|
53
|
+
expect(DevContainerAttachScreen.resolveSplashUrl(undefined, base)).to.be.undefined;
|
|
54
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('', base)).to.be.undefined;
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
it('returns undefined when the base href is not a valid URL', () => {
|
|
58
|
+
expect(DevContainerAttachScreen.resolveSplashUrl('resources/logo.svg', 'not a url')).to.be.undefined;
|
|
59
|
+
});
|
|
60
|
+
});
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2026 EclipseSource GmbH 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 * as React from '@theia/core/shared/react';
|
|
18
|
+
import { injectable, postConstruct } from '@theia/core/shared/inversify';
|
|
19
|
+
import { codicon, ReactWidget, Widget } from '@theia/core/lib/browser';
|
|
20
|
+
import { FrontendApplicationConfigProvider } from '@theia/core/lib/browser/frontend-application-config-provider';
|
|
21
|
+
import { AlertMessage } from '@theia/core/lib/browser/widgets/alert-message';
|
|
22
|
+
import { MaybePromise, nls } from '@theia/core';
|
|
23
|
+
|
|
24
|
+
export interface AttachScreenErrorActions {
|
|
25
|
+
/** Re-run the attach. May be asynchronous; callers/tests can await it, the button handler ignores the result. */
|
|
26
|
+
retry: () => MaybePromise<void>;
|
|
27
|
+
/** Dismiss the screen and reveal the (empty) local window. */
|
|
28
|
+
close: () => void;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Full-window, interaction-blocking "attaching" screen shown during a CLI-driven dev-container
|
|
33
|
+
* attach. It hides the transient local workbench (which is discarded once the window reloads into
|
|
34
|
+
* the container) so the user is never left interacting with the wrong window, and it surfaces the
|
|
35
|
+
* attach progress and any failure with a clear retry/close choice.
|
|
36
|
+
*/
|
|
37
|
+
@injectable()
|
|
38
|
+
export class DevContainerAttachScreen extends ReactWidget {
|
|
39
|
+
|
|
40
|
+
static readonly ID = 'dev-container-attach-screen';
|
|
41
|
+
|
|
42
|
+
protected containerName: string | undefined;
|
|
43
|
+
protected stage: string = nls.localize('theia/remote/dev-container/attachScreen/preparing', 'Preparing to attach...');
|
|
44
|
+
protected error: { message: string, actions: AttachScreenErrorActions } | undefined;
|
|
45
|
+
|
|
46
|
+
/** URL of the application's configured splash image, reused here for consistent startup branding. */
|
|
47
|
+
protected splashUrl: string | undefined;
|
|
48
|
+
protected splashFailed = false;
|
|
49
|
+
|
|
50
|
+
@postConstruct()
|
|
51
|
+
protected init(): void {
|
|
52
|
+
this.id = DevContainerAttachScreen.ID;
|
|
53
|
+
this.addClass('theia-dev-container-attach-screen');
|
|
54
|
+
this.splashUrl = DevContainerAttachScreen.resolveSplashUrl(
|
|
55
|
+
FrontendApplicationConfigProvider.get().electron?.splashScreenOptions?.content,
|
|
56
|
+
location.href
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Shows the screen (attaching it to the document on first use) and optionally sets the target name. */
|
|
61
|
+
showAttaching(containerName?: string): void {
|
|
62
|
+
if (containerName) {
|
|
63
|
+
this.containerName = containerName;
|
|
64
|
+
}
|
|
65
|
+
this.error = undefined;
|
|
66
|
+
if (!this.isAttached) {
|
|
67
|
+
Widget.attach(this, document.body);
|
|
68
|
+
}
|
|
69
|
+
this.update();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** Updates the current progress line, e.g. from a {@link RemoteStatusReport} message. */
|
|
73
|
+
reportStage(message: string): void {
|
|
74
|
+
if (message) {
|
|
75
|
+
this.stage = message;
|
|
76
|
+
this.update();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** Switches the screen to an error state offering retry and close. */
|
|
81
|
+
reportError(message: string, actions: AttachScreenErrorActions): void {
|
|
82
|
+
this.error = { message, actions };
|
|
83
|
+
if (!this.isAttached) {
|
|
84
|
+
Widget.attach(this, document.body);
|
|
85
|
+
}
|
|
86
|
+
this.update();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
override dispose(): void {
|
|
90
|
+
if (this.isAttached) {
|
|
91
|
+
Widget.detach(this);
|
|
92
|
+
}
|
|
93
|
+
super.dispose();
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
protected render(): React.ReactNode {
|
|
97
|
+
return <div className='theia-dev-container-attach-screen-content'>
|
|
98
|
+
{this.renderSplash()}
|
|
99
|
+
{this.error ? this.renderError(this.error.message, this.error.actions) : this.renderProgress()}
|
|
100
|
+
</div>;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
protected renderSplash(): React.ReactNode {
|
|
104
|
+
if (!this.splashUrl || this.splashFailed) {
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
return <img className='theia-dev-container-attach-screen-logo' src={this.splashUrl} alt='' onError={this.onSplashError} />;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
protected onSplashError = () => {
|
|
111
|
+
// The image may be blocked (e.g. by CSP) or the content may not be an image; fall back to the spinner only.
|
|
112
|
+
this.splashFailed = true;
|
|
113
|
+
this.update();
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
protected renderProgress(): React.ReactNode {
|
|
117
|
+
const title = this.containerName
|
|
118
|
+
? nls.localize('theia/remote/dev-container/attachScreen/titleNamed', 'Attaching to {0}', this.containerName)
|
|
119
|
+
: nls.localize('theia/remote/dev-container/attachScreen/title', 'Attaching to container');
|
|
120
|
+
return <React.Fragment>
|
|
121
|
+
<span className={`${codicon('loading')} theia-animation-spin theia-dev-container-attach-screen-spinner`} />
|
|
122
|
+
<h1 className='theia-dev-container-attach-screen-title'>{title}</h1>
|
|
123
|
+
<div className='theia-dev-container-attach-screen-stage'>{this.stage}</div>
|
|
124
|
+
<div className='theia-dev-container-attach-screen-note'>
|
|
125
|
+
{nls.localize('theia/remote/dev-container/attachScreen/firstStartNote',
|
|
126
|
+
'The first start for a container can take a minute or two. Later starts are much faster.')}
|
|
127
|
+
</div>
|
|
128
|
+
</React.Fragment>;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
protected renderError(message: string, actions: AttachScreenErrorActions): React.ReactNode {
|
|
132
|
+
return <React.Fragment>
|
|
133
|
+
<div className='theia-dev-container-attach-screen-alert'>
|
|
134
|
+
<AlertMessage
|
|
135
|
+
type='ERROR'
|
|
136
|
+
header={nls.localize('theia/remote/dev-container/attachScreen/errorHeader', 'Failed to attach to container')}
|
|
137
|
+
>
|
|
138
|
+
{message}
|
|
139
|
+
</AlertMessage>
|
|
140
|
+
</div>
|
|
141
|
+
<div className='theia-dev-container-attach-screen-actions'>
|
|
142
|
+
<button className='theia-button' onClick={actions.retry}>
|
|
143
|
+
{nls.localizeByDefault('Retry')}
|
|
144
|
+
</button>
|
|
145
|
+
<button className='theia-button secondary' onClick={actions.close}>
|
|
146
|
+
{nls.localizeByDefault('Close')}
|
|
147
|
+
</button>
|
|
148
|
+
</div>
|
|
149
|
+
</React.Fragment>;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
export namespace DevContainerAttachScreen {
|
|
154
|
+
/**
|
|
155
|
+
* Resolves the application's splash screen `content` (as configured in
|
|
156
|
+
* `electron.splashScreenOptions`) to a URL loadable from the frontend, given the frontend
|
|
157
|
+
* document's `baseHref`. A relative path is resolved against the application root: the frontend
|
|
158
|
+
* HTML lives at `<appRoot>/lib/frontend/`, so it is two levels up. An absolute path or an
|
|
159
|
+
* already-absolute URL is used as-is (mirroring the main process, which passes `content` through
|
|
160
|
+
* `path.resolve`). Returns `undefined` when no content is configured or the URL cannot be built.
|
|
161
|
+
*/
|
|
162
|
+
export function resolveSplashUrl(content: string | undefined, baseHref: string): string | undefined {
|
|
163
|
+
if (!content) {
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
// A relative path is anchored below `lib/frontend/`; anything already absolute (an absolute
|
|
167
|
+
// filesystem path or a full URL) must not get the `../../` prefix or it would be mangled.
|
|
168
|
+
const specifier = isAbsolute(content) ? content : `../../${content}`;
|
|
169
|
+
try {
|
|
170
|
+
return new URL(specifier, baseHref).toString();
|
|
171
|
+
} catch {
|
|
172
|
+
return undefined;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function isAbsolute(content: string): boolean {
|
|
177
|
+
// POSIX/UNC path, Windows drive path (e.g. `C:\...`), or a URL with a scheme (e.g. `file:`, `https:`, `data:`).
|
|
178
|
+
return content.startsWith('/') || content.startsWith('\\') || /^[a-zA-Z]:[\\/]/.test(content) || /^[a-zA-Z][a-zA-Z\d+\-.]*:/.test(content);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -13,8 +13,10 @@
|
|
|
13
13
|
//
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
|
+
import '../../src/electron-browser/style/dev-container-attach-screen.css';
|
|
16
17
|
import { ContainerModule } from '@theia/core/shared/inversify';
|
|
17
18
|
import { RemoteRegistryContribution } from '@theia/remote/lib/electron-browser/remote-registry-contribution';
|
|
19
|
+
import { DevContainerAttachScreen } from './dev-container-attach-screen';
|
|
18
20
|
import { RemoteContainerConnectionProvider, RemoteContainerConnectionProviderPath } from '../electron-common/remote-container-connection-provider';
|
|
19
21
|
import { ContainerConnectionContribution } from './container-connection-contribution';
|
|
20
22
|
import { ServiceConnectionProvider } from '@theia/core/lib/browser/messaging/service-connection-provider';
|
|
@@ -48,6 +50,7 @@ export default new ContainerModule(bind => {
|
|
|
48
50
|
bind(DevContainerSuggestionContribution).toSelf().inSingletonScope();
|
|
49
51
|
bind(FrontendApplicationContribution).toService(DevContainerSuggestionContribution);
|
|
50
52
|
|
|
53
|
+
bind(DevContainerAttachScreen).toSelf().inSingletonScope();
|
|
51
54
|
bind(DevContainerStartupContribution).toSelf().inSingletonScope();
|
|
52
55
|
bind(FrontendApplicationContribution).toService(DevContainerStartupContribution);
|
|
53
56
|
});
|