Skip to content

fix(mcp): close browser when host dies without a signal#41089

Open
yury-s wants to merge 1 commit into
microsoft:mainfrom
yury-s:fix-41013
Open

fix(mcp): close browser when host dies without a signal#41089
yury-s wants to merge 1 commit into
microsoft:mainfrom
yury-s:fix-41013

Conversation

@yury-s
Copy link
Copy Markdown
Member

@yury-s yury-s commented Jun 2, 2026

Summary

  • The MCP exit watchdog only reacted to stdin close, SIGINT and SIGTERM. When the host dies without delivering a signal (SIGKILL, OOM kill, IDE hard-reload), the server is re-parented and none of those fire, leaking the browser process tree.
  • Poll the parent pid in the watchdog and gracefully shut down once orphaned (non-Windows; there is no re-parenting on Windows).
  • Added a regression test and consolidated the duplicated isAlive test helper into tests/config/utils.ts.

Fixes #41013

The MCP exit watchdog only reacted to stdin 'close', SIGINT and SIGTERM.
When the host process dies without delivering a signal (SIGKILL, OOM kill,
IDE hard-reload), the server is re-parented and none of those fire, leaking
the browser process tree. Poll the parent pid and shut down once orphaned.

Fixes: microsoft#41013
@yury-s yury-s requested a review from Skn0tt June 2, 2026 00:57
@pavelfeldman
Copy link
Copy Markdown
Member

  1. Process exit closes all its fds (including any pipe write ends it holds):

"All of the file descriptors, directory streams, conversion descriptors, and message catalog descriptors open in the calling process shall be closed."
POSIX _exit() specification

This applies to any termination, including SIGKILL — the kernel performs the same fd cleanup; user code doesn't get a say.

  1. When the last write-end fd to a pipe closes, readers get EOF:

"If all file descriptors referring to the write end of a pipe have been closed, then an attempt to read(2) from the pipe will see end-of-file (read(2) will return 0)."
Linux pipe(7) man page

So: host dies → kernel closes host's fds → if host was the sole holder of the pipe's write end, refcount hits zero → child's next read() on stdin returns 0. Guaranteed by the kernel, not by the host's cooperation.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

Test results for "MCP"

