From dd0d957d8b774a3e728df245cdea3b713bffe7e3 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Wed, 1 Jul 2020 08:58:40 -0700 Subject: [PATCH] Fix vscodeUtils make a request on every unit test run Summary: When running unit tests, every unit would try to make a graphql request (since promises always kick off immediately, even when not being awaited) and print an error. Fixed that by lazily choosing the preferred whatever it is. Before: {F241368814} After: (crickets) Reviewed By: passy Differential Revision: D22208422 fbshipit-source-id: b290d528d94dbed7ae867e07694d8d4cd85d8376 --- desktop/app/src/utils/vscodeUtils.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/desktop/app/src/utils/vscodeUtils.tsx b/desktop/app/src/utils/vscodeUtils.tsx index d21b3bdef..0a5230c80 100644 --- a/desktop/app/src/utils/vscodeUtils.tsx +++ b/desktop/app/src/utils/vscodeUtils.tsx @@ -10,7 +10,7 @@ import {getPreferredEditorUriScheme} from '../fb-stubs/user'; import {shell} from 'electron'; -const preferredEditorUriScheme: Promise = getPreferredEditorUriScheme(); +let preferredEditorUriScheme: string | undefined = undefined; export function callVSCode(plugin: string, command: string, params?: string) { getVSCodeUrl(plugin, command, params).then((url) => shell.openExternal(url)); @@ -21,7 +21,10 @@ export async function getVSCodeUrl( command: string, params?: string, ): Promise { - return `${await preferredEditorUriScheme}://${plugin}/${command}${ + if (preferredEditorUriScheme === undefined) { + preferredEditorUriScheme = await getPreferredEditorUriScheme(); + } + return `${preferredEditorUriScheme}://${plugin}/${command}${ params == null ? '' : `?${params}` }`; }