7588e2a54c
Target.targetInfoChanged handler was updating parent page's cached targetInfo with child target info (service workers, iframes) because it looked up targets by sessionId instead of targetId. Now correctly iterates connectedTargets to find matching targetId.
5.9 KiB
5.9 KiB
Changelog
0.0.11
Patch Changes
- Fixed
page.url()returning empty after extension runs for a while: TheTarget.targetInfoChangedhandler was incorrectly updating the parent page's cachedtargetInfowith child target info (service workers, iframes). Now correctly looks up targets bytargetIdinstead ofsessionId.
0.0.10
Patch Changes
- Browser console log capture: Added
getLatestLogsfunction to capture and retrieve browser console logs- Automatically captures up to 5000 logs per page
- Logs cleared on page reload/navigation
- Logs deleted when page is closed
- Supports filtering by page, search string/regex, and count limit
- Fixed test contamination: Added
clearAllLogsfunction to prevent log persistence across tests - Improved console listener setup: Made listeners synchronous using page
_guidfor immediate log capture - Critical reconnection test: Added test verifying extension reconnection after
disconnectEverything()- Tests full disconnect/reconnect cycle
- Verifies MCP client can reconnect with
resetPlaywright() - Ensures pages are visible after reconnection
- Persistent console listeners: Console logs now persist across browser reconnections (not cleared in
resetConnection)
0.0.9
Patch Changes
- Added
tabspermission to extension manifest to fixchrome.tabsaccess issues - Implemented
toggleExtensionForActiveTabglobal helper in extension background script - Automated extension loading and toggling in MCP tests using
chromium.launchPersistentContext - Added comprehensive tests for extension lifecycle:
- Toggling extension on new and existing pages
- Verifying direct CDP connection to relay
- Handling Playwright connection before extension attachment
- Fixed
getCdpUrlutility usage in tests - Updated tests to use unique URLs for better debugging
0.0.8
Patch Changes
- Added
getLocatorStringForElementutility toexecutetool context - Helper generates Playwright locator strings for element handles
- Fixed bug where timeout was not correctly passed to
waitForEventingetCurrentPage
0.0.7
Patch Changes
- Increased default timeout for execute tool from 3000ms to 5000ms
0.0.6
Patch Changes
- Added
resetPlaywrightfunctionality to reset Playwright connection - Added
getCdpUrlutility function for CDP endpoint access - Support for multiple tabs in CDP relay
- Support for multiple Playwright clients
- Enhanced prompt documentation with better examples
- Improved CDP relay error handling and logging
- Added
utils.tswith helper functions
0.0.5
Patch Changes
- Added
activateTab(page)utility function to bring browser tabs to front and focus them - Added
Playwriter.activateTabCDP command support in relay server - Added
activateTabmessage type to extension protocol - Extension now handles tab activation via
chrome.tabs.updateandchrome.windows.update
0.0.4
Patch Changes
- Added
contextfield toStatetype - Renamed
ToolStateinterface toState - Limit execute tool output to 1000 characters with truncation message
0.0.3
Patch Changes
- Replace CommonJS
requirewith ESMimportfor user-agents module
2025-07-24 22:15
- Changed Chrome process stdio from 'ignore' to 'inherit' to print Chrome logs
- Helps with debugging CDP connection issues
2025-07-24 22:00
- Simplified email validation by checking profiles directly in MCP connect tool
- Connect tool validates email against available profiles before starting Chrome
- Returns helpful message with available profiles when email doesn't match
- startPlaywriter now simply throws an error for invalid emails
2025-07-24 21:45
- Added test infrastructure with vitest for MCP server testing
- Created mcp-client.ts with MCP client setup using vite-node
- Added comprehensive tests for Chrome CDP connection and console log capture
- Fixed callTool signatures to match MCP SDK API
- Added proper TypeScript types for CallToolResult
2025-07-24 21:30
- Moved profile listing functionality into connect tool when emailProfile is not provided
- Updated parameter description with agent-appropriate phrasing ("ask your user/owner")
- Removed separate get_profiles tool for cleaner API
- Connect tool now handles both profile listing and connection in one place
2025-07-24 21:15
- Modified startPlaywriter to accept optional emailProfile parameter
- Removed prompts dependency and interactive profile selection
- Connect tool now accepts emailProfile parameter or returns available profiles
- Added security guidance for profile selection in MCP response
- Suggests storing selected email in AGENTS.md or CLAUDE.md to avoid repeated selection
2025-07-24 21:00
- Integrated Chrome launch via startPlaywriter from playwriter.ts
- Connect tool now starts Chrome with CDP port and connects via playwright.chromium.connectOverCDP
- Added proper cleanup handlers for browser and Chrome process on server shutdown
- Removed placeholder getActivePage function in favor of direct browser connection
2025-07-24 20:50
- Moved console object definition outside of the Function constructor template string
- Improved code readability and maintainability
2025-07-24 20:45
- Refactored console capture to use a custom console object instead of overriding global console
- Cleaner implementation that avoids modifying global state
2025-07-24 20:40
- Enhanced execute tool to capture console.log, console.info, console.warn, console.error, and console.debug output
- Console methods are temporarily overridden during code execution to collect logs
- Output now includes both console logs and return values in a formatted response
2025-07-24 20:35
- Added execute tool to run arbitrary JavaScript code with page and context in scope
- The tool uses the Playwright automation guide from prompt.md as its description
2025-07-24 20:30
- Fixed MCP server tool registration API usage to match the correct method signature (name, description, schema, handler)