431 failed
❌ [chrome] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-cdp.spec.ts:113 › tracing-start-stop over cdp @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-config.spec.ts:32 › context options @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-config.spec.ts:52 › config-print prints merged config from file, env and cli @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-config.spec.ts:80 › context options with UTF-8 BOM @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-cookies.spec.ts:32 › cookie-set and cookie-get @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-cookies.spec.ts:46 › cookie-list shows cookies @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-cookies.spec.ts:61 › cookie-delete removes cookie @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-cookies.spec.ts:76 › cookie-clear removes all cookies @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:43 › click button @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:57 › click link @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:70 › dblclick @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:97 › fill @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:106 › fill numeric @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:131 › check @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:140 › uncheck @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:161 › eval @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:246 › click button with role locator @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:260 › click button with test id locator @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:313 › snapshot depth @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:330 › snapshot --boxes @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:364 › --raw on command without output @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:21 › console @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:29 › console error @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:48 › requests @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:231 › video-chapter @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:239 › video-show-actions and video-hide-actions @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:109 › eval returns result string @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:123 › tab-new creates a new tab and returns tab list @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:133 › tab-list lists all tabs @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:144 › tab-close closes a tab and returns remaining tabs @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:154 › snapshot returns inline snapshot yaml @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-killall.spec.ts:20 › kill-all kills only filtered pid @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-mouse.spec.ts:27 › mousedown mouseup @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-mouse.spec.ts:38 › mousewheel @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-navigation.spec.ts:28 › go-forward @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-navigation.spec.ts:43 › tab-new with url @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-navigation.spec.ts:50 › run-code @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-network-offline.spec.ts:19 › network-state-set toggles offline state @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-persistent.spec.ts:20 › should use userDataDir from config without --persistent flag @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-route.spec.ts:68 › unroute removes specific route @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-route.spec.ts:85 › unroute removes all routes @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-save-as.spec.ts:34 › screenshot --full-page @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-save-as.spec.ts:41 › screenshot --filename @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:56 › close-all @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:113 › session reopen with different config @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-storage.spec.ts:48 › state-save saves to custom filename @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:29 › localstorage-set and localstorage-get @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:56 › localstorage-delete removes item @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:71 › localstorage-clear removes all items @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:87 › sessionstorage-list shows no items when empty @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:110 › sessionstorage-list shows items @mcp-macos-latest-chrome
❌ [chrome] › mcp/cli-webstorage.spec.ts:123 › sessionstorage-delete removes item @mcp-macos-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:37 › should show browser session chip @mcp-macos-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-macos-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-macos-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-macos-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-cdp.spec.ts:113 › tracing-start-stop over cdp @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:97 › fill @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:29 › console error @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:48 › requests @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-keyboard.spec.ts:19 › press @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:56 › close-all @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-ubuntu-latest-chrome
❌ [chrome] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-ubuntu-latest-chrome
❌ [chromium] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-cdp.spec.ts:113 › tracing-start-stop over cdp @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:43 › click button @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:57 › click link @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:70 › dblclick @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:88 › type @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:97 › fill @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:106 › fill numeric @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:232 › click button with CSS selector @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:246 › click button with role locator @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:260 › click button with test id locator @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:364 › --raw on command without output @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:21 › console @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:29 › console error @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:48 › requests @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-keyboard.spec.ts:19 › press @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:56 › close-all @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-storage.spec.ts:21 › state-save saves storage state to file @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-macos-latest-chromium
❌ [chromium] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-macos-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-macos-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:107 › should activate session when show is called with -s @mcp-macos-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-macos-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-macos-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-cdp.spec.ts:113 › tracing-start-stop over cdp @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:29 › console error @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:48 › requests @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-keyboard.spec.ts:19 › press @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:56 › close-all @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-ubuntu-latest-chromium
❌ [chromium] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-ubuntu-latest-chromium
❌ [firefox] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:43 › click button @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:57 › click link @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:70 › dblclick @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:88 › type @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:97 › fill @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:106 › fill numeric @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:232 › click button with CSS selector @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:364 › --raw on command without output @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:29 › console error @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:48 › requests @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-keyboard.spec.ts:19 › press @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:56 › close-all @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:21 › state-save saves storage state to file @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-ubuntu-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-macos-latest-firefox
❌ [firefox] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-config.spec.ts:123 › project config overrides global config @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-cookies.spec.ts:32 › cookie-set and cookie-get @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-cookies.spec.ts:46 › cookie-list shows cookies @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-cookies.spec.ts:61 › cookie-delete removes cookie @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:43 › click button @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:57 › click link @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:70 › dblclick @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:88 › type @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:106 › fill numeric @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:115 › hover @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:123 › select @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:131 › check @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:140 › uncheck @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:161 › eval @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:205 › snapshot @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:246 › click button with role locator @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:260 › click button with test id locator @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:284 › partial snapshot @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:300 › partial snapshot by ref @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-core.spec.ts:313 › snapshot depth @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:21 › console @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:29 › console error @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:48 › requests @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-devtools.spec.ts:231 › video-chapter @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-isolated.spec.ts:21 › should not save user data by default (in-memory mode) @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:103 › goto returns snapshot file envelope @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:109 › eval returns result string @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:133 › tab-list lists all tabs @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:144 › tab-close closes a tab and returns remaining tabs @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-keyboard.spec.ts:19 › press @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-mouse.spec.ts:27 › mousedown mouseup @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-navigation.spec.ts:28 › go-forward @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-navigation.spec.ts:43 › tab-new with url @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-parsing.spec.ts:60 › wrong argument type @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-route.spec.ts:25 › route adds a mock and route-list shows it @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-route.spec.ts:38 › route with content-type @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-route.spec.ts:48 › route with header @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-route.spec.ts:68 › unroute removes specific route @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-route.spec.ts:85 › unroute removes all routes @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-save-as.spec.ts:26 › screenshot @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:34 › close @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:44 › close named session @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:56 › close-all @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:99 › session stops when browser exits @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-session.spec.ts:259 › older client with newer daemon - list shows incompatible warning @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:21 › state-save saves storage state to file @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:48 › state-save saves to custom filename @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-webstorage.spec.ts:43 › localstorage-list shows items @mcp-macos-latest-firefox
❌ [firefox] › mcp/cli-webstorage.spec.ts:96 › sessionstorage-set and sessionstorage-get @mcp-macos-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:37 › should show browser session chip @mcp-macos-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-macos-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-macos-latest-firefox
❌ [firefox] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-macos-latest-firefox
❌ [webkit] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-config.spec.ts:32 › context options @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-config.spec.ts:80 › context options with UTF-8 BOM @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-config.spec.ts:106 › global config @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-config.spec.ts:123 › project config overrides global config @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:43 › click button @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:57 › click link @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:70 › dblclick @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:97 › fill @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:115 › hover @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:131 › check @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:149 › eval @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:155 › eval no arrow @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:161 › eval @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:198 › resize @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:232 › click button with CSS selector @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:246 › click button with role locator @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:260 › click button with test id locator @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:364 › --raw on command without output @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:21 › console @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:29 › console error @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:48 › requests @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:217 › video-start-stop @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:231 › video-chapter @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-drag.spec.ts:19 › drag between elements @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-json.spec.ts:109 › eval returns result string @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-keyboard.spec.ts:19 › press @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-navigation.spec.ts:43 › tab-new with url @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-navigation.spec.ts:50 › run-code @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-run-code.spec.ts:21 › run-code inline @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-run-code.spec.ts:30 › run-code from file @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-run-code.spec.ts:43 › run-code from file with template literals @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:56 › close-all @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:113 › session reopen with different config @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-storage.spec.ts:21 › state-save saves storage state to file @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-macos-latest-webkit
❌ [webkit] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-macos-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-macos-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-macos-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-macos-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:57 › should capture multiple screenshots in one annotation @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:110 › should abort annotation when last screenshot is removed @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:173 › user-initiated annotate downloads zip with feedback.md @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:230 › should capture annotations via show --annotate @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:251 › should start dashboard and annotate when no dashboard is running @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:273 › should enter annotate mode on fresh dashboard.tsx mount with -s --annotate @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:428 › should switch screencast to -s session on show --annotate @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/annotate.spec.ts:478 › should disengage annotate mode when --annotate client disconnects @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:77 › click with --modifiers @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:168 › dialog-accept @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:179 › dialog-dismiss @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:189 › dialog-accept @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-core.spec.ts:218 › click in iframe @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:29 › console error @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:48 › requests @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:84 › request shows full request and response details @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:115 › per-part commands extract individual parts @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:138 › request* and response* commands support --filename @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:173 › response-body returns just the body @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-devtools.spec.ts:199 › tracing-start-stop @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-drag.spec.ts:53 › drop files and data onto an element @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-json.spec.ts:183 › requests returns numbered list as JSON result @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-json.spec.ts:192 › request and per-part commands return JSON result @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-keyboard.spec.ts:19 › press @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-keyboard.spec.ts:28 › keydown keyup @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-parsing.spec.ts:69 › should preserve leading zeros in string arguments @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:56 › close-all @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:130 › workspace isolation - sessions in different workspaces are isolated @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-session.spec.ts:162 › list --all lists sessions from all workspaces @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-storage.spec.ts:61 › state-load restores storage state from file @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/cli-storage.spec.ts:100 › state-save and state-load roundtrip @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:70 › should show current workspace sessions first @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:129 › should allow typing in omnibox in interactive mode @mcp-ubuntu-latest-webkit
❌ [webkit] › mcp/dashboard.spec.ts:151 › save recording streams WebM bytes to the chosen file @mcp-ubuntu-latest-webkit

6807 passed, 1108 skipped


Merge workflow run.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 2, 2026

Test results for "tests 1"

3 flaky ⚠️ [chromium-library] › library/video.spec.ts:719 › screencast › should work with video+trace `@chromium-ubuntu-22.04-node24`
⚠️ [firefox-library] › library/har-websocket.spec.ts:170 › should record websocket connection failure `@firefox-ubuntu-22.04-node20`
⚠️ [firefox-page] › page/page-emulate-media.spec.ts:144 › should keep reduced motion and color emulation after reload `@firefox-ubuntu-22.04-node20`

39480 passed, 775 skipped


Merge workflow run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: @playwright/mcp orphans Chrome process trees when the MCP host dies without SIGINT/SIGTERM

2 participants