feat(browser): add warning message for session mode 'existing' (#23288)

This commit is contained in:
cynthialong0-0
2026-03-20 20:59:16 -07:00
committed by GitHub
parent d1dc4902fd
commit b316fcc44d
4 changed files with 47 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ import { BrowserManager } from './browserManager.js';
import { makeFakeConfig } from '../../test-utils/config.js';
import type { Config } from '../../config/config.js';
import { injectAutomationOverlay } from './automationOverlay.js';
import { coreEvents } from '../../utils/events.js';
// Mock the MCP SDK
vi.mock('@modelcontextprotocol/sdk/client/index.js', () => ({
@@ -77,6 +78,7 @@ describe('BrowserManager', () => {
beforeEach(() => {
vi.resetAllMocks();
vi.mocked(injectAutomationOverlay).mockClear();
vi.spyOn(coreEvents, 'emitFeedback').mockImplementation(() => {});
// Re-establish consent mock after resetAllMocks
vi.mocked(getBrowserConsentIfNeeded).mockResolvedValue(true);
@@ -427,6 +429,11 @@ describe('BrowserManager', () => {
?.args as string[];
expect(args).toContain('--autoConnect');
expect(args).not.toContain('--isolated');
expect(coreEvents.emitFeedback).toHaveBeenCalledWith(
'info',
expect.stringContaining('saved logins will be visible'),
);
});
it('should throw actionable error when existing mode connection fails', async () => {

View File

@@ -21,6 +21,7 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
import type { Tool as McpTool } from '@modelcontextprotocol/sdk/types.js';
import { debugLogger } from '../../utils/debugLogger.js';
import { coreEvents } from '../../utils/events.js';
import type { Config } from '../../config/config.js';
import { Storage } from '../../config/storage.js';
import { getBrowserConsentIfNeeded } from '../../utils/browserConsent.js';
@@ -346,6 +347,10 @@ export class BrowserManager {
mcpArgs.push('--isolated');
} else if (sessionMode === 'existing') {
mcpArgs.push('--autoConnect');
const message =
'🔒 Browsing with your signed-in Chrome profile — cookies and saved logins will be visible to the agent.';
coreEvents.emitFeedback('info', message);
coreEvents.emitConsoleLog('info', message);
}
// Add optional settings from config