@theia/core 1.51.0 → 1.52.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/README.md +11 -7
- package/i18n/nls.cs.json +4 -0
- package/i18n/nls.de.json +4 -0
- package/i18n/nls.es.json +4 -0
- package/i18n/nls.fr.json +4 -0
- package/i18n/nls.hu.json +4 -0
- package/i18n/nls.it.json +4 -0
- package/i18n/nls.ja.json +4 -0
- package/i18n/nls.json +4 -0
- package/i18n/nls.pl.json +4 -0
- package/i18n/nls.pt-br.json +4 -0
- package/i18n/nls.pt-pt.json +4 -0
- package/i18n/nls.ru.json +4 -0
- package/i18n/nls.zh-cn.json +4 -0
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +5 -1
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/split-panels.d.ts +1 -1
- package/lib/browser/shell/split-panels.d.ts.map +1 -1
- package/lib/browser/shell/split-panels.js +4 -3
- package/lib/browser/shell/split-panels.js.map +1 -1
- package/lib/browser/shell/tab-bars.js +1 -1
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +2 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +16 -9
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-open-handler.js +1 -1
- package/lib/browser/widget-open-handler.js.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +5 -0
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/quick-pick-service.d.ts +0 -9
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/quick-pick-service.js.map +1 -1
- package/lib/electron-browser/preload.js +1 -1
- package/lib/electron-browser/preload.js.map +1 -1
- package/lib/electron-browser/window/electron-window-service.js +1 -1
- package/lib/electron-browser/window/electron-window-service.js.map +1 -1
- package/lib/electron-common/electron-api.d.ts +1 -1
- package/lib/electron-common/electron-api.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.d.ts.map +1 -1
- package/lib/electron-main/electron-main-application.js +4 -0
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/theia-electron-window.d.ts +1 -1
- package/lib/electron-main/theia-electron-window.d.ts.map +1 -1
- package/lib/electron-main/theia-electron-window.js +8 -3
- package/lib/electron-main/theia-electron-window.js.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts +1 -0
- package/lib/node/messaging/websocket-frontend-connection-service.d.ts.map +1 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js +8 -1
- package/lib/node/messaging/websocket-frontend-connection-service.js.map +1 -1
- package/package.json +7 -7
- package/src/browser/shell/application-shell.ts +5 -1
- package/src/browser/shell/split-panels.ts +4 -3
- package/src/browser/shell/tab-bars.ts +1 -1
- package/src/browser/style/tabs.css +11 -0
- package/src/browser/widget-manager.ts +19 -11
- package/src/browser/widget-open-handler.ts +3 -3
- package/src/common/preferences/preference-schema.ts +5 -0
- package/src/common/quick-pick-service.ts +0 -3
- package/src/electron-browser/preload.ts +1 -1
- package/src/electron-browser/window/electron-window-service.ts +1 -1
- package/src/electron-common/electron-api.ts +1 -1
- package/src/electron-main/electron-main-application.ts +8 -2
- package/src/electron-main/theia-electron-window.ts +7 -3
- package/src/node/messaging/websocket-frontend-connection-service.ts +11 -1
|
@@ -84,7 +84,7 @@ export interface TheiaCoreAPI {
|
|
|
84
84
|
isFullScreen(): boolean; // TODO: this should really be async, since it blocks the renderer process
|
|
85
85
|
toggleFullScreen(): void;
|
|
86
86
|
|
|
87
|
-
requestReload(): void;
|
|
87
|
+
requestReload(newUrl?: string): void;
|
|
88
88
|
restart(): void;
|
|
89
89
|
|
|
90
90
|
applicationStateChanged(state: FrontendApplicationState): void;
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { inject, injectable, named } from 'inversify';
|
|
18
|
-
import {
|
|
19
|
-
|
|
18
|
+
import {
|
|
19
|
+
screen, app, BrowserWindow, WebContents, Event as ElectronEvent, BrowserWindowConstructorOptions, nativeImage,
|
|
20
|
+
nativeTheme, shell, dialog
|
|
21
|
+
} from '../../electron-shared/electron';
|
|
20
22
|
import * as path from 'path';
|
|
21
23
|
import { Argv } from 'yargs';
|
|
22
24
|
import { AddressInfo } from 'net';
|
|
@@ -350,6 +352,9 @@ export class ElectronMainApplication {
|
|
|
350
352
|
alwaysOnTop: true,
|
|
351
353
|
show: false,
|
|
352
354
|
transparent: true,
|
|
355
|
+
webPreferences: {
|
|
356
|
+
backgroundThrottling: false
|
|
357
|
+
}
|
|
353
358
|
});
|
|
354
359
|
|
|
355
360
|
if (this.isShowWindowEarly()) {
|
|
@@ -458,6 +463,7 @@ export class ElectronMainApplication {
|
|
|
458
463
|
// Setting the following option to `true` causes some features to break, somehow.
|
|
459
464
|
// Issue: https://github.com/eclipse-theia/theia/issues/8577
|
|
460
465
|
nodeIntegrationInWorker: false,
|
|
466
|
+
backgroundThrottling: false,
|
|
461
467
|
preload: path.resolve(this.globals.THEIA_APP_PROJECT_PATH, 'lib', 'frontend', 'preload.js').toString()
|
|
462
468
|
},
|
|
463
469
|
...this.config.electron?.windowOptions || {},
|
|
@@ -147,10 +147,14 @@ export class TheiaElectronWindow {
|
|
|
147
147
|
return this.handleStopRequest(() => this.doCloseWindow(), reason);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
-
protected reload(): void {
|
|
150
|
+
protected reload(newUrl?: string): void {
|
|
151
151
|
this.handleStopRequest(async () => {
|
|
152
152
|
this.applicationState = 'init';
|
|
153
|
-
|
|
153
|
+
if (newUrl) {
|
|
154
|
+
this._window.loadURL(newUrl);
|
|
155
|
+
} else {
|
|
156
|
+
this._window.reload();
|
|
157
|
+
}
|
|
154
158
|
}, StopReason.Reload);
|
|
155
159
|
}
|
|
156
160
|
|
|
@@ -195,7 +199,7 @@ export class TheiaElectronWindow {
|
|
|
195
199
|
}
|
|
196
200
|
|
|
197
201
|
protected attachReloadListener(): void {
|
|
198
|
-
this.toDispose.push(TheiaRendererAPI.onRequestReload(this.window.webContents, () => this.reload()));
|
|
202
|
+
this.toDispose.push(TheiaRendererAPI.onRequestReload(this.window.webContents, (newUrl?: string) => this.reload(newUrl)));
|
|
199
203
|
}
|
|
200
204
|
|
|
201
205
|
dispose(): void {
|
|
@@ -105,7 +105,8 @@ export class WebsocketFrontendConnectionService implements FrontendConnectionSer
|
|
|
105
105
|
socket.on('disconnect', evt => {
|
|
106
106
|
console.info('socked closed');
|
|
107
107
|
channel.disconnect();
|
|
108
|
-
|
|
108
|
+
|
|
109
|
+
const timeout = this.frontendConnectionTimeout();
|
|
109
110
|
const isMarkedForClose = this.channelsMarkedForClose.delete(frontEndId);
|
|
110
111
|
if (timeout === 0 || isMarkedForClose) {
|
|
111
112
|
this.closeConnection(frontEndId, evt);
|
|
@@ -124,6 +125,15 @@ export class WebsocketFrontendConnectionService implements FrontendConnectionSer
|
|
|
124
125
|
markForClose(channelId: string): void {
|
|
125
126
|
this.channelsMarkedForClose.add(channelId);
|
|
126
127
|
}
|
|
128
|
+
|
|
129
|
+
private frontendConnectionTimeout(): number {
|
|
130
|
+
const envValue = Number(process.env['FRONTEND_CONNECTION_TIMEOUT']);
|
|
131
|
+
if (!isNaN(envValue)) {
|
|
132
|
+
return envValue;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return BackendApplicationConfigProvider.get().frontendConnectionTimeout;
|
|
136
|
+
}
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
class ReconnectableSocketChannel extends AbstractChannel {
|