@theia/core 1.74.0-next.5 → 1.74.0-next.53
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 +4 -4
- package/lib/browser/catalog.json +300 -36
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +1 -2
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/keybinding.d.ts.map +1 -1
- package/lib/browser/keybinding.js +12 -7
- package/lib/browser/keybinding.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.d.ts.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +9 -1
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +63 -0
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +19 -26
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +7 -33
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +7 -54
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +2 -2
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +42 -12
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/common/preferences/index.d.ts +1 -0
- package/lib/common/preferences/index.d.ts.map +1 -1
- package/lib/common/preferences/index.js +1 -0
- package/lib/common/preferences/index.js.map +1 -1
- package/lib/common/preferences/preference-scope.d.ts +6 -1
- package/lib/common/preferences/preference-scope.d.ts.map +1 -1
- package/lib/common/preferences/preference-scope.js +5 -0
- package/lib/common/preferences/preference-scope.js.map +1 -1
- package/lib/common/preferences/preference-scope.spec.js +5 -3
- package/lib/common/preferences/preference-scope.spec.js.map +1 -1
- package/lib/common/preferences/preference-service.d.ts +19 -0
- package/lib/common/preferences/preference-service.d.ts.map +1 -1
- package/lib/common/preferences/preference-service.js +34 -5
- package/lib/common/preferences/preference-service.js.map +1 -1
- package/lib/common/preferences/session-preference-provider.d.ts +17 -0
- package/lib/common/preferences/session-preference-provider.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.js +77 -0
- package/lib/common/preferences/session-preference-provider.js.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts +2 -0
- package/lib/common/preferences/session-preference-provider.spec.d.ts.map +1 -0
- package/lib/common/preferences/session-preference-provider.spec.js +71 -0
- package/lib/common/preferences/session-preference-provider.spec.js.map +1 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.d.ts.map +1 -1
- package/lib/electron-node/hosting/electron-backend-hosting-module.js +7 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.js.map +1 -1
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts +2 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.d.ts.map +1 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js +39 -0
- package/lib/electron-node/hosting/electron-backend-hosting-module.spec.js.map +1 -0
- package/lib/node/hosting/backend-hosting-module.d.ts.map +1 -1
- package/lib/node/hosting/backend-hosting-module.js +4 -1
- package/lib/node/hosting/backend-hosting-module.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.d.ts +29 -1
- package/lib/node/hosting/browser-connection-token.d.ts.map +1 -1
- package/lib/node/hosting/browser-connection-token.js +25 -1
- package/lib/node/hosting/browser-connection-token.js.map +1 -1
- package/lib/node/hosting/browser-connection-token.spec.js +70 -0
- package/lib/node/hosting/browser-connection-token.spec.js.map +1 -1
- package/lib/node/index.d.ts +1 -0
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +3 -1
- package/lib/node/index.js.map +1 -1
- package/package.json +9 -9
- package/src/browser/common-frontend-contribution.ts +1 -2
- package/src/browser/keybinding.ts +12 -7
- package/src/browser/preferences/preference-contribution.ts +9 -1
- package/src/browser/preferences/preference-service.spec.ts +72 -0
- package/src/browser/shell/application-shell.ts +19 -25
- package/src/browser/style/select-component.css +16 -0
- package/src/browser/style/sidepanel.css +5 -0
- package/src/browser/style/status-bar.css +1 -1
- package/src/browser/tree/tree-widget.tsx +12 -78
- package/src/browser/widgets/select-component.tsx +41 -12
- package/src/common/preferences/index.ts +1 -0
- package/src/common/preferences/preference-scope.spec.ts +5 -3
- package/src/common/preferences/preference-scope.ts +6 -1
- package/src/common/preferences/preference-service.ts +39 -5
- package/src/common/preferences/session-preference-provider.spec.ts +78 -0
- package/src/common/preferences/session-preference-provider.ts +69 -0
- package/src/electron-node/hosting/electron-backend-hosting-module.spec.ts +42 -0
- package/src/electron-node/hosting/electron-backend-hosting-module.ts +8 -0
- package/src/node/hosting/backend-hosting-module.ts +5 -2
- package/src/node/hosting/browser-connection-token.spec.ts +92 -0
- package/src/node/hosting/browser-connection-token.ts +45 -1
- package/src/node/index.ts +1 -0
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
// *****************************************************************************
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
const chai_1 = require("chai");
|
|
19
|
+
const common_1 = require("../../common");
|
|
19
20
|
const browser_connection_token_1 = require("./browser-connection-token");
|
|
20
21
|
describe('BrowserConnectionToken', () => {
|
|
21
22
|
it('should generate unique tokens', () => {
|
|
@@ -124,5 +125,74 @@ describe('BrowserConnectionTokenBackendContribution', () => {
|
|
|
124
125
|
(0, chai_1.expect)(result.cookieCalls[0].value).to.equal(token.value);
|
|
125
126
|
});
|
|
126
127
|
});
|
|
128
|
+
describe('validateRequest (HTTP token enforcement)', () => {
|
|
129
|
+
function callValidate(cookieValue) {
|
|
130
|
+
const contribution = createContribution();
|
|
131
|
+
const result = { nextCalled: false };
|
|
132
|
+
const req = { headers: {} };
|
|
133
|
+
if (cookieValue !== undefined) {
|
|
134
|
+
req.headers.cookie = `${browser_connection_token_1.BROWSER_TOKEN_COOKIE_NAME}=${cookieValue}`;
|
|
135
|
+
}
|
|
136
|
+
const res = {
|
|
137
|
+
sendStatus: (status) => { result.sentStatus = status; }
|
|
138
|
+
};
|
|
139
|
+
const next = () => { result.nextCalled = true; };
|
|
140
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
141
|
+
contribution.validateRequest(req, res, next);
|
|
142
|
+
return result;
|
|
143
|
+
}
|
|
144
|
+
it('should allow request with valid token cookie', () => {
|
|
145
|
+
const result = callValidate(token.value);
|
|
146
|
+
(0, chai_1.expect)(result.nextCalled).to.be.true;
|
|
147
|
+
(0, chai_1.expect)(result.sentStatus).to.be.undefined;
|
|
148
|
+
});
|
|
149
|
+
it('should reject request with no cookie', () => {
|
|
150
|
+
const result = callValidate();
|
|
151
|
+
(0, chai_1.expect)(result.nextCalled).to.be.false;
|
|
152
|
+
(0, chai_1.expect)(result.sentStatus).to.equal(403);
|
|
153
|
+
});
|
|
154
|
+
it('should reject request with invalid token', () => {
|
|
155
|
+
const result = callValidate('wrong-token');
|
|
156
|
+
(0, chai_1.expect)(result.nextCalled).to.be.false;
|
|
157
|
+
(0, chai_1.expect)(result.sentStatus).to.equal(403);
|
|
158
|
+
});
|
|
159
|
+
it('should reject request with stale token from previous server', () => {
|
|
160
|
+
const staleToken = (0, browser_connection_token_1.createBrowserConnectionToken)().value;
|
|
161
|
+
const result = callValidate(staleToken);
|
|
162
|
+
(0, chai_1.expect)(result.nextCalled).to.be.false;
|
|
163
|
+
(0, chai_1.expect)(result.sentStatus).to.equal(403);
|
|
164
|
+
});
|
|
165
|
+
it('should reject request with empty token', () => {
|
|
166
|
+
const result = callValidate('');
|
|
167
|
+
(0, chai_1.expect)(result.nextCalled).to.be.false;
|
|
168
|
+
(0, chai_1.expect)(result.sentStatus).to.equal(403);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('Electron deployment (no-op)', () => {
|
|
172
|
+
let originalIsElectron;
|
|
173
|
+
beforeEach(() => {
|
|
174
|
+
originalIsElectron = common_1.environment.electron.is;
|
|
175
|
+
common_1.environment.electron.is = () => true;
|
|
176
|
+
});
|
|
177
|
+
afterEach(() => {
|
|
178
|
+
common_1.environment.electron.is = originalIsElectron;
|
|
179
|
+
});
|
|
180
|
+
it('validateRequest should call next() without a cookie', () => {
|
|
181
|
+
const contribution = createContribution();
|
|
182
|
+
let nextCalled = false;
|
|
183
|
+
let sentStatus;
|
|
184
|
+
const req = { headers: {} };
|
|
185
|
+
const res = { sendStatus: (status) => { sentStatus = status; } };
|
|
186
|
+
const next = () => { nextCalled = true; };
|
|
187
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
188
|
+
contribution.validateRequest(req, res, next);
|
|
189
|
+
(0, chai_1.expect)(nextCalled).to.be.true;
|
|
190
|
+
(0, chai_1.expect)(sentStatus).to.be.undefined;
|
|
191
|
+
});
|
|
192
|
+
it('allowWsUpgrade should return true without a cookie', () => {
|
|
193
|
+
const contribution = createContribution();
|
|
194
|
+
(0, chai_1.expect)(contribution.allowWsUpgrade(createRequest())).to.be.true;
|
|
195
|
+
});
|
|
196
|
+
});
|
|
127
197
|
});
|
|
128
198
|
//# sourceMappingURL=browser-connection-token.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-connection-token.spec.js","sourceRoot":"","sources":["../../../src/node/hosting/browser-connection-token.spec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-connection-token.spec.js","sourceRoot":"","sources":["../../../src/node/hosting/browser-connection-token.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/node/index.d.ts
CHANGED
|
@@ -7,4 +7,5 @@ export * from './cli';
|
|
|
7
7
|
export * from './setting-service';
|
|
8
8
|
export { FileSystemLocking } from './filesystem-locking';
|
|
9
9
|
export { BackendRequestAllowedContribution } from './request/backend-request-facade';
|
|
10
|
+
export { HttpConnectionValidator } from './hosting/browser-connection-token';
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAgBA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC"}
|
package/lib/node/index.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
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.BackendRequestAllowedContribution = exports.FileSystemLocking = void 0;
|
|
18
|
+
exports.HttpConnectionValidator = exports.BackendRequestAllowedContribution = exports.FileSystemLocking = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
tslib_1.__exportStar(require("./backend-application"), exports);
|
|
21
21
|
tslib_1.__exportStar(require("./backend-global"), exports);
|
|
@@ -28,4 +28,6 @@ var filesystem_locking_1 = require("./filesystem-locking");
|
|
|
28
28
|
Object.defineProperty(exports, "FileSystemLocking", { enumerable: true, get: function () { return filesystem_locking_1.FileSystemLocking; } });
|
|
29
29
|
var backend_request_facade_1 = require("./request/backend-request-facade");
|
|
30
30
|
Object.defineProperty(exports, "BackendRequestAllowedContribution", { enumerable: true, get: function () { return backend_request_facade_1.BackendRequestAllowedContribution; } });
|
|
31
|
+
var browser_connection_token_1 = require("./hosting/browser-connection-token");
|
|
32
|
+
Object.defineProperty(exports, "HttpConnectionValidator", { enumerable: true, get: function () { return browser_connection_token_1.HttpConnectionValidator; } });
|
|
31
33
|
//# sourceMappingURL=index.js.map
|
package/lib/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.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,gEAAsC;AACtC,2DAAiC;AACjC,kDAAwB;AACxB,6DAAmC;AACnC,sDAA4B;AAC5B,gDAAsB;AACtB,4DAAkC;AAClC,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2EAAqF;AAA5E,2IAAA,iCAAiC,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.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,gEAAsC;AACtC,2DAAiC;AACjC,kDAAwB;AACxB,6DAAmC;AACnC,sDAA4B;AAC5B,gDAAsB;AACtB,4DAAkC;AAClC,2DAAyD;AAAhD,uHAAA,iBAAiB,OAAA;AAC1B,2EAAqF;AAA5E,2IAAA,iCAAiC,OAAA;AAC1C,+EAA6E;AAApE,mIAAA,uBAAuB,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/core",
|
|
3
|
-
"version": "1.74.0-next.
|
|
3
|
+
"version": "1.74.0-next.53+8e4e53136c6",
|
|
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",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"@lumino/virtualdom": "^2.0.4",
|
|
18
18
|
"@lumino/widgets": "2.7.5",
|
|
19
19
|
"@parcel/watcher": "^2.5.6",
|
|
20
|
-
"@theia/application-package": "1.74.0-next.
|
|
21
|
-
"@theia/request": "1.74.0-next.
|
|
20
|
+
"@theia/application-package": "1.74.0-next.53+8e4e53136c6",
|
|
21
|
+
"@theia/request": "1.74.0-next.53+8e4e53136c6",
|
|
22
22
|
"@types/body-parser": "^1.19.6",
|
|
23
23
|
"@types/express": "^4.17.25",
|
|
24
24
|
"@types/fs-extra": "^4.0.15",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"async-mutex": "^0.4.1",
|
|
36
36
|
"body-parser": "^1.20.5",
|
|
37
37
|
"cookie": "^1.1.1",
|
|
38
|
-
"dompurify": "^3.4.
|
|
38
|
+
"dompurify": "^3.4.11",
|
|
39
39
|
"drivelist": "^12.0.2",
|
|
40
40
|
"express": "^4.22.2",
|
|
41
41
|
"fast-json-stable-stringify": "^2.1.0",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
"keytar": "7.9.0",
|
|
52
52
|
"lodash.debounce": "^4.0.8",
|
|
53
53
|
"lodash.throttle": "^4.1.1",
|
|
54
|
-
"markdown-it": "^14.
|
|
54
|
+
"markdown-it": "^14.3.0",
|
|
55
55
|
"markdown-it-anchor": "^9.2.0",
|
|
56
56
|
"markdown-it-emoji": "^3.0.0",
|
|
57
|
-
"msgpackr": "^1.
|
|
57
|
+
"msgpackr": "^1.12.1",
|
|
58
58
|
"p-debounce": "^2.1.0",
|
|
59
59
|
"perfect-scrollbar": "1.5.5",
|
|
60
60
|
"react-tooltip": "^4.5.1",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
"vscode-languageserver-protocol": "3.17.5",
|
|
70
70
|
"vscode-uri": "3.0.8",
|
|
71
71
|
"ws": "^8.21.0",
|
|
72
|
-
"yargs": "^17.7.
|
|
72
|
+
"yargs": "^17.7.3"
|
|
73
73
|
},
|
|
74
74
|
"peerDependencies": {
|
|
75
75
|
"@theia/electron": "*",
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
"devDependencies": {
|
|
221
221
|
"@theia/ext-scripts": "1.73.0",
|
|
222
222
|
"@theia/re-exports": "1.73.0",
|
|
223
|
-
"@types/react": "^18.3.
|
|
223
|
+
"@types/react": "^18.3.31",
|
|
224
224
|
"@types/react-dom": "^18.3.7",
|
|
225
225
|
"minimist": "^1.2.8",
|
|
226
226
|
"nodejs-file-downloader": "4.13.0",
|
|
@@ -230,5 +230,5 @@
|
|
|
230
230
|
"nyc": {
|
|
231
231
|
"extends": "../../configs/nyc.json"
|
|
232
232
|
},
|
|
233
|
-
"gitHead": "
|
|
233
|
+
"gitHead": "8e4e53136c69cec1ef61747c7269f9a935b76574"
|
|
234
234
|
}
|
|
@@ -680,7 +680,6 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
680
680
|
}
|
|
681
681
|
});
|
|
682
682
|
commandRegistry.registerCommand(CommonCommands.TOGGLE_BOTTOM_PANEL, {
|
|
683
|
-
isEnabled: () => this.shell.getWidgets('bottom').length > 0,
|
|
684
683
|
execute: () => {
|
|
685
684
|
if (this.shell.isExpanded('bottom')) {
|
|
686
685
|
this.shell.collapsePanel('bottom');
|
|
@@ -1393,7 +1392,7 @@ export class CommonFrontendContribution implements FrontendApplicationContributi
|
|
|
1393
1392
|
// list.focusBackground, list.focusForeground, list.inactiveFocusBackground, list.filterMatchBorder,
|
|
1394
1393
|
// list.dropBackground, listFilterWidget.outline, listFilterWidget.noMatchesOutline
|
|
1395
1394
|
// list.invalidItemForeground => tree node needs an respective class
|
|
1396
|
-
{ id: 'list.activeSelectionBackground', defaults: { dark: '#094771', light: '#
|
|
1395
|
+
{ id: 'list.activeSelectionBackground', defaults: { dark: '#094771', light: '#E8E8E8', hcLight: Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' },
|
|
1397
1396
|
{ id: 'list.activeSelectionForeground', defaults: { dark: '#FFF', light: '#FFF' }, description: 'List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.' },
|
|
1398
1397
|
{ id: 'list.inactiveSelectionBackground', defaults: { dark: '#37373D', light: '#E4E6F1', hcLight: Color.transparent('#0F4A85', 0.1) }, description: 'List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' },
|
|
1399
1398
|
{ id: 'list.inactiveSelectionForeground', description: 'List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.' },
|
|
@@ -610,11 +610,10 @@ export class KeybindingRegistry {
|
|
|
610
610
|
}
|
|
611
611
|
|
|
612
612
|
registerEventListeners(win: Window): Disposable {
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
*/
|
|
613
|
+
// IME composition tracking for the textarea-based editor input path,
|
|
614
|
+
// where compositionstart/compositionend bubble through the DOM.
|
|
615
|
+
// (For the native EditContext path, these events never reach the DOM;
|
|
616
|
+
// the keydown handler below uses additional checks for that case.)
|
|
618
617
|
let inComposition = false;
|
|
619
618
|
const compositionStart = () => {
|
|
620
619
|
inComposition = true;
|
|
@@ -627,9 +626,15 @@ export class KeybindingRegistry {
|
|
|
627
626
|
win.document.addEventListener('compositionend', compositionEnd);
|
|
628
627
|
|
|
629
628
|
const keydown = (event: KeyboardEvent) => {
|
|
630
|
-
|
|
631
|
-
|
|
629
|
+
// Skip IME-related keydowns. `inComposition` covers the textarea input path;
|
|
630
|
+
// `isComposing` and `keyCode === 229` cover the native EditContext path where
|
|
631
|
+
// composition events don't reach the DOM. The keyCode check catches keys that
|
|
632
|
+
// finalize a composition (e.g. arrow keys) where isComposing is already false.
|
|
633
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
634
|
+
if (inComposition || event.isComposing || event.keyCode === 229) {
|
|
635
|
+
return;
|
|
632
636
|
}
|
|
637
|
+
this.run(event);
|
|
633
638
|
};
|
|
634
639
|
win.document.addEventListener('keydown', keydown, true);
|
|
635
640
|
|
|
@@ -22,16 +22,24 @@ import { isObject } from '../../common/types';
|
|
|
22
22
|
import { PreferenceSchemaServiceImpl } from '../../common/preferences/preference-schema-service';
|
|
23
23
|
import { PreferenceContribution, PreferenceSchemaService } from '../../common/preferences/preference-schema';
|
|
24
24
|
import { DefaultsPreferenceProvider } from '../../common/preferences/defaults-preference-provider';
|
|
25
|
+
import { SessionPreferenceProvider } from '../../common/preferences/session-preference-provider';
|
|
25
26
|
import { PreferenceLanguageOverrideService } from '../../common/preferences/preference-language-override-service';
|
|
26
27
|
import { FrontendConfigPreferenceContribution } from './frontend-config-preference-contributions';
|
|
27
28
|
import { bindPreferenceConfigurations } from '../../common/preferences/preference-configurations';
|
|
28
29
|
|
|
29
30
|
export function bindPreferenceSchemaProvider(bind: interfaces.Bind): void {
|
|
30
31
|
bindPreferenceConfigurations(bind);
|
|
31
|
-
bind(ValidPreferenceScopes).toConstantValue([
|
|
32
|
+
bind(ValidPreferenceScopes).toConstantValue([
|
|
33
|
+
PreferenceScope.Default,
|
|
34
|
+
PreferenceScope.User,
|
|
35
|
+
PreferenceScope.Workspace,
|
|
36
|
+
PreferenceScope.Folder,
|
|
37
|
+
PreferenceScope.Session
|
|
38
|
+
]);
|
|
32
39
|
bind(PreferenceSchemaServiceImpl).toSelf().inSingletonScope();
|
|
33
40
|
bind(PreferenceSchemaService).toService(PreferenceSchemaServiceImpl);
|
|
34
41
|
bind(PreferenceProvider).to(DefaultsPreferenceProvider).inSingletonScope().whenTargetNamed(PreferenceScope.Default);
|
|
42
|
+
bind(PreferenceProvider).to(SessionPreferenceProvider).inSingletonScope().whenTargetNamed(PreferenceScope.Session);
|
|
35
43
|
bind(PreferenceLanguageOverrideService).toSelf().inSingletonScope();
|
|
36
44
|
bindRootContributionProvider(bind, PreferenceContribution);
|
|
37
45
|
bind(PreferenceContribution).to(FrontendConfigPreferenceContribution).inSingletonScope();
|
|
@@ -262,6 +262,7 @@ describe('Preference Service', () => {
|
|
|
262
262
|
globalValue,
|
|
263
263
|
workspaceValue,
|
|
264
264
|
workspaceFolderValue,
|
|
265
|
+
sessionValue: undefined,
|
|
265
266
|
value,
|
|
266
267
|
};
|
|
267
268
|
const inspection = preferences.inspect(TAB_SIZE, DUMMY_URI);
|
|
@@ -374,6 +375,7 @@ describe('Preference Service', () => {
|
|
|
374
375
|
globalValue: undefined,
|
|
375
376
|
workspaceValue: undefined,
|
|
376
377
|
workspaceFolderValue: undefined,
|
|
378
|
+
sessionValue: undefined,
|
|
377
379
|
value: 4,
|
|
378
380
|
};
|
|
379
381
|
assert.deepStrictEqual(expected, preferences.inspect('editor.tabSize'));
|
|
@@ -397,6 +399,7 @@ describe('Preference Service', () => {
|
|
|
397
399
|
globalValue: 2,
|
|
398
400
|
workspaceValue: undefined,
|
|
399
401
|
workspaceFolderValue: undefined,
|
|
402
|
+
sessionValue: undefined,
|
|
400
403
|
value: 2
|
|
401
404
|
};
|
|
402
405
|
preferences.set('editor.tabSize', 2, PreferenceScope.User);
|
|
@@ -422,6 +425,7 @@ describe('Preference Service', () => {
|
|
|
422
425
|
globalValue: undefined,
|
|
423
426
|
workspaceValue: undefined,
|
|
424
427
|
workspaceFolderValue: undefined,
|
|
428
|
+
sessionValue: undefined,
|
|
425
429
|
value: 4
|
|
426
430
|
};
|
|
427
431
|
assert.deepStrictEqual(expected, preferences.inspect('editor.tabSize'));
|
|
@@ -537,4 +541,72 @@ describe('Preference Service', () => {
|
|
|
537
541
|
});
|
|
538
542
|
});
|
|
539
543
|
|
|
544
|
+
describe('session-scope overrides', () => {
|
|
545
|
+
function getSessionProvider(): PreferenceProvider {
|
|
546
|
+
return testContainer.getNamed<PreferenceProvider>(PreferenceProvider, PreferenceScope.Session);
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
beforeEach(() => {
|
|
550
|
+
prefSchema.addSchema({
|
|
551
|
+
scope: PreferenceScope.Folder,
|
|
552
|
+
properties: {
|
|
553
|
+
'test.session': { type: 'number' }
|
|
554
|
+
}
|
|
555
|
+
});
|
|
556
|
+
});
|
|
557
|
+
|
|
558
|
+
it('takes precedence over the user scope', async () => {
|
|
559
|
+
getProvider(PreferenceScope.User).setPreference('test.session', 1);
|
|
560
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
561
|
+
expect(prefService.get('test.session')).equals(99);
|
|
562
|
+
});
|
|
563
|
+
|
|
564
|
+
it('is dropped when the same key is written to a persistent scope', async () => {
|
|
565
|
+
const sessionProvider = getSessionProvider();
|
|
566
|
+
getProvider(PreferenceScope.User).setPreference('test.session', 1);
|
|
567
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
568
|
+
expect(prefService.get('test.session')).equals(99);
|
|
569
|
+
|
|
570
|
+
// An explicit user edit must win over the session override and clear it.
|
|
571
|
+
await prefService.set('test.session', 2, PreferenceScope.User);
|
|
572
|
+
expect(sessionProvider.get('test.session')).to.equal(undefined);
|
|
573
|
+
expect(prefService.get('test.session')).equals(2);
|
|
574
|
+
});
|
|
575
|
+
|
|
576
|
+
it('is reported via inspect().sessionValue', async () => {
|
|
577
|
+
await prefService.set('test.session', 42, PreferenceScope.Session);
|
|
578
|
+
expect(prefService.inspect('test.session')?.sessionValue).equals(42);
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
it('emits a Session-scope change event when evicted by a persistent write', async () => {
|
|
582
|
+
// Status bar listeners rely on this: an eviction must surface as an
|
|
583
|
+
// onPreferenceChanged event whose `scope` is Session, otherwise the
|
|
584
|
+
// status bar would never clear after the override is dropped.
|
|
585
|
+
await prefService.set('test.session', 99, PreferenceScope.Session);
|
|
586
|
+
|
|
587
|
+
const sessionScopeEvents: PreferenceScope[] = [];
|
|
588
|
+
const listener = prefService.onPreferenceChanged(e => {
|
|
589
|
+
if (e.preferenceName === 'test.session') {
|
|
590
|
+
sessionScopeEvents.push(e.scope);
|
|
591
|
+
}
|
|
592
|
+
});
|
|
593
|
+
try {
|
|
594
|
+
await prefService.set('test.session', 2, PreferenceScope.User);
|
|
595
|
+
} finally {
|
|
596
|
+
listener.dispose();
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
expect(sessionScopeEvents).to.include(PreferenceScope.Session);
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
it('is left alone when writing to the Session scope itself', async () => {
|
|
603
|
+
const sessionProvider = getSessionProvider();
|
|
604
|
+
await prefService.set('test.session', 7, PreferenceScope.Session);
|
|
605
|
+
expect(sessionProvider.get('test.session')).to.equal(7);
|
|
606
|
+
// A second write to Session must not trigger eviction of itself.
|
|
607
|
+
await prefService.set('test.session', 8, PreferenceScope.Session);
|
|
608
|
+
expect(sessionProvider.get('test.session')).to.equal(8);
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
|
|
540
612
|
});
|
|
@@ -355,6 +355,7 @@ export class ApplicationShell extends Widget {
|
|
|
355
355
|
});
|
|
356
356
|
}
|
|
357
357
|
});
|
|
358
|
+
this.refreshBottomPanelToggleButton();
|
|
358
359
|
this.initializedDeferred.resolve();
|
|
359
360
|
}
|
|
360
361
|
|
|
@@ -689,14 +690,10 @@ export class ApplicationShell extends Widget {
|
|
|
689
690
|
spacing: 0
|
|
690
691
|
}, area => this.doToggleMaximized(area));
|
|
691
692
|
dockPanel.id = BOTTOM_AREA_ID;
|
|
692
|
-
dockPanel.widgetAdded.connect((sender, widget) => {
|
|
693
|
-
this.refreshBottomPanelToggleButton();
|
|
694
|
-
});
|
|
695
693
|
dockPanel.widgetRemoved.connect((sender, widget) => {
|
|
696
694
|
if (sender.isEmpty) {
|
|
697
695
|
this.collapseBottomPanel();
|
|
698
696
|
}
|
|
699
|
-
this.refreshBottomPanelToggleButton();
|
|
700
697
|
}, this);
|
|
701
698
|
dockPanel.node.addEventListener('lm-dragenter', event => {
|
|
702
699
|
// Make sure that the main panel hides its overlay when the bottom panel is expanded
|
|
@@ -887,7 +884,6 @@ export class ApplicationShell extends Widget {
|
|
|
887
884
|
}
|
|
888
885
|
});
|
|
889
886
|
}
|
|
890
|
-
this.refreshBottomPanelToggleButton();
|
|
891
887
|
}
|
|
892
888
|
// Proceed with the main panel once all others are set up
|
|
893
889
|
await this.bottomPanelState.pendingUpdate;
|
|
@@ -1570,9 +1566,11 @@ export class ApplicationShell extends Widget {
|
|
|
1570
1566
|
let size: number | undefined;
|
|
1571
1567
|
if (bottomPanel.isEmpty) {
|
|
1572
1568
|
bottomPanel.node.style.minHeight = '0';
|
|
1573
|
-
|
|
1574
|
-
|
|
1569
|
+
}
|
|
1570
|
+
if (this.bottomPanelState.lastPanelSize) {
|
|
1575
1571
|
size = this.bottomPanelState.lastPanelSize;
|
|
1572
|
+
} else if (bottomPanel.isEmpty) {
|
|
1573
|
+
size = this.options.bottomPanel.emptySize;
|
|
1576
1574
|
} else {
|
|
1577
1575
|
size = this.getDefaultBottomPanelSize();
|
|
1578
1576
|
}
|
|
@@ -1631,24 +1629,20 @@ export class ApplicationShell extends Widget {
|
|
|
1631
1629
|
* and refers to the command `core.toggle.bottom.panel`.
|
|
1632
1630
|
*/
|
|
1633
1631
|
protected refreshBottomPanelToggleButton(): void {
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
priority: -1000
|
|
1649
|
-
};
|
|
1650
|
-
this.statusBar.setElement(BOTTOM_PANEL_TOGGLE_ID, element);
|
|
1651
|
-
}
|
|
1632
|
+
const label = nls.localize('theia/core/common/collapseBottomPanel', 'Toggle Bottom Panel');
|
|
1633
|
+
const element: StatusBarEntry = {
|
|
1634
|
+
name: label,
|
|
1635
|
+
text: '$(codicon-window)',
|
|
1636
|
+
alignment: StatusBarAlignment.RIGHT,
|
|
1637
|
+
tooltip: label,
|
|
1638
|
+
command: 'core.toggle.bottom.panel',
|
|
1639
|
+
accessibilityInformation: {
|
|
1640
|
+
label: label,
|
|
1641
|
+
role: 'button'
|
|
1642
|
+
},
|
|
1643
|
+
priority: -1000
|
|
1644
|
+
};
|
|
1645
|
+
this.statusBar.setElement(BOTTOM_PANEL_TOGGLE_ID, element);
|
|
1652
1646
|
}
|
|
1653
1647
|
|
|
1654
1648
|
/**
|
|
@@ -99,6 +99,22 @@
|
|
|
99
99
|
background: var(--theia-list-activeSelectionBackground);
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
+
.theia-select-component-dropdown .theia-select-component-option.disabled,
|
|
103
|
+
.theia-select-component-dropdown .theia-select-component-option.disabled .theia-select-component-option-detail {
|
|
104
|
+
color: var(--theia-disabledForeground);
|
|
105
|
+
cursor: default;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.theia-select-component-dropdown .theia-select-component-option.disabled .theia-select-component-option-value {
|
|
109
|
+
text-decoration: line-through;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/* Keep a hovered/selected disabled option readable against the active-selection background. */
|
|
113
|
+
.theia-select-component-dropdown .theia-select-component-option.disabled.selected,
|
|
114
|
+
.theia-select-component-dropdown .theia-select-component-option.disabled.selected .theia-select-component-option-detail {
|
|
115
|
+
color: var(--theia-list-activeSelectionForeground);
|
|
116
|
+
}
|
|
117
|
+
|
|
102
118
|
.theia-select-component-dropdown .theia-select-component-separator {
|
|
103
119
|
width: 84px;
|
|
104
120
|
height: 1px;
|
|
@@ -276,6 +276,11 @@
|
|
|
276
276
|
background: inherit;
|
|
277
277
|
}
|
|
278
278
|
|
|
279
|
+
/* Ensure the empty bottom panel keeps a top border separating it from the main panel. */
|
|
280
|
+
#theia-bottom-content-panel:not(:has(.lm-TabBar)) {
|
|
281
|
+
border-top: var(--theia-border-width) solid var(--theia-panel-border);
|
|
282
|
+
}
|
|
283
|
+
|
|
279
284
|
#theia-bottom-content-panel .lm-TabBar-tab {
|
|
280
285
|
background: inherit;
|
|
281
286
|
}
|
|
@@ -63,7 +63,7 @@ body.theia-no-open-workspace #theia-statusBar {
|
|
|
63
63
|
padding-inline: var(--theia-ui-padding);
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
#theia-statusBar .area.left .element.has-background {
|
|
66
|
+
#theia-statusBar .area.left .element.has-background:not(#session-preference-status) {
|
|
67
67
|
margin-left: calc(-1 * var(--theia-ui-padding));
|
|
68
68
|
}
|
|
69
69
|
|