From 3f511d294fbfcbb7ee219ecc55749cc8b1e8db39 Mon Sep 17 00:00:00 2001 From: Ladislau Szomoru <3372902+lszomoru@users.noreply.github.com> Date: Fri, 26 Mar 2021 20:52:14 +0100 Subject: [PATCH] Reload window on workspace trust state transition --- .../browser/workspace.contribution.ts | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts index 00c1906c177..70557b72a4e 100644 --- a/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts +++ b/src/vs/workbench/contrib/workspace/browser/workspace.contribution.ts @@ -145,10 +145,12 @@ export class WorkspaceTrustRequestHandler extends Disposable implements IWorkben } })); - this._register(this.workspaceTrustService.onDidChangeTrustState(trustState => { - if (trustState.currentTrustState !== undefined && trustState.currentTrustState !== WorkspaceTrustState.Unknown) { - this.toggleRequestBadge(false); - } + this._register(this.workspaceTrustService.onDidChangeTrustState(async (trustState) => { + type WorkspaceTrustStateChangedEvent = { + workspaceId: string, + previousState: WorkspaceTrustState, + newState: WorkspaceTrustState + }; type WorkspaceTrustStateChangedEventClassification = { workspaceId: { classification: 'SystemMetaData', purpose: 'FeatureInsight' }; @@ -156,17 +158,21 @@ export class WorkspaceTrustRequestHandler extends Disposable implements IWorkben newState: { classification: 'SystemMetaData', purpose: 'FeatureInsight', isMeasurement: true }; }; - type WorkspaceTrustStateChangedEvent = { - workspaceId: string, - previousState: WorkspaceTrustState, - newState: WorkspaceTrustState - }; - this.telemetryService.publicLog2('workspaceTrustStateChanged', { workspaceId: this.workspaceContextService.getWorkspace().id, previousState: trustState.previousTrustState, newState: trustState.currentTrustState }); + + // Transition from Trusted -> Untrusted/Unknown + if (trustState.previousTrustState === WorkspaceTrustState.Trusted && trustState.currentTrustState !== WorkspaceTrustState.Trusted) { + this.hostService.reload(); + } + + // Hide soft request badge + if (trustState.currentTrustState !== undefined && trustState.currentTrustState !== WorkspaceTrustState.Unknown) { + this.toggleRequestBadge(false); + } })); this._register(this.configurationService.onDidChangeConfiguration(e => {