From fac642de1ed6ab74af77fc92763b9a984a177f55 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Wed, 30 Sep 2020 15:06:22 -0700 Subject: [PATCH] Only allow one arc controller connection (#12685) --- extensions/arc/src/extension.ts | 8 ++++++++ extensions/arc/src/localizedConstants.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/extensions/arc/src/extension.ts b/extensions/arc/src/extension.ts index 9df18413a8..482d50c4fa 100644 --- a/extensions/arc/src/extension.ts +++ b/extensions/arc/src/extension.ts @@ -26,6 +26,14 @@ export async function activate(context: vscode.ExtensionContext): Promise { + const nodes = await treeDataProvider.getChildren(); + if (nodes.length > 0) { + const response = await vscode.window.showErrorMessage(loc.onlyOneControllerSupported, loc.yes, loc.no); + if (response !== loc.yes) { + return; + } + await treeDataProvider.removeController(nodes[0] as ControllerTreeNode); + } const dialog = new ConnectToControllerDialog(treeDataProvider); dialog.showDialog(); const model = await dialog.waitForClose(); diff --git a/extensions/arc/src/localizedConstants.ts b/extensions/arc/src/localizedConstants.ts index a9e293e64a..99c078640f 100644 --- a/extensions/arc/src/localizedConstants.ts +++ b/extensions/arc/src/localizedConstants.ts @@ -167,3 +167,4 @@ export function errorConnectingToController(error: any): string { return localiz export function passwordAcquisitionFailed(error: any): string { return localize('arc.passwordAcquisitionFailed', "Failed to acquire password. {0}", getErrorMessage(error)); } export const invalidPassword = localize('arc.invalidPassword', "The password did not work, try again."); export function errorVerifyingPassword(error: any): string { return localize('arc.errorVerifyingPassword', "Error encountered while verifying password. {0}", getErrorMessage(error)); } +export const onlyOneControllerSupported = localize('arc.onlyOneControllerSupported', "Only one controller connection is currently supported at this time. Do you wish to remove the existing connection and add a new one?");