final-base.log RUN e2e v0.23.0 run 01a1cea1-bfb0-7cdf-ad45-151fc0a39356 · targets: web, ios ✓ target "web" command at http://127.0.0.1:46647/.well-known/t3/environment ready 12.21s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 24.57s → The "path" argument must be of type string or an instance of Buffer or U… ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 24.57s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code ERROR: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined ❯ scenarios/duplicate-environment-id.e2e.ts:73:31 71| const relative = await app.screenshot(`settling-${attempt}`); 72| const matches = await Array.fromAsync(glob(`${process.env.PAI… 73| const current = await readFile(matches[0]!); | ^ 74| if (previous?.equals(current)) { stable = true; break; } 75| previous = current; ❯ at http://127.0.0.1:46647/settings/connections ❯ trace .e2e/final-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/final-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:21:10 Duration 37.80s (startup 12.21s) Traces .e2e/final-base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/final-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/001-settling-0.png Markdown .e2e/final-base/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:73 > Pairing a copied environment ID explains the conflict and preserves the code ERROR: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined trace .e2e/final-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md manual-base-2.log RUN e2e v0.23.0 run 01a1ce9f-a14d-7353-8e89-dceabb3a3706 · targets: web, ios ✓ target "web" command at http://127.0.0.1:46319/.well-known/t3/environment ready 12.52s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 44.75s → expect.toBeVisible failed ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 44.75s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code ASSERTION_FAILED: expect.toBeVisible failed locator: getByText("That machine reports the same environment ID") expected: visible observed: no node (match count 0) ❯ scenarios/duplicate-environment-id.e2e.ts:82:7 80| tokenExchangeAfterUI: response.status, 81| ui: await browser.evaluate(() => document.body.innerText), 82| }, null, 2)); | ^ 83| await expect(screen.getByText("That machine reports the same en… 84| expect(response.status).toBe(200); ❯ at http://127.0.0.1:46319/settings/connections ❯ trace .e2e/manual-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/manual-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:18:52 Duration 58.59s (startup 12.52s) Traces .e2e/manual-base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/manual-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/001-pairing-result.png Markdown .e2e/manual-base/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:82 > Pairing a copied environment ID explains the conflict and preserves the code ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/manual-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md manual-base.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 07:18:40 Duration 4ms Report (not written) manual-head.log RUN e2e v0.23.0 run 01a1cea0-aabe-73a9-9b5f-6fa16b412156 · targets: web, ios ✓ target "web" command at http://127.0.0.1:33839/.well-known/t3/environment ready 7.87s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 22.10s → locator matched 2 nodes, expected exactly one: getByText("That machine r… ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 22.10s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_AMBIGUOUS: locator matched 2 nodes, expected exactly one: getByText("That machine reports the same environment ID") ❯ scenarios/duplicate-environment-id.e2e.ts:83:7 81| ui: await browser.evaluate(() => document.body.innerText), 82| }, null, 2)); 83| await expect(screen.getByText("That machine reports the same en… | ^ 84| expect(response.status).toBe(200); 85| } finally { ❯ at http://127.0.0.1:33839/settings/connections ❯ on screen #n15006 text="That machine reports the same environment ID as Scenario, so it can't be added. This happens when one machine's T3 data was copied to another." ❯ on screen #n15010 text="That machine reports the same environment ID as Scenario, so it can't be added. This happens when one machine's T3 data was copied to another." ❯ on screen #n9006 dialog "Add Environment" ❯ on screen #n9007 heading "Add Environment" ❯ on screen #n9008 text="Pair another environment to this client." ❯ trace .e2e/manual-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/manual-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:19:59 Duration 31.20s (startup 7.87s) Traces .e2e/manual-head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/manual-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/001-pairing-result.png Markdown .e2e/manual-head/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:83 > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_AMBIGUOUS: locator matched 2 nodes, expected exactly one: getByText("That machine reports the same environment ID") trace .e2e/manual-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md prove-1.log $ node scripts/prove-scenario.ts scripts/scenarios/duplicate-environment-id.e2e.ts --base 6ba3de70aff98460e573ffc57773e45e148026ba --head 2126c8964bcdea8a6e63ddbb4b4e73928c3105ff --upload-command 'ghdrop upload' ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 13m 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 898, reused 898, downloaded 0, added 883 Progress: resolved 1420, reused 1420, downloaded 0, added 1405 Progress: resolved 1781, reused 1777, downloaded 0, added 1778 Packages: +1781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1781, reused 1777, downloaded 0, added 1781, done .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js .../esbuild@0.28.2/node_modules/esbuild postinstall: Done .../node_modules/node-pty install$ node scripts/prebuild.js || node-gyp rebuild .../react-native-enriched-markdown postinstall$ node postinstall.mjs .../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: [react-native-enriched-markdown] restoring vendored native assets ... .../node_modules/node-pty postinstall: > Cleaning release folder... .../node_modules/node-pty postinstall: > Moving conpty.dll... .../node_modules/node-pty postinstall: SKIPPED (not Windows) .../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 12.1s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1ce9a-398b-7c4d-acbc-35140cc736d8 · targets: web, ios ✓ target "web" command at http://127.0.0.1:32955/.well-known/t3/environment ready 4.83s ✓ target "ios" command at http://127.0.0.1:8190/status ready 6.70s prove-2.log $ node scripts/prove-scenario.ts scripts/scenarios/duplicate-environment-id.e2e.ts --base 6ba3de70aff98460e573ffc57773e45e148026ba --head 2126c8964bcdea8a6e63ddbb4b4e73928c3105ff --upload-command 'ghdrop upload' ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 15m 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 1116, reused 1116, downloaded 0, added 1101 Progress: resolved 1774, reused 1774, downloaded 0, added 1769 Packages: +1781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1781, reused 1777, downloaded 0, added 1781, 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 3.7s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1ce9b-5c9a-7e6d-b3ed-fdf8d23f2503 · targets: web, ios ✓ target "web" command at http://127.0.0.1:46731/.well-known/t3/environment ready 4.42s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.92s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 34.37s → locator matched no nodes within getByRole("button", name: "Add environme… ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 34.37s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("button", name: "Add environment") ❯ scenarios/duplicate-environment-id.e2e.ts:48:7 46| return true; 47| }); 48| await screen.getByRole("button", "Add environment").tap(); | ^ 49| await screen.getByRole("textbox", "Host", { exact: true }).fill… 50| await screen.getByRole("dialog").getByRole("button", "Add envir… ❯ at http://127.0.0.1:46731/pair ❯ app 5 errors logged × console error: WebSocket connection to 'ws://127.0.0.1:46731/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=dcb9b115db8231366c51aea0f15cc33e255bd0fbe304dbd62ae289d40ce8a824&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:46731/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=dcb9b115db8231366c51aea0f15cc33e255bd0fbe304dbd62ae289d40ce8a824&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:46731/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=dcb9b115db8231366c51aea0f15cc33e255bd0fbe304dbd62ae289d40ce8a824&orchestrationProtoc… 2 more app errors logged ❯ trace .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:14:11 Duration 44.47s (startup 9.34s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:48 > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("button", name: "Add environment") trace .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 16m 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 723, reused 723, downloaded 0, added 708 Progress: resolved 1435, reused 1435, downloaded 0, added 1415 Progress: resolved 1776, reused 1776, downloaded 0, added 1769 Packages: +1781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1781, reused 1777, downloaded 0, added 1781, 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 4.7s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1ce9c-3e71-7989-ace5-6d28e77c2a0f · targets: web, ios ✓ target "web" command at http://127.0.0.1:46035/.well-known/t3/environment ready 5.63s ✓ target "ios" command at http://127.0.0.1:8190/status ready 8.75s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 35.11s → locator matched no nodes within getByRole("button", name: "Add environme… ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 35.11s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("button", name: "Add environment") ❯ scenarios/duplicate-environment-id.e2e.ts:48:7 46| style.textContent = 'input[placeholder="PAIRCODE"] { -webkit-… 47| document.head.append(style); 48| return true; | ^ 49| }); 50| await screen.getByRole("button", "Add environment").tap(); ❯ at http://127.0.0.1:46035/pair ❯ app 5 errors logged × console error: WebSocket connection to 'ws://127.0.0.1:46035/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=2cbfb21bab535fdc7c17f59816d75443de1647d93c6e04aaa60eb54a3376f08e&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:46035/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=2cbfb21bab535fdc7c17f59816d75443de1647d93c6e04aaa60eb54a3376f08e&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:46035/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=2cbfb21bab535fdc7c17f59816d75443de1647d93c6e04aaa60eb54a3376f08e&orchestrationProtoc… 2 more app errors logged ❯ trace .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:15:09 Duration 50.41s (startup 14.38s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:48 > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator matched no nodes within getByRole("button", name: "Add environment") trace .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md { "scenario": "Pairing a copied environment ID explains the conflict and preserves the code", "failsOnBase": false, "passesOnHead": false, "baseSha": "6ba3de70aff98460e573ffc57773e45e148026ba", "headSha": "2126c8964bcdea8a6e63ddbb4b4e73928c3105ff", "verdict": "Not proven: the scenario could not run on base `6ba3de70af` (LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\")).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/connections", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Add environment\")", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/connections", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Add environment\")", "status": "failed" } ] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Pairing a copied environment ID explains the conflict and preserves the code\n\n**Not proven: the scenario could not run on base `6ba3de70af` (LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\")).**\n\n| | Base `6ba3de70af` | Head `2126c8964b` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\") | ⚠️ could not run
LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\") |\n| failure | ![Base 6ba3de70af: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/ee5f6a4653767a66/001-failure.png) | ![Head 2126c8964b: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/6b5f3f325e22f8ae/001-failure.png) |\n", "base": { "sha": "6ba3de70aff98460e573ffc57773e45e148026ba", "status": "error", "title": "Pairing a copied environment ID explains the conflict and preserves the code", "message": "LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/connections", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Add environment\")", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "2126c8964bcdea8a6e63ddbb4b4e73928c3105ff", "status": "error", "title": "Pairing a copied environment ID explains the conflict and preserves the code", "message": "LOCATOR_NOT_FOUND: locator matched no nodes within getByRole(\"button\", name: \"Add environment\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/connections", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"Add environment\")", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] } } prove-3.log $ node scripts/prove-scenario.ts scripts/scenarios/duplicate-environment-id.e2e.ts --base 6ba3de70aff98460e573ffc57773e45e148026ba --head 2126c8964bcdea8a6e63ddbb4b4e73928c3105ff --upload-command 'ghdrop upload' ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 17m 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 874, reused 874, downloaded 0, added 859 Progress: resolved 1656, reused 1656, downloaded 0, added 1640 Progress: resolved 1774, reused 1774, downloaded 0, added 1768 Packages: +1781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1781, reused 1777, downloaded 0, added 1781, 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 5.4s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1ce9d-5026-7732-8916-c36bcefcb178 · targets: web, ios ✓ target "web" command at http://127.0.0.1:45377/.well-known/t3/environment ready 7.43s ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.47s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 35.84s → locator did not become visible: getByRole("button", name: "Settings") ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 35.84s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator did not become visible: getByRole("button", name: "Settings") ❯ scenarios/duplicate-environment-id.e2e.ts:42:7 40| const descriptor = await fetch(`http://127.0.0.1:${port}/.well-… 41| await t3.open(); 42| await screen.getByRole("button", "Settings", { exact: true }).w… | ^ 43| await app.open("/settings/connections"); 44| await browser.evaluate(() => { ❯ at http://127.0.0.1:45377/welcome ❯ app 1 error logged × console error: WebSocket connection to 'ws://127.0.0.1:45377/ws?clientSurface=web&clientAppVersion=0.1.9&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=ffc59f4a6d2ee25fc55a01b646d3b3a06e9de1359e0a8ee65f57a063c5f48e70&orchestrationProtoc… ❯ trace .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:16:19 Duration 51.67s (startup 14.90s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:42 > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator did not become visible: getByRole("button", name: "Settings") trace .e2e/prove/base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 18m 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 1095, reused 1095, downloaded 0, added 1080 Progress: resolved 1772, reused 1772, downloaded 0, added 1763 Packages: +1781 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1781, reused 1777, downloaded 0, added 1781, 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 3.9s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1ce9e-4b6d-7d75-babe-a879be150356 · targets: web, ios ✓ target "web" command at http://127.0.0.1:33685/.well-known/t3/environment ready 10.77s ✓ target "ios" command at http://127.0.0.1:8190/status ready 8.62s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 35.56s → locator did not become visible: getByRole("button", name: "Settings") ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 35.56s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator did not become visible: getByRole("button", name: "Settings") ❯ scenarios/duplicate-environment-id.e2e.ts:42:7 40| const descriptor = await fetch(`http://127.0.0.1:${port}/.well-… 41| await t3.open(); 42| await screen.getByRole("button", "Start", { exact: true }).tap(… | ^ 43| await app.open("/settings/connections"); 44| await browser.evaluate(() => { ❯ at http://127.0.0.1:33685/welcome ❯ trace .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:17:23 Duration 56.06s (startup 19.39s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:42 > Pairing a copied environment ID explains the conflict and preserves the code LOCATOR_NOT_FOUND: locator did not become visible: getByRole("button", name: "Settings") trace .e2e/prove/head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md { "scenario": "Pairing a copied environment ID explains the conflict and preserves the code", "failsOnBase": false, "passesOnHead": false, "baseSha": "6ba3de70aff98460e573ffc57773e45e148026ba", "headSha": "2126c8964bcdea8a6e63ddbb4b4e73928c3105ff", "verdict": "Not proven: the scenario could not run on base `6ba3de70af` (LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\")).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByRole(\"button\", name: \"Settings\") → visible", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByRole(\"button\", name: \"Settings\") → visible", "status": "failed" } ] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Pairing a copied environment ID explains the conflict and preserves the code\n\n**Not proven: the scenario could not run on base `6ba3de70af` (LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\")).**\n\n| | Base `6ba3de70af` | Head `2126c8964b` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\") | ⚠️ could not run
LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\") |\n| failure | ![Base 6ba3de70af: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9303579d145ccf6e/001-failure.png) | ![Head 2126c8964b: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/c39872c34378e394/001-failure.png) |\n", "base": { "sha": "6ba3de70aff98460e573ffc57773e45e148026ba", "status": "error", "title": "Pairing a copied environment ID explains the conflict and preserves the code", "message": "LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByRole(\"button\", name: \"Settings\") → visible", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "2126c8964bcdea8a6e63ddbb4b4e73928c3105ff", "status": "error", "title": "Pairing a copied environment ID explains the conflict and preserves the code", "message": "LOCATOR_NOT_FOUND: locator did not become visible: getByRole(\"button\", name: \"Settings\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByRole(\"button\", name: \"Settings\") → visible", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] } } settled-base.log RUN e2e v0.23.0 run 01a1cea2-90fd-75d5-a9d7-06c1abc246d3 · targets: web, ios ✓ target "web" command at http://127.0.0.1:41635/.well-known/t3/environment ready 3.55s × |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 27.66s → expect.toBeVisible failed ❯ |web| scenarios/duplicate-environment-id.e2e.ts (1 test | 1 failed) 27.66s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code ASSERTION_FAILED: expect.toBeVisible failed locator: getByText("That machine reports the same environment ID").first() expected: visible observed: no node (match count 0) ❯ scenarios/duplicate-environment-id.e2e.ts:95:7 93| ui: await browser.evaluate(() => document.body.innerText), 94| }, null, 2)); 95| await expect(screen.getByText("That machine reports the same en… | ^ 96| expect(response.status).toBe(200); 97| } finally { ❯ at http://127.0.0.1:41635/settings/connections ❯ trace .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md ❯ video .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 07:22:03 Duration 31.85s (startup 3.55s) Traces .e2e/settled-base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/001-settling-0.png .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/002-settling-1.png .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/003-pairing-result.png Markdown .e2e/settled-base/summary.md Failed × |web| scenarios/duplicate-environment-id.e2e.ts:95 > Pairing a copied environment ID explains the conflict and preserves the code ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/settled-base/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/trace.md settled-head.log RUN e2e v0.23.0 run 01a1cea3-3b43-7f7d-b73a-cdef9a99162c · targets: web, ios ✓ target "web" command at http://127.0.0.1:35349/.well-known/t3/environment ready 4.52s ✓ |web| scenarios/duplicate-environment-id.e2e.ts > Pairing a copied environment ID explains the conflict and preserves the code 12.77s ✓ |web| scenarios/duplicate-environment-id.e2e.ts (1 test) 12.77s Test Files 1 passed (1) Tests 1 passed (1) Start at 07:22:46 Duration 18.00s (startup 4.52s) Traces .e2e/settled-head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/settled-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/001-settling-0.png .e2e/settled-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/002-settling-1.png .e2e/settled-head/results/duplicate-environment-id-pairing-a-copied-environment-id-a4b99e9b8242e1ae/attempt-1/screenshots/003-pairing-result.png Markdown .e2e/settled-head/summary.md