@theia/core 1.27.0-next.3 → 1.27.0-next.4

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 CHANGED
@@ -86,12 +86,12 @@ export class SomeClass {
86
86
  - `@phosphor/signaling` (from [`@phosphor/signaling@1`](https://www.npmjs.com/package/@phosphor/signaling))
87
87
  - `@phosphor/virtualdom` (from [`@phosphor/virtualdom@1`](https://www.npmjs.com/package/@phosphor/virtualdom))
88
88
  - `@phosphor/widgets` (from [`@phosphor/widgets@1`](https://www.npmjs.com/package/@phosphor/widgets))
89
- - `@theia/application-package` (from [`@theia/application-package@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.3))
90
- - `@theia/application-package/lib/api` (from [`@theia/application-package@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.3))
91
- - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.3))
92
- - `@theia/request` (from [`@theia/request@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.3))
93
- - `@theia/request/lib/proxy` (from [`@theia/request@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.3))
94
- - `@theia/request/lib/node-request-service` (from [`@theia/request@1.27.0-next.3+aebf3fd0149`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.3))
89
+ - `@theia/application-package` (from [`@theia/application-package@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.4))
90
+ - `@theia/application-package/lib/api` (from [`@theia/application-package@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.4))
91
+ - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.4))
92
+ - `@theia/request` (from [`@theia/request@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.4))
93
+ - `@theia/request/lib/proxy` (from [`@theia/request@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.4))
94
+ - `@theia/request/lib/node-request-service` (from [`@theia/request@1.27.0-next.4+6f0c4d3028c`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.4))
95
95
  - `fs-extra` (from [`fs-extra@^4.0.2`](https://www.npmjs.com/package/fs-extra))
96
96
  - `fuzzy` (from [`fuzzy@^0.1.3`](https://www.npmjs.com/package/fuzzy))
97
97
  - `inversify` (from [`inversify@^5.1.1`](https://www.npmjs.com/package/inversify))
@@ -1 +1 @@
1
- {"version":3,"file":"theia-electron-window.d.ts","sourceRoot":"","sources":["../../src/electron-main/theia-electron-window.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAoF,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC9J,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAW,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEvH,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAa,MAAM,WAAW,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,+BAA+B;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAE7E,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,oBAAY,uBAAuB,GAAG,yBAAyB,CAAC;AAEhE,qBACa,mBAAmB;IACO,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;IAEnG,SAAS,CAAC,iBAAiB,gBAAuB;IAElD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAE5B;IAED,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAoD;IAEhF,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IACjC,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,SAAS,CAAC,gBAAgB,UAAS;IACnC,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,CAAU;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAetC,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,KAAK,CAAC,MAAM,GAAE,UAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,SAAS,CAAC,MAAM,IAAI,IAAI;cAOR,iBAAiB,CAAC,cAAc,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBtG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB/D,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAQtC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO;IAI5C,OAAO,IAAI,IAAI;CAGlB;AAED,MAAM,WAAW,0BAA0B;IACvC,CAAC,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,yBAAyB,GAAG,mBAAmB,CAAC;CAChG;AAED,eAAO,MAAM,0BAA0B,eAAuC,CAAC"}
1
+ {"version":3,"file":"theia-electron-window.d.ts","sourceRoot":"","sources":["../../src/electron-main/theia-electron-window.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAoF,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAC9J,OAAO,EAAE,aAAa,EAAE,+BAA+B,EAAW,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEvH,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAKjE;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,+BAA+B;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,yBAAyB,eAAsC,CAAC;AAE7E,eAAO,MAAM,uBAAuB,eAAoC,CAAC;AACzE,oBAAY,uBAAuB,GAAG,yBAAyB,CAAC;AAEhE,qBACa,mBAAmB;IACO,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;IACxD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAC5C,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,8BAA8B,CAAC;IAEnG,SAAS,CAAC,iBAAiB,gBAAuB;IAElD,IAAI,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAE5B;IAED,SAAS,CAAC,QAAQ,CAAC,SAAS,uBAAoD;IAEhF,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;IACjC,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,SAAS,CAAC,gBAAgB,UAAS;IACnC,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,CAAU;IAG9D,SAAS,CAAC,IAAI,IAAI,IAAI;IAUtB;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAInC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAetC,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,KAAK,CAAC,MAAM,GAAE,UAA6B,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9D,SAAS,CAAC,MAAM,IAAI,IAAI;cAOR,iBAAiB,CAAC,cAAc,EAAE,MAAM,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBtG,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB/D,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAQvC,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAQtC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO;IAI5C,OAAO,IAAI,IAAI;CAGlB;AAED,MAAM,WAAW,0BAA0B;IACvC,CAAC,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,yBAAyB,GAAG,mBAAmB,CAAC;CAChG;AAED,eAAO,MAAM,0BAA0B,eAAuC,CAAC"}
@@ -31,6 +31,8 @@ const inversify_1 = require("../../shared/inversify");
31
31
  const electron_main_constants_1 = require("./electron-main-constants");
32
32
  const common_1 = require("../common");
33
33
  const event_utils_1 = require("./event-utils");
34
+ const uri_1 = require("../common/uri");
35
+ const file_uri_1 = require("../node/file-uri");
34
36
  exports.TheiaBrowserWindowOptions = Symbol('TheiaBrowserWindowOptions');
35
37
  exports.WindowApplicationConfig = Symbol('WindowApplicationConfig');
36
38
  let TheiaElectronWindow = class TheiaElectronWindow {
@@ -89,14 +91,15 @@ let TheiaElectronWindow = class TheiaElectronWindow {
89
91
  }, electron_messages_1.StopReason.Reload);
90
92
  }
91
93
  async handleStopRequest(onSafeCallback, reason) {
92
- // Only confirm close to windows that have loaded our front end.
93
- let currentUrl = this.window.webContents.getURL();
94
- let frontendUri = this.globals.THEIA_FRONTEND_HTML_PATH;
95
- // Since our resolved frontend HTML path might contain backward slashes on Windows, we normalize everything first.
96
- if (common_1.isWindows) {
97
- currentUrl = currentUrl.replace(/\\/g, '/');
98
- frontendUri = frontendUri.replace(/\\/g, '/');
99
- }
94
+ // Only confirm close to windows that have loaded our frontend.
95
+ // Both the windows's URL and the FS path of the `index.html` should be converted to the "same" format to be able to compare them. (#11226)
96
+ // Notes:
97
+ // - Windows: file:///C:/path/to/somewhere vs file:///c%3A/path/to/somewhere
98
+ // - macOS: file:///Applications/App%20Name.app/Contents vs /Applications/App Name.app/Contents
99
+ // This URL string comes from electron, we can expect that this is properly encoded URL. For example, a space is `%20`
100
+ const currentUrl = new uri_1.URI(this.window.webContents.getURL()).toString();
101
+ // THEIA_FRONTEND_HTML_PATH is an FS path, we have to covert to an encoded URI string.
102
+ const frontendUri = file_uri_1.FileUri.create(this.globals.THEIA_FRONTEND_HTML_PATH).toString();
100
103
  const safeToClose = !currentUrl.includes(frontendUri) || await this.checkSafeToStop(reason);
101
104
  if (safeToClose) {
102
105
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"theia-electron-window.js","sourceRoot":"","sources":["../../src/electron-main/theia-electron-window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theia-electron-window.js","sourceRoot":"","sources":["../../src/electron-main/theia-electron-window.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.27.0-next.3+aebf3fd0149",
3
+ "version": "1.27.0-next.4+6f0c4d3028c",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -16,8 +16,8 @@
16
16
  "@phosphor/signaling": "1",
17
17
  "@phosphor/virtualdom": "1",
18
18
  "@phosphor/widgets": "1",
19
- "@theia/application-package": "1.27.0-next.3+aebf3fd0149",
20
- "@theia/request": "1.27.0-next.3+aebf3fd0149",
19
+ "@theia/application-package": "1.27.0-next.4+6f0c4d3028c",
20
+ "@theia/request": "1.27.0-next.4+6f0c4d3028c",
21
21
  "@types/body-parser": "^1.16.4",
22
22
  "@types/cookie": "^0.3.3",
23
23
  "@types/dompurify": "^2.2.2",
@@ -203,5 +203,5 @@
203
203
  "nyc": {
204
204
  "extends": "../../configs/nyc.json"
205
205
  },
206
- "gitHead": "aebf3fd0149d415e836d5674be9b7674ffa4fa0a"
206
+ "gitHead": "6f0c4d3028c4b555079b0f0844f75bb618ded256"
207
207
  }
@@ -20,8 +20,10 @@ import { APPLICATION_STATE_CHANGE_SIGNAL, CLOSE_REQUESTED_SIGNAL, RELOAD_REQUEST
20
20
  import { BrowserWindow, BrowserWindowConstructorOptions, ipcMain, IpcMainEvent } from '../../electron-shared/electron';
21
21
  import { inject, injectable, postConstruct } from '../../shared/inversify';
22
22
  import { ElectronMainApplicationGlobals } from './electron-main-constants';
23
- import { DisposableCollection, Emitter, Event, isWindows } from '../common';
23
+ import { DisposableCollection, Emitter, Event } from '../common';
24
24
  import { createDisposableListener } from './event-utils';
25
+ import { URI } from '../common/uri';
26
+ import { FileUri } from '../node/file-uri';
25
27
 
26
28
  /**
27
29
  * Theia tracks the maximized state of Electron Browser Windows.
@@ -114,14 +116,15 @@ export class TheiaElectronWindow {
114
116
  }
115
117
 
116
118
  protected async handleStopRequest(onSafeCallback: () => unknown, reason: StopReason): Promise<boolean> {
117
- // Only confirm close to windows that have loaded our front end.
118
- let currentUrl = this.window.webContents.getURL();
119
- let frontendUri = this.globals.THEIA_FRONTEND_HTML_PATH;
120
- // Since our resolved frontend HTML path might contain backward slashes on Windows, we normalize everything first.
121
- if (isWindows) {
122
- currentUrl = currentUrl.replace(/\\/g, '/');
123
- frontendUri = frontendUri.replace(/\\/g, '/');
124
- }
119
+ // Only confirm close to windows that have loaded our frontend.
120
+ // Both the windows's URL and the FS path of the `index.html` should be converted to the "same" format to be able to compare them. (#11226)
121
+ // Notes:
122
+ // - Windows: file:///C:/path/to/somewhere vs file:///c%3A/path/to/somewhere
123
+ // - macOS: file:///Applications/App%20Name.app/Contents vs /Applications/App Name.app/Contents
124
+ // This URL string comes from electron, we can expect that this is properly encoded URL. For example, a space is `%20`
125
+ const currentUrl = new URI(this.window.webContents.getURL()).toString();
126
+ // THEIA_FRONTEND_HTML_PATH is an FS path, we have to covert to an encoded URI string.
127
+ const frontendUri = FileUri.create(this.globals.THEIA_FRONTEND_HTML_PATH).toString();
125
128
  const safeToClose = !currentUrl.includes(frontendUri) || await this.checkSafeToStop(reason);
126
129
  if (safeToClose) {
127
130
  try {