From 5066bc538431482d3e44d1d932909e5a5bc6e69d Mon Sep 17 00:00:00 2001 From: Marat Boshernitsan Date: Mon, 21 Jul 2025 16:23:28 -0700 Subject: Refactor the logic for deciding whether to launch a browser into config (#4622) --- packages/core/src/code_assist/oauth2.test.ts | 2 ++ packages/core/src/code_assist/oauth2.ts | 3 +-- packages/core/src/config/config.ts | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'packages/core/src') diff --git a/packages/core/src/code_assist/oauth2.test.ts b/packages/core/src/code_assist/oauth2.test.ts index 8a1af056..ee63c02b 100644 --- a/packages/core/src/code_assist/oauth2.test.ts +++ b/packages/core/src/code_assist/oauth2.test.ts @@ -38,6 +38,7 @@ vi.mock('../utils/browser.js', () => ({ const mockConfig = { getNoBrowser: () => false, getProxy: () => 'http://test.proxy.com:8080', + isBrowserLaunchSuppressed: () => false, } as unknown as Config; // Mock fetch globally @@ -180,6 +181,7 @@ describe('oauth2', () => { const mockConfigWithNoBrowser = { getNoBrowser: () => true, getProxy: () => 'http://test.proxy.com:8080', + isBrowserLaunchSuppressed: () => true, } as unknown as Config; const mockCodeVerifier = { diff --git a/packages/core/src/code_assist/oauth2.ts b/packages/core/src/code_assist/oauth2.ts index 51227086..5958625a 100644 --- a/packages/core/src/code_assist/oauth2.ts +++ b/packages/core/src/code_assist/oauth2.ts @@ -26,7 +26,6 @@ import { clearCachedGoogleAccount, } from '../utils/user_account.js'; import { AuthType } from '../core/contentGenerator.js'; -import { shouldAttemptBrowserLaunch } from '../utils/browser.js'; import readline from 'node:readline'; // OAuth Client ID used to initiate OAuth2Client class. @@ -122,7 +121,7 @@ export async function getOauthClient( } } - if (config.getNoBrowser() || !shouldAttemptBrowserLaunch()) { + if (config.isBrowserLaunchSuppressed()) { let success = false; const maxRetries = 2; for (let i = 0; !success && i < maxRetries; i++) { diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 6a3a18b6..3f406f85 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -44,6 +44,7 @@ import { DEFAULT_GEMINI_FLASH_MODEL, } from './models.js'; import { ClearcutLogger } from '../telemetry/clearcut-logger/clearcut-logger.js'; +import { shouldAttemptBrowserLaunch } from '../utils/browser.js'; export enum ApprovalMode { DEFAULT = 'default', @@ -542,6 +543,10 @@ export class Config { return this.noBrowser; } + isBrowserLaunchSuppressed(): boolean { + return this.getNoBrowser() || !shouldAttemptBrowserLaunch(); + } + getSummarizeToolOutputConfig(): | Record | undefined { -- cgit v1.2.3