@theia/workspace 1.68.0-next.7 → 1.68.0-next.79
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/browser/quick-open-workspace.js +3 -4
- package/lib/browser/quick-open-workspace.js.map +1 -1
- package/lib/browser/workspace-breadcrumbs-contribution.js +3 -3
- package/lib/browser/workspace-breadcrumbs-contribution.js.map +1 -1
- package/lib/browser/workspace-commands.d.ts +1 -0
- package/lib/browser/workspace-commands.d.ts.map +1 -1
- package/lib/browser/workspace-commands.js +6 -2
- package/lib/browser/workspace-commands.js.map +1 -1
- package/lib/browser/workspace-frontend-contribution.d.ts +5 -1
- package/lib/browser/workspace-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/workspace-frontend-contribution.js +48 -7
- package/lib/browser/workspace-frontend-contribution.js.map +1 -1
- package/lib/browser/workspace-frontend-module.d.ts +1 -0
- package/lib/browser/workspace-frontend-module.d.ts.map +1 -1
- package/lib/browser/workspace-frontend-module.js +2 -0
- package/lib/browser/workspace-frontend-module.js.map +1 -1
- package/lib/browser/workspace-schema-updater.d.ts.map +1 -1
- package/lib/browser/workspace-service.js +3 -5
- package/lib/browser/workspace-service.js.map +1 -1
- package/lib/browser/workspace-trust-dialog.d.ts +13 -0
- package/lib/browser/workspace-trust-dialog.d.ts.map +1 -0
- package/lib/browser/workspace-trust-dialog.js +66 -0
- package/lib/browser/workspace-trust-dialog.js.map +1 -0
- package/lib/browser/workspace-trust-service.d.ts +77 -1
- package/lib/browser/workspace-trust-service.d.ts.map +1 -1
- package/lib/browser/workspace-trust-service.js +322 -12
- package/lib/browser/workspace-trust-service.js.map +1 -1
- package/lib/browser/workspace-trust-service.spec.d.ts +2 -0
- package/lib/browser/workspace-trust-service.spec.d.ts.map +1 -0
- package/lib/browser/workspace-trust-service.spec.js +357 -0
- package/lib/browser/workspace-trust-service.spec.js.map +1 -0
- package/lib/browser/workspace-uri-contribution.js +1 -2
- package/lib/browser/workspace-uri-contribution.js.map +1 -1
- package/lib/browser/workspace-user-working-directory-provider.js +6 -5
- package/lib/browser/workspace-user-working-directory-provider.js.map +1 -1
- package/lib/common/untitled-workspace-service.d.ts +8 -1
- package/lib/common/untitled-workspace-service.d.ts.map +1 -1
- package/lib/common/untitled-workspace-service.js +22 -3
- package/lib/common/untitled-workspace-service.js.map +1 -1
- package/lib/common/workspace-preferences.js +3 -3
- package/lib/common/workspace-preferences.js.map +1 -1
- package/lib/common/workspace-trust-preferences.d.ts +2 -0
- package/lib/common/workspace-trust-preferences.d.ts.map +1 -1
- package/lib/common/workspace-trust-preferences.js +13 -3
- package/lib/common/workspace-trust-preferences.js.map +1 -1
- package/lib/node/default-workspace-server.d.ts +0 -1
- package/lib/node/default-workspace-server.d.ts.map +1 -1
- package/lib/node/default-workspace-server.js +2 -3
- package/lib/node/default-workspace-server.js.map +1 -1
- package/package.json +5 -5
- package/src/browser/style/index.css +75 -0
- package/src/browser/workspace-commands.ts +5 -0
- package/src/browser/workspace-frontend-contribution.ts +45 -2
- package/src/browser/workspace-frontend-module.ts +4 -1
- package/src/browser/workspace-trust-dialog.tsx +90 -0
- package/src/browser/workspace-trust-service.spec.ts +462 -0
- package/src/browser/workspace-trust-service.ts +381 -15
- package/src/common/untitled-workspace-service.ts +21 -2
- package/src/common/workspace-trust-preferences.ts +11 -0
|
@@ -15,9 +15,14 @@
|
|
|
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.WorkspaceTrustService = void 0;
|
|
18
|
+
exports.WorkspaceTrustService = exports.WorkspaceRestrictionContribution = exports.WORKSPACE_TRUST_STATUS_BAR_ID = void 0;
|
|
19
19
|
const tslib_1 = require("tslib");
|
|
20
20
|
const browser_1 = require("@theia/core/lib/browser");
|
|
21
|
+
const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
|
|
22
|
+
const status_bar_1 = require("@theia/core/lib/browser/status-bar/status-bar");
|
|
23
|
+
const core_1 = require("@theia/core");
|
|
24
|
+
const common_1 = require("@theia/core/lib/common");
|
|
25
|
+
const uri_1 = require("@theia/core/lib/common/uri");
|
|
21
26
|
const preferences_1 = require("@theia/core/lib/common/preferences");
|
|
22
27
|
const message_service_1 = require("@theia/core/lib/common/message-service");
|
|
23
28
|
const nls_1 = require("@theia/core/lib/common/nls");
|
|
@@ -27,48 +32,236 @@ const window_service_1 = require("@theia/core/lib/browser/window/window-service"
|
|
|
27
32
|
const workspace_trust_preferences_1 = require("../common/workspace-trust-preferences");
|
|
28
33
|
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
29
34
|
const workspace_service_1 = require("./workspace-service");
|
|
35
|
+
const workspace_commands_1 = require("./workspace-commands");
|
|
30
36
|
const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
|
|
37
|
+
const workspace_trust_dialog_1 = require("./workspace-trust-dialog");
|
|
38
|
+
const untitled_workspace_service_1 = require("../common/untitled-workspace-service");
|
|
39
|
+
const env_variables_1 = require("@theia/core/lib/common/env-variables");
|
|
31
40
|
const STORAGE_TRUSTED = 'trusted';
|
|
41
|
+
exports.WORKSPACE_TRUST_STATUS_BAR_ID = 'workspace-trust-status';
|
|
42
|
+
/**
|
|
43
|
+
* Contribution interface for features that are restricted in untrusted workspaces.
|
|
44
|
+
* Implementations can provide information about what is being restricted.
|
|
45
|
+
*/
|
|
46
|
+
exports.WorkspaceRestrictionContribution = Symbol('WorkspaceRestrictionContribution');
|
|
32
47
|
let WorkspaceTrustService = class WorkspaceTrustService {
|
|
33
48
|
constructor() {
|
|
34
49
|
this.workspaceTrust = new promise_util_1.Deferred();
|
|
50
|
+
this.onDidChangeWorkspaceTrustEmitter = new common_1.Emitter();
|
|
51
|
+
this.onDidChangeWorkspaceTrust = this.onDidChangeWorkspaceTrustEmitter.event;
|
|
52
|
+
this.toDispose = new core_1.DisposableCollection(this.onDidChangeWorkspaceTrustEmitter);
|
|
35
53
|
}
|
|
36
54
|
init() {
|
|
37
55
|
this.doInit();
|
|
38
56
|
}
|
|
39
57
|
async doInit() {
|
|
40
58
|
await this.workspaceService.ready;
|
|
59
|
+
await this.workspaceTrustPref.ready;
|
|
60
|
+
await this.preferenceSchemaService.ready;
|
|
41
61
|
await this.resolveWorkspaceTrust();
|
|
42
|
-
this.preferences.onPreferenceChanged(change => this.handlePreferenceChange(change));
|
|
62
|
+
this.toDispose.push(this.preferences.onPreferenceChanged(change => this.handlePreferenceChange(change)));
|
|
63
|
+
this.toDispose.push(this.workspaceService.onWorkspaceChanged(() => this.handleWorkspaceChanged()));
|
|
64
|
+
// Show status bar item if starting in restricted mode
|
|
65
|
+
const initialTrust = await this.getWorkspaceTrust();
|
|
66
|
+
this.updateRestrictedModeIndicator(initialTrust);
|
|
67
|
+
// React to trust changes
|
|
68
|
+
this.toDispose.push(this.onDidChangeWorkspaceTrust(trust => {
|
|
69
|
+
this.updateRestrictedModeIndicator(trust);
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
onStop() {
|
|
73
|
+
this.toDispose.dispose();
|
|
43
74
|
}
|
|
44
75
|
getWorkspaceTrust() {
|
|
76
|
+
// Return current trust if already resolved, otherwise wait for initial resolution
|
|
77
|
+
if (this.currentTrust !== undefined) {
|
|
78
|
+
return Promise.resolve(this.currentTrust);
|
|
79
|
+
}
|
|
45
80
|
return this.workspaceTrust.promise;
|
|
46
81
|
}
|
|
47
82
|
async resolveWorkspaceTrust(givenTrust) {
|
|
48
83
|
if (!this.isWorkspaceTrustResolved()) {
|
|
49
|
-
const trust = givenTrust
|
|
84
|
+
const trust = givenTrust ?? await this.calculateWorkspaceTrust();
|
|
50
85
|
if (trust !== undefined) {
|
|
51
86
|
await this.storeWorkspaceTrust(trust);
|
|
52
87
|
this.contextKeyService.setContext('isWorkspaceTrusted', trust);
|
|
88
|
+
this.currentTrust = trust;
|
|
53
89
|
this.workspaceTrust.resolve(trust);
|
|
90
|
+
this.onDidChangeWorkspaceTrustEmitter.fire(trust);
|
|
91
|
+
if (trust && this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED]) {
|
|
92
|
+
await this.addToTrustedFolders();
|
|
93
|
+
}
|
|
54
94
|
}
|
|
55
95
|
}
|
|
56
96
|
}
|
|
97
|
+
setWorkspaceTrust(trusted) {
|
|
98
|
+
if (this.currentTrust === trusted) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.currentTrust = trusted;
|
|
102
|
+
this.contextKeyService.setContext('isWorkspaceTrusted', trusted);
|
|
103
|
+
if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
|
|
104
|
+
this.storeWorkspaceTrust(trusted);
|
|
105
|
+
}
|
|
106
|
+
this.onDidChangeWorkspaceTrustEmitter.fire(trusted);
|
|
107
|
+
}
|
|
57
108
|
isWorkspaceTrustResolved() {
|
|
58
109
|
return this.workspaceTrust.state !== 'unresolved';
|
|
59
110
|
}
|
|
60
111
|
async calculateWorkspaceTrust() {
|
|
61
|
-
|
|
62
|
-
|
|
112
|
+
const trustEnabled = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED];
|
|
113
|
+
if (!trustEnabled) {
|
|
63
114
|
return true;
|
|
64
115
|
}
|
|
65
|
-
|
|
116
|
+
// Empty workspace - no folders open
|
|
117
|
+
if (await this.isEmptyWorkspace()) {
|
|
118
|
+
return !!this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW];
|
|
119
|
+
}
|
|
120
|
+
if (await this.areAllWorkspaceUrisTrusted()) {
|
|
66
121
|
return true;
|
|
67
122
|
}
|
|
68
123
|
if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.NEVER) {
|
|
69
124
|
return false;
|
|
70
125
|
}
|
|
71
|
-
|
|
126
|
+
// For ONCE mode, check stored trust first
|
|
127
|
+
if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
|
|
128
|
+
const storedTrust = await this.loadWorkspaceTrust();
|
|
129
|
+
if (storedTrust !== undefined) {
|
|
130
|
+
return storedTrust;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
// For ALWAYS mode or ONCE mode with no stored decision, show dialog
|
|
134
|
+
return this.showTrustPromptDialog();
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if the workspace is empty (no workspace or folder opened, or
|
|
138
|
+
* an untitled workspace with no folders).
|
|
139
|
+
* A saved workspace file with 0 folders is NOT empty - it still needs trust
|
|
140
|
+
* evaluation because it could have tasks defined.
|
|
141
|
+
*/
|
|
142
|
+
async isEmptyWorkspace() {
|
|
143
|
+
const workspace = this.workspaceService.workspace;
|
|
144
|
+
if (!workspace) {
|
|
145
|
+
return true;
|
|
146
|
+
}
|
|
147
|
+
const roots = this.workspaceService.tryGetRoots();
|
|
148
|
+
// Only consider it empty if it's an untitled workspace with no folders
|
|
149
|
+
// Use secure check with configDirUri for trust-related decisions
|
|
150
|
+
if (roots.length === 0) {
|
|
151
|
+
const configDirUri = new uri_1.default(await this.envVariablesServer.getConfigDirUri());
|
|
152
|
+
if (this.untitledWorkspaceService.isUntitledWorkspace(workspace.resource, configDirUri)) {
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get the URIs that need to be trusted for the current workspace.
|
|
160
|
+
* This includes all workspace folder URIs, plus the workspace file URI
|
|
161
|
+
* for saved workspaces (since workspace files can contain tasks/settings).
|
|
162
|
+
*/
|
|
163
|
+
getWorkspaceUris() {
|
|
164
|
+
const uris = this.workspaceService.tryGetRoots().map(root => root.resource);
|
|
165
|
+
const workspace = this.workspaceService.workspace;
|
|
166
|
+
// For saved workspaces, include the workspace file itself
|
|
167
|
+
if (workspace && this.workspaceService.saved) {
|
|
168
|
+
uris.push(workspace.resource);
|
|
169
|
+
}
|
|
170
|
+
return uris;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Check if all workspace URIs are trusted.
|
|
174
|
+
* A workspace is trusted only if ALL of its folders (and the workspace
|
|
175
|
+
* file for saved workspaces) are trusted.
|
|
176
|
+
*/
|
|
177
|
+
async areAllWorkspaceUrisTrusted() {
|
|
178
|
+
const uris = this.getWorkspaceUris();
|
|
179
|
+
if (uris.length === 0) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
return uris.every(uri => this.isUriTrusted(uri));
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Check if a URI is trusted. A URI is trusted if it or any of its
|
|
186
|
+
* parent folders is in the trusted folders list.
|
|
187
|
+
*/
|
|
188
|
+
isUriTrusted(uri) {
|
|
189
|
+
const trustedFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
|
|
190
|
+
const caseSensitive = !core_1.OS.backend.isWindows;
|
|
191
|
+
const normalizedUri = uri.normalizePath();
|
|
192
|
+
return trustedFolders.some(folder => {
|
|
193
|
+
try {
|
|
194
|
+
const folderUri = new uri_1.default(folder).normalizePath();
|
|
195
|
+
// Check if the trusted folder is equal to or a parent of the URI
|
|
196
|
+
return folderUri.isEqualOrParent(normalizedUri, caseSensitive);
|
|
197
|
+
}
|
|
198
|
+
catch {
|
|
199
|
+
return false; // Invalid URI in preferences
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
async showTrustPromptDialog() {
|
|
204
|
+
// If dialog is already open, wait for its result
|
|
205
|
+
if (this.pendingTrustDialog) {
|
|
206
|
+
return this.pendingTrustDialog.promise;
|
|
207
|
+
}
|
|
208
|
+
this.pendingTrustDialog = new promise_util_1.Deferred();
|
|
209
|
+
try {
|
|
210
|
+
// Show the workspace folders in the dialog
|
|
211
|
+
const folderUris = this.workspaceService.tryGetRoots().map(root => root.resource);
|
|
212
|
+
const dialog = new workspace_trust_dialog_1.WorkspaceTrustDialog(folderUris);
|
|
213
|
+
const result = await dialog.open();
|
|
214
|
+
const trusted = result === true;
|
|
215
|
+
this.pendingTrustDialog.resolve(trusted);
|
|
216
|
+
return trusted;
|
|
217
|
+
}
|
|
218
|
+
catch (e) {
|
|
219
|
+
this.pendingTrustDialog.resolve(false);
|
|
220
|
+
throw e;
|
|
221
|
+
}
|
|
222
|
+
finally {
|
|
223
|
+
this.pendingTrustDialog = undefined;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
async addToTrustedFolders() {
|
|
227
|
+
const uris = this.getWorkspaceUris();
|
|
228
|
+
if (uris.length === 0) {
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const currentFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
|
|
232
|
+
const newFolders = [...currentFolders];
|
|
233
|
+
let changed = false;
|
|
234
|
+
for (const uri of uris) {
|
|
235
|
+
if (!this.isUriTrusted(uri)) {
|
|
236
|
+
newFolders.push(uri.toString());
|
|
237
|
+
changed = true;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (changed) {
|
|
241
|
+
await this.preferences.set(workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS, newFolders, preferences_1.PreferenceScope.User);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
async removeFromTrustedFolders() {
|
|
245
|
+
const uris = this.getWorkspaceUris();
|
|
246
|
+
if (uris.length === 0) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
const currentFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
|
|
250
|
+
const caseSensitive = !core_1.OS.backend.isWindows;
|
|
251
|
+
const normalizedUris = uris.map(uri => uri.normalizePath());
|
|
252
|
+
const updatedFolders = currentFolders.filter(folder => {
|
|
253
|
+
try {
|
|
254
|
+
const folderUri = new uri_1.default(folder).normalizePath();
|
|
255
|
+
// Remove folder if it exactly matches any workspace URI
|
|
256
|
+
return !normalizedUris.some(wsUri => wsUri.isEqual(folderUri, caseSensitive));
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
return true; // Keep invalid URIs
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
if (updatedFolders.length !== currentFolders.length) {
|
|
263
|
+
await this.preferences.set(workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS, updatedFolders, preferences_1.PreferenceScope.User);
|
|
264
|
+
}
|
|
72
265
|
}
|
|
73
266
|
async loadWorkspaceTrust() {
|
|
74
267
|
if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
|
|
@@ -81,19 +274,49 @@ let WorkspaceTrustService = class WorkspaceTrustService {
|
|
|
81
274
|
}
|
|
82
275
|
}
|
|
83
276
|
async handlePreferenceChange(change) {
|
|
277
|
+
// Handle trustedFolders changes regardless of scope
|
|
278
|
+
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS) {
|
|
279
|
+
// For empty windows with emptyWindow setting enabled, trust should remain true
|
|
280
|
+
if (await this.isEmptyWorkspace() && this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW]) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const areAllUrisTrusted = await this.areAllWorkspaceUrisTrusted();
|
|
284
|
+
if (areAllUrisTrusted !== this.currentTrust) {
|
|
285
|
+
this.setWorkspaceTrust(areAllUrisTrusted);
|
|
286
|
+
}
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
84
289
|
if (change.scope === preferences_1.PreferenceScope.User) {
|
|
85
|
-
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT &&
|
|
290
|
+
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT && this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] !== workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
|
|
86
291
|
this.storage.setData(STORAGE_TRUSTED, undefined);
|
|
87
292
|
}
|
|
88
293
|
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED && this.isWorkspaceTrustResolved() && await this.confirmRestart()) {
|
|
89
294
|
this.windowService.setSafeToShutDown();
|
|
90
295
|
this.windowService.reload();
|
|
91
296
|
}
|
|
92
|
-
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED
|
|
297
|
+
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED) {
|
|
93
298
|
this.resolveWorkspaceTrust();
|
|
94
299
|
}
|
|
300
|
+
// Handle emptyWindow setting change for empty windows
|
|
301
|
+
if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW && await this.isEmptyWorkspace()) {
|
|
302
|
+
// For empty windows, directly update trust based on the new setting value
|
|
303
|
+
const shouldTrust = !!this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW];
|
|
304
|
+
if (this.currentTrust !== shouldTrust) {
|
|
305
|
+
this.setWorkspaceTrust(shouldTrust);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
95
308
|
}
|
|
96
309
|
}
|
|
310
|
+
async handleWorkspaceChanged() {
|
|
311
|
+
// Reset trust state for the new workspace
|
|
312
|
+
this.workspaceTrust = new promise_util_1.Deferred();
|
|
313
|
+
this.currentTrust = undefined;
|
|
314
|
+
// Re-evaluate trust for the new workspace
|
|
315
|
+
await this.resolveWorkspaceTrust();
|
|
316
|
+
// Update status bar indicator
|
|
317
|
+
const trust = await this.getWorkspaceTrust();
|
|
318
|
+
this.updateRestrictedModeIndicator(trust);
|
|
319
|
+
}
|
|
97
320
|
async confirmRestart() {
|
|
98
321
|
const shouldRestart = await new browser_1.ConfirmDialog({
|
|
99
322
|
title: nls_1.nls.localizeByDefault('A setting has changed that requires a restart to take effect.'),
|
|
@@ -103,11 +326,71 @@ let WorkspaceTrustService = class WorkspaceTrustService {
|
|
|
103
326
|
}).open();
|
|
104
327
|
return shouldRestart === true;
|
|
105
328
|
}
|
|
329
|
+
updateRestrictedModeIndicator(trusted) {
|
|
330
|
+
if (trusted) {
|
|
331
|
+
this.hideRestrictedModeStatusBarItem();
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
this.showRestrictedModeStatusBarItem();
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
showRestrictedModeStatusBarItem() {
|
|
338
|
+
this.statusBar.setElement(exports.WORKSPACE_TRUST_STATUS_BAR_ID, {
|
|
339
|
+
text: '$(shield) ' + nls_1.nls.localizeByDefault('Restricted Mode'),
|
|
340
|
+
alignment: status_bar_1.StatusBarAlignment.LEFT,
|
|
341
|
+
backgroundColor: 'var(--theia-statusBarItem-prominentBackground)',
|
|
342
|
+
color: 'var(--theia-statusBarItem-prominentForeground)',
|
|
343
|
+
priority: 5000,
|
|
344
|
+
tooltip: this.createRestrictedModeTooltip(),
|
|
345
|
+
command: workspace_commands_1.WorkspaceCommands.MANAGE_WORKSPACE_TRUST.id
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
createRestrictedModeTooltip() {
|
|
349
|
+
const md = new markdown_string_1.MarkdownStringImpl('', { supportThemeIcons: true });
|
|
350
|
+
md.appendMarkdown(`**${nls_1.nls.localizeByDefault('Restricted Mode')}**\n\n`);
|
|
351
|
+
md.appendMarkdown(nls_1.nls.localize('theia/workspace/restrictedModeDescription', 'Some features are disabled because this workspace is not trusted.'));
|
|
352
|
+
md.appendMarkdown('\n\n');
|
|
353
|
+
md.appendMarkdown(nls_1.nls.localize('theia/workspace/restrictedModeNote', '*Please note: The workspace trust feature is currently under development in Theia; not all features are integrated with workspace trust yet*'));
|
|
354
|
+
const restrictions = this.collectRestrictions();
|
|
355
|
+
if (restrictions.length > 0) {
|
|
356
|
+
md.appendMarkdown('\n\n---\n\n');
|
|
357
|
+
for (const restriction of restrictions) {
|
|
358
|
+
md.appendMarkdown(`**${restriction.label}**\n\n`);
|
|
359
|
+
if (restriction.details && restriction.details.length > 0) {
|
|
360
|
+
for (const detail of restriction.details) {
|
|
361
|
+
md.appendMarkdown(`- ${detail}\n`);
|
|
362
|
+
}
|
|
363
|
+
md.appendMarkdown('\n');
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
md.appendMarkdown('\n\n---\n\n');
|
|
368
|
+
md.appendMarkdown(nls_1.nls.localize('theia/workspace/clickToManageTrust', 'Click to manage trust settings.'));
|
|
369
|
+
return md;
|
|
370
|
+
}
|
|
371
|
+
collectRestrictions() {
|
|
372
|
+
const restrictions = [];
|
|
373
|
+
for (const contribution of this.restrictionContributions.getContributions()) {
|
|
374
|
+
restrictions.push(...contribution.getRestrictions());
|
|
375
|
+
}
|
|
376
|
+
return restrictions;
|
|
377
|
+
}
|
|
378
|
+
hideRestrictedModeStatusBarItem() {
|
|
379
|
+
this.statusBar.removeElement(exports.WORKSPACE_TRUST_STATUS_BAR_ID);
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Refreshes the restricted mode status bar item.
|
|
383
|
+
* Call this when restriction contributions change.
|
|
384
|
+
*/
|
|
385
|
+
refreshRestrictedModeIndicator() {
|
|
386
|
+
if (this.currentTrust === false) {
|
|
387
|
+
this.showRestrictedModeStatusBarItem();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
106
390
|
async requestWorkspaceTrust() {
|
|
107
391
|
if (!this.isWorkspaceTrustResolved()) {
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
this.resolveWorkspaceTrust(trusted);
|
|
392
|
+
const trusted = await this.showTrustPromptDialog();
|
|
393
|
+
await this.resolveWorkspaceTrust(trusted);
|
|
111
394
|
}
|
|
112
395
|
return this.workspaceTrust.promise;
|
|
113
396
|
}
|
|
@@ -133,6 +416,10 @@ tslib_1.__decorate([
|
|
|
133
416
|
(0, inversify_1.inject)(workspace_trust_preferences_1.WorkspaceTrustPreferences),
|
|
134
417
|
tslib_1.__metadata("design:type", Object)
|
|
135
418
|
], WorkspaceTrustService.prototype, "workspaceTrustPref", void 0);
|
|
419
|
+
tslib_1.__decorate([
|
|
420
|
+
(0, inversify_1.inject)(preferences_1.PreferenceSchemaService),
|
|
421
|
+
tslib_1.__metadata("design:type", Object)
|
|
422
|
+
], WorkspaceTrustService.prototype, "preferenceSchemaService", void 0);
|
|
136
423
|
tslib_1.__decorate([
|
|
137
424
|
(0, inversify_1.inject)(window_service_1.WindowService),
|
|
138
425
|
tslib_1.__metadata("design:type", Object)
|
|
@@ -141,12 +428,35 @@ tslib_1.__decorate([
|
|
|
141
428
|
(0, inversify_1.inject)(context_key_service_1.ContextKeyService),
|
|
142
429
|
tslib_1.__metadata("design:type", Object)
|
|
143
430
|
], WorkspaceTrustService.prototype, "contextKeyService", void 0);
|
|
431
|
+
tslib_1.__decorate([
|
|
432
|
+
(0, inversify_1.inject)(status_bar_1.StatusBar),
|
|
433
|
+
tslib_1.__metadata("design:type", Object)
|
|
434
|
+
], WorkspaceTrustService.prototype, "statusBar", void 0);
|
|
435
|
+
tslib_1.__decorate([
|
|
436
|
+
(0, inversify_1.inject)(core_1.ContributionProvider),
|
|
437
|
+
(0, inversify_1.named)(exports.WorkspaceRestrictionContribution),
|
|
438
|
+
tslib_1.__metadata("design:type", Object)
|
|
439
|
+
], WorkspaceTrustService.prototype, "restrictionContributions", void 0);
|
|
440
|
+
tslib_1.__decorate([
|
|
441
|
+
(0, inversify_1.inject)(untitled_workspace_service_1.UntitledWorkspaceService),
|
|
442
|
+
tslib_1.__metadata("design:type", untitled_workspace_service_1.UntitledWorkspaceService)
|
|
443
|
+
], WorkspaceTrustService.prototype, "untitledWorkspaceService", void 0);
|
|
444
|
+
tslib_1.__decorate([
|
|
445
|
+
(0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
|
|
446
|
+
tslib_1.__metadata("design:type", Object)
|
|
447
|
+
], WorkspaceTrustService.prototype, "envVariablesServer", void 0);
|
|
144
448
|
tslib_1.__decorate([
|
|
145
449
|
(0, inversify_1.postConstruct)(),
|
|
146
450
|
tslib_1.__metadata("design:type", Function),
|
|
147
451
|
tslib_1.__metadata("design:paramtypes", []),
|
|
148
452
|
tslib_1.__metadata("design:returntype", void 0)
|
|
149
453
|
], WorkspaceTrustService.prototype, "init", null);
|
|
454
|
+
tslib_1.__decorate([
|
|
455
|
+
(0, inversify_1.preDestroy)(),
|
|
456
|
+
tslib_1.__metadata("design:type", Function),
|
|
457
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
458
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
459
|
+
], WorkspaceTrustService.prototype, "onStop", null);
|
|
150
460
|
exports.WorkspaceTrustService = WorkspaceTrustService = tslib_1.__decorate([
|
|
151
461
|
(0, inversify_1.injectable)()
|
|
152
462
|
], WorkspaceTrustService);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-trust-service.js","sourceRoot":"","sources":["../../src/browser/workspace-trust-service.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,qDAAgF;AAChF,oEAA0G;AAC1G,4EAAwE;AACxE,oDAAiD;AACjD,sEAA+D;AAC/D,4DAAiF;AACjF,kFAA8E;AAC9E,uFAE+C;AAC/C,uHAAiH;AACjH,2DAAuD;AACvD,qFAAgF;AAEhF,MAAM,eAAe,GAAG,SAAS,CAAC;AAG3B,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAsBO,mBAAc,GAAG,IAAI,uBAAQ,EAAW,CAAC;IAkGvD,CAAC;IA/Fa,IAAI;QACV,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAClC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,iBAAiB;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACvC,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,UAAoB;QACtD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC;QACL,CAAC;IACL,CAAC;IAES,wBAAwB;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,YAAY,CAAC;IACtD,CAAC;IAES,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,qDAAuB,CAAC,EAAE,CAAC;YACpD,+EAA+E;YAC/E,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,0DAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC5F,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,KAAK,EAAE,CAAC;YACzF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAES,KAAK,CAAC,kBAAkB;QAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAU,eAAe,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,KAAc;QAC9C,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,MAAwB;QAC3D,IAAI,MAAM,CAAC,KAAK,KAAK,6BAAe,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,cAAc,KAAK,4DAA8B,IAAI,MAAM,CAAC,QAAQ,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;gBAC5G,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,KAAK,qDAAuB,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBACtH,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,KAAK,qDAAuB,IAAI,MAAM,CAAC,cAAc,KAAK,0DAA4B,EAAE,CAAC;gBAC9G,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,cAAc;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,uBAAa,CAAC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,+DAA+D,CAAC;YAC7F,GAAG,EAAE,SAAG,CAAC,iBAAiB,CAAC,iEAAiE,EAAE,wEAAiC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;YACtJ,EAAE,EAAE,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACpC,MAAM,EAAE,gBAAM,CAAC,MAAM;SACxB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,aAAa,KAAK,IAAI,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,qBAAqB;QACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAG,CAAC,QAAQ,CAAC,8BAA8B,EACxF,kIAAkI,CAAC,EACnI,gBAAM,CAAC,GAAG,EAAE,gBAAM,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,OAAO,GAAG,SAAS,KAAK,gBAAM,CAAC,GAAG,CAAC;YACzC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACvC,CAAC;CACJ,CAAA;AAxHY,sDAAqB;AAEX;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;+DAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,+BAAiB,CAAC;;0DACwB;AAG/B;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;sDACoB;AAGxB;IADlB,IAAA,kBAAM,EAAC,gCAAc,CAAC;sCACY,gCAAc;6DAAC;AAG/B;IADlB,IAAA,kBAAM,EAAC,uDAAyB,CAAC;;iEAC+B;AAG9C;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;4DAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;gEAC8B;AAK9C;IADT,IAAA,yBAAa,GAAE;;;;iDAGf;gCA3BQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAwHjC"}
|
|
1
|
+
{"version":3,"file":"workspace-trust-service.js","sourceRoot":"","sources":["../../src/browser/workspace-trust-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-trust-service.spec.d.ts","sourceRoot":"","sources":["../../src/browser/workspace-trust-service.spec.ts"],"names":[],"mappings":""}
|