Files
playwriter/extension/manifest.json
Tommy D. Rossi 905df6eec5 fix: route Target.detachFromTarget on root CDP session (#40)
When Playwright sends Target.detachFromTarget via the root browser session
(no top-level sessionId), the extension couldn't find the target tab because
it only checked msg.params.sessionId for routing. This caused 'No tab found'
errors that cascaded into disconnects and instability.

- Add getTabForCommand() helper with params.sessionId fallback so any command
  referencing a session in its params can be routed when the top-level
  sessionId is absent
- No-op Target.detachFromTarget for stale/unknown sessions instead of throwing
- Always re-apply tab group color on every sync to prevent Chrome resetting
  it to white
- Replace silent .catch() with error log in aria-snapshot OOPIF detach
- Add regression test using raw WebSocket to verify routing without sessionId

Extension bumped to 0.0.74.
2026-03-04 21:57:27 +01:00

38 lines
912 B
JSON

{
"manifest_version": 3,
"name": "Playwriter",
"version": "0.0.74",
"description": "Automate your Browser using Cursor, Claude, VS Code. More capable and context efficient than Playwright MCP.",
"permissions": [
"alarms",
"debugger",
"tabGroups",
"contextMenus",
"tabs",
"tabCapture",
"offscreen",
"identity",
"identity.email"
],
"host_permissions": ["<all_urls>"],
"background": {
"service_worker": "background.js",
"type": "module"
},
"action": {
"default_title": "Click to attach debugger",
"default_icon": {
"16": "icons/icon-gray-16.png",
"32": "icons/icon-gray-32.png",
"48": "icons/icon-gray-48.png",
"128": "icons/icon-gray-128.png"
}
},
"icons": {
"16": "icons/icon-gray-16.png",
"32": "icons/icon-gray-32.png",
"48": "icons/icon-gray-48.png",
"128": "icons/icon-gray-128.png"
}
}