diff --git a/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.test.ts b/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.test.ts index 57672289e4..f10c460b11 100644 --- a/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.test.ts +++ b/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.test.ts @@ -41,6 +41,10 @@ describe('AuthMessageHandler', () => { await handler.handle({ type: 'auth' }); + expect(mockShowQuickPick).toHaveBeenCalledWith( + expect.any(Array), + expect.objectContaining({ ignoreFocusOut: true }), + ); expect(sendToWebView).toHaveBeenCalledWith({ type: 'authCancelled' }); }); @@ -65,6 +69,9 @@ describe('AuthMessageHandler', () => { await handler.handle({ type: 'auth' }); + expect(mockShowInputBox).toHaveBeenCalledWith( + expect.objectContaining({ ignoreFocusOut: true }), + ); expect(sendToWebView).toHaveBeenCalledWith({ type: 'authCancelled' }); }); diff --git a/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts b/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts index aa99749bae..d23a4546c7 100644 --- a/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts +++ b/packages/vscode-ide-companion/src/webview/handlers/AuthMessageHandler.ts @@ -120,6 +120,7 @@ export class AuthMessageHandler extends BaseMessageHandler { const choice = await vscode.window.showQuickPick(items, { title, placeHolder, + ignoreFocusOut: true, }); if (!choice || choice.kind === vscode.QuickPickItemKind.Separator) { this.notifyAuthCancelled(); @@ -145,6 +146,7 @@ export class AuthMessageHandler extends BaseMessageHandler { placeHolder: opts.placeHolder, value: opts.value, password: opts.password ?? false, + ignoreFocusOut: true, validateInput: opts.required ? (v) => (!v?.trim() ? 'This field is required' : null) : undefined,