Skip to content

Commit e340b53

Browse files
author
Jackson Kearl
committed
Fix bug causing quick actions to not auto-open the domain
Add notification of the domain that was tried to open when managing trusted domains in the editor Fix microsoft#96855
1 parent 4823512 commit e340b53

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

src/vs/workbench/contrib/url/browser/trustedDomains.ts

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import { IAuthenticationService } from 'vs/workbench/services/authentication/bro
1515
import { IFileService } from 'vs/platform/files/common/files';
1616
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
1717
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
18+
import { INotificationService, Severity } from 'vs/platform/notification/common/notification';
19+
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
1820

1921
const TRUSTED_DOMAINS_URI = URI.parse('trustedDomains:/Trusted Domains');
2022

@@ -45,10 +47,13 @@ type ConfigureTrustedDomainsChoiceClassification = {
4547
export async function configureOpenerTrustedDomainsHandler(
4648
trustedDomains: string[],
4749
domainToConfigure: string,
50+
resource: URI,
4851
quickInputService: IQuickInputService,
4952
storageService: IStorageService,
5053
editorService: IEditorService,
51-
telemetryService: ITelemetryService
54+
telemetryService: ITelemetryService,
55+
notificationService: INotificationService,
56+
clipboardService: IClipboardService,
5257
) {
5358
const parsedDomainToConfigure = URI.parse(domainToConfigure);
5459
const toplevelDomainSegements = parsedDomainToConfigure.authority.split('.');
@@ -92,10 +97,12 @@ export async function configureOpenerTrustedDomainsHandler(
9297

9398
switch (pickedResult.id) {
9499
case 'manage':
95-
editorService.openEditor({
100+
await editorService.openEditor({
96101
resource: TRUSTED_DOMAINS_URI,
97102
mode: 'jsonc'
98103
});
104+
notificationService.prompt(Severity.Info, localize('configuringURL', "Configuring trust for: {0}", resource.toString()),
105+
[{ label: 'Copy', run: () => clipboardService.writeText(resource.toString()) }]);
99106
return trustedDomains;
100107
case 'trustDomain':
101108
case 'trustSubdomain':
@@ -112,7 +119,7 @@ export async function configureOpenerTrustedDomainsHandler(
112119
StorageScope.GLOBAL
113120
);
114121

115-
return [...trustedDomains, pickedResult.id];
122+
return [...trustedDomains, itemToTrust];
116123
}
117124
}
118125
}

src/vs/workbench/contrib/url/browser/trustedDomainsValidator.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
2121
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
2222
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
2323
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
24+
import { INotificationService } from 'vs/platform/notification/common/notification';
2425

2526
type TrustedDomainsDialogActionClassification = {
2627
action: { classification: 'SystemMetaData', purpose: 'FeatureInsight' };
@@ -37,6 +38,7 @@ export class OpenerValidatorContributions implements IWorkbenchContribution {
3738
@IClipboardService private readonly _clipboardService: IClipboardService,
3839
@ITelemetryService private readonly _telemetryService: ITelemetryService,
3940
@IInstantiationService private readonly _instantiationService: IInstantiationService,
41+
@INotificationService private readonly _notificationService: INotificationService,
4042
) {
4143
this._openerService.registerValidator({ shouldOpen: r => this.validateLink(r) });
4244
}
@@ -119,10 +121,13 @@ export class OpenerValidatorContributions implements IWorkbenchContribution {
119121
const pickedDomains = await configureOpenerTrustedDomainsHandler(
120122
trustedDomains,
121123
domainToOpen,
124+
resource,
122125
this._quickInputService,
123126
this._storageService,
124127
this._editorService,
125-
this._telemetryService
128+
this._telemetryService,
129+
this._notificationService,
130+
this._clipboardService,
126131
);
127132
// Trust all domains
128133
if (pickedDomains.indexOf('*') !== -1) {

0 commit comments

Comments
 (0)