From 45dcbe58afd6f4a2e7b91d64de7df96e4b4d3814 Mon Sep 17 00:00:00 2001 From: Joey Robichaud Date: Wed, 13 Oct 2021 09:49:31 -0700 Subject: [PATCH] Fix decompilation authorization check --- CHANGELOG.md | 10 +++++++--- package-lock.json | 2 +- package.json | 2 +- src/main.ts | 4 ---- src/omnisharp/extension.ts | 3 ++- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e3f37e22..907068219 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## Known Issues in 1.23.16 +## Known Issues in 1.23.17 * For Mono-based development (e.g. Unity) that requires full .NET framework, you need to set `"omnisharp.useGlobalMono": "always"`. The current value of "auto" will remain "never" until Mono [upgrades their bundled MSBuild version](https://github.com/mono/mono/issues/20250). * After selecting a solution filter (*.slnf) from the project selector, the solution's name will be displayed in the status bar instead of the filter's. @@ -11,7 +11,11 @@ * Renaming symbol fails within a file that had recently been renamed without saving changes. * As a workaround, make an edit within the file before using Rename Symbol. -## 1.23.16 (Not released yet) +## 1.23.17 (Not released yet) +* Fix decompilation authorization check ([#4817](https://github.com/OmniSharp/omnisharp-vscode/issues/4817), PR: [#4821](https://github.com/OmniSharp/omnisharp-vscode/pull/4821)) +* Fix typo in Readme.md (PR: [#4819](https://github.com/OmniSharp/omnisharp-vscode/pull/4819)) + +## 1.23.16 (Oct 12th, 2021) * Show decompilation authorization once per install. ([#3982](https://github.com/OmniSharp/omnisharp-vscode/issues/3982), PR: [#4760](https://github.com/OmniSharp/omnisharp-vscode/pull/4760)) * Launch with first Folder or Solution target found (PR: [#4780](https://github.com/OmniSharp/omnisharp-vscode/pull/4780)) * Update Debugger Labels (PR: [#4798](https://github.com/OmniSharp/omnisharp-vscode/pull/4798)) @@ -27,7 +31,7 @@ ## 1.23.15 (Aug 31st, 2021) * Restore launch target for workspace root when no solution present ([#4691](https://github.com/OmniSharp/omnisharp-vscode/issues/4691), PR: [#4695](https://github.com/OmniSharp/omnisharp-vscode/pull/4695)) * Don't create launch.json for no select process ([omnisharp-roslyn#4696](https://github.com/OmniSharp/omnisharp-roslyn/issues/4696), PR: [#4699](https://github.com/OmniSharp/omnisharp-vscode/pull/4699)) -* Support nserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) +* Support inserting outside code when texts are selected (PR: [#4715](https://github.com/OmniSharp/omnisharp-vscode/pull/4715)) * Fix autoFix on save ([#4401](https://github.com/OmniSharp/omnisharp-roslyn/issues/4401), PR: [#4717](https://github.com/OmniSharp/omnisharp-vscode/pull/4717)) * Update OmniSharp version to 1.37.15: diff --git a/package-lock.json b/package-lock.json index 73574729b..ea24d45e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "csharp", - "version": "1.23.16", + "version": "1.23.17", "lockfileVersion": 2, "requires": true, "packages": { diff --git a/package.json b/package.json index a6a452514..9beb85890 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "csharp", "publisher": "ms-dotnettools", - "version": "1.23.16", + "version": "1.23.17", "description": "C# for Visual Studio Code (powered by OmniSharp).", "displayName": "C#", "author": "Microsoft Corporation", diff --git a/src/main.ts b/src/main.ts index 8eac66c43..d53c1c32f 100644 --- a/src/main.ts +++ b/src/main.ts @@ -44,7 +44,6 @@ import IInstallDependencies from './packageManager/IInstallDependencies'; import { installRuntimeDependencies } from './InstallRuntimeDependencies'; import { isValidDownload } from './packageManager/isValidDownload'; import { BackgroundWorkStatusBarObserver } from './observers/BackgroundWorkStatusBarObserver'; -import { getDecompilationAuthorization } from './omnisharp/decompilationPrompt'; import { getDotnetPackApi } from './DotnetPack'; export async function activate(context: vscode.ExtensionContext): Promise { @@ -162,9 +161,6 @@ export async function activate(context: vscode.ExtensionContext): Promise downloadAndInstallPackages(dependencies, networkSettingsProvider, eventStream, isValidDownload); let runtimeDependenciesExist = await ensureRuntimeDependencies(extension, eventStream, platformInfo, installDependencies); - // Prompt to authorize decompilation in this workspace - await getDecompilationAuthorization(context, optionProvider); - // activate language services let langServicePromise = OmniSharp.activate(context, extension.packageJSON, platformInfo, networkSettingsProvider, eventStream, optionProvider, extension.extensionPath); diff --git a/src/omnisharp/extension.ts b/src/omnisharp/extension.ts index a50f1abae..550f95a34 100644 --- a/src/omnisharp/extension.ts +++ b/src/omnisharp/extension.ts @@ -42,6 +42,7 @@ import { FixAllProvider } from '../features/fixAllProvider'; import { LanguageMiddlewareFeature } from './LanguageMiddlewareFeature'; import SemanticTokensProvider from '../features/semanticTokensProvider'; import SourceGeneratedDocumentProvider from '../features/sourceGeneratedDocumentProvider'; +import { getDecompilationAuthorization } from './decompilationPrompt'; export interface ActivationResult { readonly server: OmniSharpServer; @@ -56,7 +57,7 @@ export async function activate(context: vscode.ExtensionContext, packageJSON: an const options = optionProvider.GetLatestOptions(); let omnisharpMonoResolver = new OmniSharpMonoResolver(getMonoVersion); - const decompilationAuthorized = context.workspaceState.get("decompilationAuthorized") ?? false; + const decompilationAuthorized = await getDecompilationAuthorization(context, optionProvider); const server = new OmniSharpServer(vscode, provider, packageJSON, platformInfo, eventStream, optionProvider, extensionPath, omnisharpMonoResolver, decompilationAuthorized); const advisor = new Advisor(server, optionProvider); // create before server is started const disposables = new CompositeDisposable();