base-install.log Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 26m ago) Lockfile is up to date, resolution step is skipped Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: Virtual store is at: node_modules/.pnpm Progress: resolved 541, reused 541, downloaded 0, added 526 Progress: resolved 972, reused 972, downloaded 0, added 958 Progress: resolved 1298, reused 1298, downloaded 0, added 1282 Progress: resolved 1511, reused 1511, downloaded 0, added 1496 Progress: resolved 1666, reused 1665, downloaded 0, added 1661 Progress: resolved 1672, reused 1672, downloaded 0, added 1671 Packages: +1678 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1678, reused 1674, downloaded 0, added 1678, done Agent skills awaiting approval: e2e. Run "pnpm approve" to review them. . prepare$ vp config --no-agent . prepare: Done devDependencies: + @coderabbitai/config 1.2.0 + @effect/tsgo 0.67.1 + @shadcn/lint 0.1.5 + @types/node 24.12.4 + knip 6.34.0 + vite-plus 1.4.0 Done in 9.6s using pnpm v12.14.0 base-manual-1.log RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:32851/.well-known/t3/environment ready 6.09s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 38.24s → expect.toBeVisible failed ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 38.24s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ASSERTION_FAILED: expect.toBeVisible failed locator: getByText("Before opening: available=true, visible=false, tabId=null") expected: visible observed: no node (match count 0) ❯ scenarios/browser-no-tab.e2e.ts:64:5 62| await screen.getByText("Browser lifecycle complete", { exact: fal… 63| await app.screenshot("browser-lifecycle"); 64| await expect(screen.getByText("Before opening: available=true, vi… | ^ 65| await expect(screen.getByText("After closing last tab: available=… 66| } finally { ❯ at http://127.0.0.1:32851/dfa0ac73-e6be-4846-9c69-7fdf2a0ceeaf/mcp%3A33d89102-ac2b-4545-af5f-2bf04fec2fe6 ❯ app 1 error, 1 warning logged × console error: WebSocket connection to 'ws://127.0.0.1:32851/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=ab5f6b5c3562acf695905f88d79ff1bb7646159a72636000bcf145a9641e4e64&orchestrationProtoc… ❯ trace .e2e/manual-base-1/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/manual-base-1/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:50:47 Duration 45.36s (startup 6.09s) Traces .e2e/manual-base-1/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/manual-base-1/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/001-browser-lifecycle.png Markdown .e2e/manual-base-1/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:64 > Browser automation remains available before opening and after closing the last tab ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/manual-base-1/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md head-final.log RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:33511/.well-known/t3/environment ready 10.40s ✓ |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 29.34s ✓ |web| scenarios/browser-no-tab.e2e.ts (1 test) 29.34s Test Files 1 passed (1) Tests 1 passed (1) Start at 03:52:38 Duration 41.34s (startup 10.40s) Traces .e2e/manual-head-final/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/manual-head-final/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/001-browser-lifecycle.png Markdown .e2e/manual-head-final/summary.md head-manual-1.log e2e collects anonymous usage telemetry to improve the framework: the command, the versions, the OS, and summaries of runs and MCP sessions. Never test names, app data, or credentials. Opt out with e2e telemetry disable or E2E_TELEMETRY_DISABLED=1. What is sent: https://e2e.com/docs/telemetry ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Run Errors 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ERROR configuration error INVALID_CONFIG (config) --output "" is outside the project root name a directory inside it Test Files no test files Tests no tests executed Errors 1 error Start at 03:48:40 Duration 4ms Report (not written) head-manual-2.log ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Run Errors 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ERROR configuration error INVALID_CONFIG (config) --output "" is outside the project root name a directory inside it Test Files no test files Tests no tests executed Errors 1 error Start at 03:49:35 Duration 32ms Report (not written) head-manual-3.log RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:41215/.well-known/t3/environment ready 8.04s ✓ |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 27.27s ✓ |web| scenarios/browser-no-tab.e2e.ts (1 test) 27.27s Test Files 1 passed (1) Tests 1 passed (1) Start at 03:49:43 Duration 36.03s (startup 8.04s) Traces .e2e/manual-head-3/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/manual-head-3/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/001-browser-lifecycle.png Markdown .e2e/manual-head-3/summary.md prove-1.log $ node scripts/prove-scenario.ts scripts/scenarios/browser-no-tab.e2e.ts --base b3fdf2b10fb92e5dbc71a83381c602a8a464bbca --head 9fe4be0d6e130e8869146e0ca86e4e938f782984 --upload-command 'ghdrop upload' ⊘ cache disabled RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:41503/.well-known/t3/environment ready 21.20s ✓ target "ios" command at http://127.0.0.1:8190/status ready 11.69s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 15.68s → apps/… ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 15.68s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied ❯ scenarios/shell.ts:54:21 52| ); 53| if (!(options.allowExit ?? [0]).includes(exitCode)) { 54| return yield* new ScenarioError({ | ^ 55| message: `${program} ${args.slice(0, 3).join(" ")} exited wit… 56| }); ❯ at about:blank ❯ trace .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:41:44 Duration 51.37s (startup 32.89s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:6 > Browser automation remains available before opening and after closing the last tab ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied trace .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 21m ago) Lockfile is up to date, resolution step is skipped Progress: resolved 1, reused 0, downloaded 0, added 0 Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: Virtual store is at: node_modules/.pnpm Progress: resolved 172, reused 172, downloaded 0, added 157 Progress: resolved 233, reused 233, downloaded 0, added 218 Progress: resolved 341, reused 341, downloaded 0, added 326 Progress: resolved 477, reused 477, downloaded 0, added 462 Progress: resolved 596, reused 596, downloaded 0, added 581 Progress: resolved 687, reused 687, downloaded 0, added 672 Progress: resolved 764, reused 764, downloaded 0, added 749 Progress: resolved 851, reused 851, downloaded 0, added 836 Progress: resolved 931, reused 931, downloaded 0, added 917 Progress: resolved 1002, reused 1002, downloaded 0, added 987 Progress: resolved 1046, reused 1046, downloaded 0, added 1032 Progress: resolved 1081, reused 1081, downloaded 0, added 1067 Progress: resolved 1218, reused 1218, downloaded 0, added 1202 Progress: resolved 1262, reused 1262, downloaded 0, added 1246 Progress: resolved 1371, reused 1371, downloaded 0, added 1355 Progress: resolved 1622, reused 1622, downloaded 0, added 1608 Progress: resolved 1672, reused 1672, downloaded 0, added 1664 Progress: resolved 1673, reused 1673, downloaded 0, added 1668 Packages: +1678 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1678, reused 1674, downloaded 0, added 1678, done .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js .../node_modules/node-pty install$ node scripts/prebuild.js || node-gyp rebuild .../node_modules/node-pty install: > Checking prebuilds... .../node_modules/node-pty install: Done .../node_modules/node-pty postinstall$ node scripts/post-install.js .../react-native-enriched-markdown postinstall$ node postinstall.mjs .../esbuild@0.28.2/node_modules/esbuild postinstall: Done .../node_modules/node-pty postinstall: > Cleaning release folder... .../node_modules/node-pty postinstall: > Moving conpty.dll... .../node_modules/node-pty postinstall: SKIPPED (not Windows) .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] restoring vendored native assets ... .../node_modules/node-pty postinstall: Done .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching runtime v0.26.3 from https://github.com/tree-sitter/tree-sitter/archive/refs/tags/v0.26.3.tar.gz .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] runtime -> react-native-enriched-markdown/cpp/highlight/vendor/tree-sitter/src .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-json@0.24.8 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-html@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-css@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-markdown@0.3.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading @tree-sitter-grammars/tree-sitter-yaml@0.7.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-go@0.23.4 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-java@0.23.5 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-javascript@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-python@0.23.6 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c@0.23.5 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-rust@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-bash@0.23.3 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-typescript@0.23.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-cpp@0.23.4 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-swift@0.7.0 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-php@0.24.2 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-ruby@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] downloading tree-sitter-c-sharp@0.23.1 ... .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] json -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/json .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] html -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/html .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] css -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/css .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] markdown -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/markdown .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] yaml -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/yaml .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] go -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/go .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] java -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/java .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] javascript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/javascript .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] python -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/python .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] rust -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/rust .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] bash -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/bash .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] typescript -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/typescript .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] tsx -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/tsx .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] cpp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/cpp .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] swift -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/swift .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] php -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/php .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] ruby -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/ruby .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] c-sharp -> react-native-enriched-markdown/cpp/highlight/vendor/grammars/c-sharp .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] grammar sources ready. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] done. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching xcframework from https://github.com/erweixin/RaTeX/releases/download/v0.1.15/RaTeX.xcframework.zip .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] fetching source from https://github.com/erweixin/RaTeX/archive/refs/tags/v0.1.15.tar.gz .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] RaTeX v0.1.15 -> .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] done. .../react-native-enriched-markdown postinstall: [react-native-enriched-markdown] postinstall complete. .../react-native-enriched-markdown postinstall: Done Agent skills awaiting approval: e2e. Run "pnpm approve" to review them. . prepare$ vp config --no-agent . prepare: Done devDependencies: + @coderabbitai/config 1.2.0 + @effect/tsgo 0.67.1 + @shadcn/lint 0.1.5 + @types/node 24.12.4 + knip 6.34.0 + vite-plus 1.4.0 Done in 35s using pnpm v12.14.0 RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:36045/.well-known/t3/environment ready 15.12s ✓ target "ios" command at http://127.0.0.1:8190/status ready 19.56s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 8.99s → apps/… ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 8.99s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:8da4b8d5-3a2e-41df-bd52-3ba913ed24c7 stopped with status failed: {"code":-32022,"message":"Unsupported protocol version '2025-03-26'","data":{"supported":["2025-06-18"],"requested":"2025-03-26"}} ❯ scenarios/shell.ts:54:21 52| ); 53| if (!(options.allowExit ?? [0]).includes(exitCode)) { 54| return yield* new ScenarioError({ | ^ 55| message: `${program} ${args.slice(0, 3).join(" ")} exited wit… 56| }); ❯ at about:blank ❯ trace .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:43:20 Duration 45.38s (startup 34.68s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:6 > Browser automation remains available before opening and after closing the last tab ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:8da4b8d5-3a2e-41df-bd52-3ba913ed24c7 stopped with status failed: {"code":-32022,"message":"Unsupported protocol version '2025-03-26'","data":{"supported":["2025-06-18"],"requested":"2025-03-26"}} trace .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md { "scenario": "Browser automation remains available before opening and after closing the last tab", "failsOnBase": false, "passesOnHead": false, "baseSha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "headSha": "9fe4be0d6e130e8869146e0ca86e4e938f782984", "verdict": "Not proven: the scenario could not run on base `b3fdf2b10f` (ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied).", "steps": { "base": [], "head": [] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Browser automation remains available before opening and after closing the last tab\n\n**Not proven: the scenario could not run on base `b3fdf2b10f` (ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied).**\n\n| | Base `b3fdf2b10f` | Head `9fe4be0d6e` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied | ⚠️ could not run
ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:8da4b8d5-3a2e-41df-bd52-3ba913ed24c7 stopped with status failed: {\"code\":-32022,\"message\":\"Unsupported protocol version '2025-03-26'\",\"data\":{\"supported\":[\"2025-06-18\"],\"requested\":\"2025-03-26\"}} |\n| failure | ![Base b3fdf2b10f: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ce77699b12b2aebc/001-failure.png) | ![Head 9fe4be0d6e: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/a29523069de6de9e/001-failure.png) |\n", "base": { "sha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "status": "error", "title": "Browser automation remains available before opening and after closing the last tab", "message": "ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:02d1bcc7-7bad-4bbd-9f73-353c62262a4c stopped with status failed: No HTTP MCP server supplied", "steps": [], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "9fe4be0d6e130e8869146e0ca86e4e938f782984", "status": "error", "title": "Browser automation remains available before opening and after closing the last tab", "message": "ERROR: apps/server/src/bin.ts thread start exited with 1: Thread mcp:8da4b8d5-3a2e-41df-bd52-3ba913ed24c7 stopped with status failed: {\"code\":-32022,\"message\":\"Unsupported protocol version '2025-03-26'\",\"data\":{\"supported\":[\"2025-06-18\"],\"requested\":\"2025-03-26\"}}", "steps": [], "captures": [ "" ], "videos": [ "" ] } } prove-2.log $ node scripts/prove-scenario.ts scripts/scenarios/browser-no-tab.e2e.ts --base b3fdf2b10fb92e5dbc71a83381c602a8a464bbca --head 9fe4be0d6e130e8869146e0ca86e4e938f782984 --upload-command 'ghdrop upload' ⊘ cache disabled RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:40039/.well-known/t3/environment ready 7.91s ✓ target "ios" command at http://127.0.0.1:8190/status ready 6.43s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 41.63s → tap did not become actionable in time: locator.click: Timeout 19168ms ex… ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 41.63s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText("Browser availability proof").first() ❯ at http://127.0.0.1:40039/draft/86e28c20-c997-4c7b-a125-7b69c310c13f ❯ trace .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:44:22 Duration 56.96s (startup 14.34s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:6 > Browser automation remains available before opening and after closing the last tab ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText("Browser availability proof").first() trace .e2e/prove/base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 24m ago) Lockfile is up to date, resolution step is skipped Packages are hard linked from the content-addressable store to the virtual store. Content-addressable store is at: Virtual store is at: node_modules/.pnpm Progress: resolved 560, reused 560, downloaded 0, added 545 Progress: resolved 885, reused 885, downloaded 0, added 871 Progress: resolved 1065, reused 1065, downloaded 0, added 1052 Progress: resolved 1405, reused 1405, downloaded 0, added 1390 Progress: resolved 1660, reused 1659, downloaded 0, added 1652 Packages: +1678 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1678, reused 1674, downloaded 0, added 1678, done Agent skills awaiting approval: e2e. Run "pnpm approve" to review them. . prepare$ vp config --no-agent . prepare: Done devDependencies: + @coderabbitai/config 1.2.0 + @effect/tsgo 0.67.1 + @shadcn/lint 0.1.5 + @types/node 24.12.4 + knip 6.34.0 + vite-plus 1.4.0 Done in 8s using pnpm v12.14.0 RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:33231/.well-known/t3/environment ready 13.52s ✓ target "ios" command at http://127.0.0.1:8190/status ready 13.81s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 41.79s → tap did not become actionable in time: locator.click: Timeout 15809ms ex… ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 41.79s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 15809ms exceeded.
  • …
  • intercepts pointer events: getByText("Browser availability proof").first() ❯ at http://127.0.0.1:33231/draft/64810df9-133f-4d90-a6b3-5f136d1e2acb ❯ trace .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:45:32 Duration 71.03s (1m 11s, startup 27.33s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:6 > Browser automation remains available before opening and after closing the last tab ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 15809ms exceeded.
  • …
  • intercepts pointer events: getByText("Browser availability proof").first() trace .e2e/prove/head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md { "scenario": "Browser automation remains available before opening and after closing the last tab", "failsOnBase": false, "passesOnHead": false, "baseSha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "headSha": "9fe4be0d6e130e8869146e0ca86e4e938f782984", "verdict": "Not proven: the scenario could not run on base `b3fdf2b10f` (ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first()).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Browser availability proof\").first()", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Browser availability proof\").first()", "status": "failed" } ] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Browser automation remains available before opening and after closing the last tab\n\n**Not proven: the scenario could not run on base `b3fdf2b10f` (ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first()).**\n\n| | Base `b3fdf2b10f` | Head `9fe4be0d6e` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
    ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first() | ⚠️ could not run
    ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 15809ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first() |\n| failure | ![Base b3fdf2b10f: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df30943f4a6af012/001-failure.png) | ![Head 9fe4be0d6e: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ab6794604ffd4862/001-failure.png) |\n", "base": { "sha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "status": "error", "title": "Browser automation remains available before opening and after closing the last tab", "message": "ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 19168ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Browser availability proof\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "9fe4be0d6e130e8869146e0ca86e4e938f782984", "status": "error", "title": "Browser automation remains available before opening and after closing the last tab", "message": "ACTION_FAILED: tap did not become actionable in time: locator.click: Timeout 15809ms exceeded.
  • …
  • intercepts pointer events: getByText(\"Browser availability proof\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"Browser availability proof\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] } } settled-base.log RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:44989/.well-known/t3/environment ready 5.34s × |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 50.42s → expect.toBeVisible failed ❯ |web| scenarios/browser-no-tab.e2e.ts (1 test | 1 failed) 50.42s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab ASSERTION_FAILED: expect.toBeVisible failed locator: getByText("Before opening: available=true, visible=false, tabId=null") expected: visible observed: no node (match count 0) ❯ scenarios/browser-no-tab.e2e.ts:73:5 71| } 72| if (!stable) throw new Error("Capture did not settle"); 73| await expect(screen.getByText("Before opening: available=true, vi… | ^ 74| await expect(screen.getByText("After closing last tab: available=… 75| } finally { ❯ at http://127.0.0.1:44989/a571b683-a6e0-446d-8268-c4465f19d181/mcp%3A7fac87a2-b28a-4a45-bd72-c1f37b6fedf6 ❯ app 1 warning logged ❯ trace .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md ❯ video .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:54:48 Duration 57.17s (startup 5.34s) Traces .e2e/settled-base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/001-settling.png .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/002-browser-lifecycle.png .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/003-browser-lifecycle.png Markdown .e2e/settled-base/summary.md Failed × |web| scenarios/browser-no-tab.e2e.ts:73 > Browser automation remains available before opening and after closing the last tab ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/settled-base/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/trace.md settled-head.log RUN e2e v0.23.0 run · targets: web, ios ✓ target "web" command at http://127.0.0.1:41791/.well-known/t3/environment ready 5.43s ✓ |web| scenarios/browser-no-tab.e2e.ts > Browser automation remains available before opening and after closing the last tab 31.12s ✓ |web| scenarios/browser-no-tab.e2e.ts (1 test) 31.12s Test Files 1 passed (1) Tests 1 passed (1) Start at 03:53:49 Duration 38.12s (startup 5.43s) Traces .e2e/settled-head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/settled-head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/001-settling.png .e2e/settled-head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/002-browser-lifecycle.png .e2e/settled-head/results/browser-no-tab-browser-automation-remains-248735b7f3fcfcbd/attempt-1/screenshots/003-browser-lifecycle.png Markdown .e2e/settled-head/summary.md