prove-first.log $ node scripts/prove-scenario.ts scripts/scenarios/branch-picker-current-thread.e2e.ts --base 31eea883c7f7849ada6eb49265cb11fc64d2ecbd --head 7dcf3886808e5692599cc8ab54fef545773c7fff ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 6m 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 419, reused 419, downloaded 0, added 404 Progress: resolved 708, reused 708, downloaded 0, added 693 Progress: resolved 1080, reused 1080, downloaded 0, added 1065 Progress: resolved 1248, reused 1248, downloaded 0, added 1233 Progress: resolved 1461, reused 1461, downloaded 0, added 1446 Progress: resolved 1636, reused 1636, downloaded 0, added 1621 Progress: resolved 1671, reused 1671, downloaded 0, added 1662 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, done .../esbuild@0.28.2/node_modules/esbuild postinstall$ node install.js .../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 .../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 .../esbuild@0.28.2/node_modules/esbuild 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 31.9s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1cc12-b8e9-75d8-ba2b-d9c3560f7905 · targets: web, ios ✓ target "web" command at http://127.0.0.1:43789/.well-known/t3/environment ready 13.64s ✓ target "ios" command at http://127.0.0.1:8190/status ready 14.38s × |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 41.44s → locator matched no nodes within getByText("repoA").first() ❯ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test | 1 failed) 41.44s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A LOCATOR_NOT_FOUND: locator matched no nodes within getByText("repoA").first() ❯ scenarios/branch-picker-current-thread.e2e.ts:18:7 16| ["repoA", "master", "repoA-return"], 17| ]) { 18| await screen.getByText(project, { exact: true }).first().tap(); | ^ 19| const toggle = screen.getByRole("button", "Toggle thread detail… 20| if (!(await screen.getByRole("region", "Version Control").isVis… ❯ at http://127.0.0.1:43789/draft/16b6e4f3-2d83-4e53-bd27-520d6db7da2a ❯ on screen #n3026 listitem "New thread in repoB" ❯ on screen #n3027 button "New thread in repoB" ❯ on screen #n3028 text="repoB" ❯ on screen #n3038 "repoB" ❯ trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md ❯ video .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 19:25:42 Duration 72.10s (1m 12s, startup 28.02s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/branch-picker-current-thread.e2e.ts:18 > Branch pickers name the current branch after switching projects A to B to A LOCATOR_NOT_FOUND: locator matched no nodes within getByText("repoA").first() trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 8m 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 1057, reused 1057, downloaded 0, added 1042 Progress: resolved 1669, reused 1669, downloaded 0, added 1664 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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.6s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1cc14-0b77-7c68-aedb-b503bdaa2a41 · targets: web, ios ✓ target "web" command at http://127.0.0.1:37583/.well-known/t3/environment ready 7.22s ✓ target "ios" command at http://127.0.0.1:8190/status ready 7.38s × |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 35.05s → locator matched no nodes within getByText("repoA").first() ❯ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test | 1 failed) 35.05s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A LOCATOR_NOT_FOUND: locator matched no nodes within getByText("repoA").first() ❯ scenarios/branch-picker-current-thread.e2e.ts:18:7 16| ["repoA", "master", "repoA-return"], 17| ]) { 18| await screen.getByRole("button", "New thread", { exact: true })… | ^ 19| await screen.getByRole("option").filter({ hasText: project }).f… 20| const toggle = screen.getByRole("button", "Toggle thread detail… ❯ at http://127.0.0.1:37583/draft/07da4dc4-c699-45e4-ac96-60d935a7b6e7 ❯ on screen #n3026 listitem "New thread in repoB" ❯ on screen #n3027 button "New thread in repoB" ❯ on screen #n3028 text="repoB" ❯ on screen #n3038 "repoB" ❯ trace .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md ❯ video .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 19:27:08 Duration 50.85s (startup 14.60s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/branch-picker-current-thread.e2e.ts:18 > Branch pickers name the current branch after switching projects A to B to A LOCATOR_NOT_FOUND: locator matched no nodes within getByText("repoA").first() trace .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md { "scenario": "Branch pickers name the current branch after switching projects A to B to A", "failsOnBase": false, "passesOnHead": false, "baseSha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "headSha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "verdict": "Not proven: the scenario could not run on base `31eea883c7` (LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first()).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"repoA\").first()", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"repoA\").first()", "status": "failed" } ] }, "captures": [ "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Branch pickers name the current branch after switching projects A to B to A\n\n**Not proven: the scenario could not run on base `31eea883c7` (LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first()).**\n\n| | Base `31eea883c7` | Head `7dcf388680` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first() | ⚠️ could not run
LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first() |\n| failure | ![Base 31eea883c7: failure](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-failure.png) | ![Head 7dcf388680: failure](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-failure.png) |\n", "base": { "sha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "status": "error", "title": "Branch pickers name the current branch after switching projects A to B to A", "message": "LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"repoA\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] }, "head": { "sha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "status": "error", "title": "Branch pickers name the current branch after switching projects A to B to A", "message": "LOCATOR_NOT_FOUND: locator matched no nodes within getByText(\"repoA\").first()", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByText(\"repoA\").first()", "status": "failed" } ], "captures": [ "" ], "videos": [ "" ] } } prove-second.log $ node scripts/prove-scenario.ts scripts/scenarios/branch-picker-current-thread.e2e.ts --base 31eea883c7f7849ada6eb49265cb11fc64d2ecbd --head 7dcf3886808e5692599cc8ab54fef545773c7fff ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 9m 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 741, reused 741, downloaded 0, added 726 Progress: resolved 1506, reused 1506, downloaded 0, added 1492 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 01a1cc15-12ff-7be0-aab9-73a414c5dbd8 · targets: web, ios ✓ target "web" command at http://127.0.0.1:35879/.well-known/t3/environment ready 5.55s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.78s × |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 13.57s → expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-sli… ❯ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test | 1 failed) 13.57s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A ASSERTION_FAILED: expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-slider-action-touch-lag","Branch: master"] ❯ scenarios/branch-picker-current-thread.e2e.ts:42:22 40| await app.screenshot(label); 41| } 42| expect(observed).toEqual(["Branch: master", "Branch: t3/fix-slide… | ^ 43| await expect(screen.getByRole("region", "Version Control").getByR… 44| }); ❯ at http://127.0.0.1:35879/draft/26b9123c-cfc2-461e-881d-ef1382aabca8 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md ❯ video .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 19:28:16 Duration 25.69s (startup 11.33s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/branch-picker-current-thread.e2e.ts:42 > Branch pickers name the current branch after switching projects A to B to A ASSERTION_FAILED: expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-slider-action-touch-lag","Branch: master"] trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 9m 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 1020, reused 1020, downloaded 0, added 1004 Progress: resolved 1672, reused 1672, downloaded 0, added 1668 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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.2s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1cc15-a04f-7f0c-9b14-12f19c15c153 · targets: web, ios ✓ target "web" command at http://127.0.0.1:34203/.well-known/t3/environment ready 5.18s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.46s ✓ |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 15.01s ✓ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test) 15.01s Test Files 1 passed (1) Tests 1 passed (1) Start at 19:28:52 Duration 26.56s (startup 10.63s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png Markdown .e2e/prove/head/summary.md { "scenario": "Branch pickers name the current branch after switching projects A to B to A", "failsOnBase": true, "passesOnHead": true, "baseSha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "headSha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "verdict": "Proven: the scenario fails on base `31eea883c7` and passes on head `7dcf388680`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" }, { "step": "expect.toHaveAccessibleName getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\")", "status": "passed" } ] }, "captures": [ "", "", "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Branch pickers name the current branch after switching projects A to B to A\n\n**Proven: the scenario fails on base `31eea883c7` and passes on head `7dcf388680`.**\n\n| | Base `31eea883c7` | Head `7dcf388680` |\n| --- | --- | --- |\n| Result | ❌ failed
ASSERTION_FAILED: expected [null,null,null] to equal [\"Branch: master\",\"Branch: t3/fix-slider-action-touch-lag\",\"Branch: master\"] | ✅ passed |\n| repoA first | ![Base 31eea883c7: repoA first](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png) | ![Head 7dcf388680: repoA first](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png) |\n| repoB long branch | ![Base 31eea883c7: repoB long branch](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png) | ![Head 7dcf388680: repoB long branch](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png) |\n| repoA return | ![Base 31eea883c7: repoA return](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png) | ![Head 7dcf388680: repoA return](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png) |\n| failure | ![Base 31eea883c7: failure](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/004-failure.png) | |\n", "base": { "sha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "status": "failed", "title": "Branch pickers name the current branch after switching projects A to B to A", "message": "ASSERTION_FAILED: expected [null,null,null] to equal [\"Branch: master\",\"Branch: t3/fix-slider-action-touch-lag\",\"Branch: master\"]", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" } ], "captures": [ "", "", "", "" ], "videos": [ "" ] }, "head": { "sha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "status": "passed", "title": "Branch pickers name the current branch after switching projects A to B to A", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" }, { "step": "expect.toHaveAccessibleName getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\")", "status": "passed" } ], "captures": [ "", "", "" ], "videos": [ "" ] } } prove-final.log $ node scripts/prove-scenario.ts scripts/scenarios/branch-picker-current-thread.e2e.ts --base 31eea883c7f7849ada6eb49265cb11fc64d2ecbd --head 7dcf3886808e5692599cc8ab54fef545773c7fff ⊘ cache disabled Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 11m 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 1045, reused 1045, downloaded 0, added 1030 Progress: resolved 1464, reused 1463, downloaded 0, added 1449 Progress: resolved 1670, reused 1670, downloaded 0, added 1670 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 01a1cc16-ad17-7dd1-9081-c7b696592f82 · targets: web, ios ✓ target "web" command at http://127.0.0.1:35549/.well-known/t3/environment ready 12.28s ✓ target "ios" command at http://127.0.0.1:8190/status ready 8.37s × |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 25.82s → expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-sli… ❯ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test | 1 failed) 25.82s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A ASSERTION_FAILED: expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-slider-action-touch-lag","Branch: master"] ❯ scenarios/branch-picker-current-thread.e2e.ts:47:22 45| await app.screenshot(label); 46| } 47| expect(observed).toEqual(["Branch: master", "Branch: t3/fix-slide… | ^ 48| await expect(screen.getByRole("region", "Version Control").getByR… 49| }); ❯ at http://127.0.0.1:35549/draft/5e1c4d32-fcfd-4752-a4f8-583a020674c0 ❯ app 1 warning logged ❯ trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md ❯ video .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 19:30:01 Duration 47.58s (startup 20.65s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/branch-picker-current-thread.e2e.ts:47 > Branch pickers name the current branch after switching projects A to B to A ASSERTION_FAILED: expected [null,null,null] to equal ["Branch: master","Branch: t3/fix-slider-action-touch-lag","Branch: master"] trace .e2e/prove/base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 12m 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 404, reused 404, downloaded 0, added 389 Progress: resolved 616, reused 616, downloaded 0, added 601 Progress: resolved 1172, reused 1172, downloaded 0, added 1156 Progress: resolved 1608, reused 1608, downloaded 0, added 1595 Progress: resolved 1669, reused 1669, downloaded 0, added 1661 Packages: +1676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Progress: resolved 1676, reused 1672, downloaded 0, added 1676, 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 10s using pnpm v12.14.0 RUN e2e v0.23.0 run 01a1cc17-bed0-759a-9e6e-1d81f5b4c2a6 · targets: web, ios ✓ target "web" command at http://127.0.0.1:43141/.well-known/t3/environment ready 10.10s ✓ target "ios" command at http://127.0.0.1:8190/status ready 8.42s ✓ |web| scenarios/branch-picker-current-thread.e2e.ts > Branch pickers name the current branch after switching projects A to B to A 20.98s ✓ |web| scenarios/branch-picker-current-thread.e2e.ts (1 test) 20.98s Test Files 1 passed (1) Tests 1 passed (1) Start at 19:31:11 Duration 40.58s (startup 18.52s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png .e2e/prove/head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png Markdown .e2e/prove/head/summary.md { "scenario": "Branch pickers name the current branch after switching projects A to B to A", "failsOnBase": true, "passesOnHead": true, "baseSha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "headSha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "verdict": "Proven: the scenario fails on base `31eea883c7` and passes on head `7dcf388680`.", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" }, { "step": "expect.toHaveAccessibleName getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\")", "status": "passed" } ] }, "captures": [ "", "", "", "", "", "", "" ], "videos": [ "", "" ], "markdown": "### Scenario: Branch pickers name the current branch after switching projects A to B to A\n\n**Proven: the scenario fails on base `31eea883c7` and passes on head `7dcf388680`.**\n\n| | Base `31eea883c7` | Head `7dcf388680` |\n| --- | --- | --- |\n| Result | ❌ failed
ASSERTION_FAILED: expected [null,null,null] to equal [\"Branch: master\",\"Branch: t3/fix-slider-action-touch-lag\",\"Branch: master\"] | ✅ passed |\n| repoA first | ![Base 31eea883c7: repoA first](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png) | ![Head 7dcf388680: repoA first](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/001-repoA-first.png) |\n| repoB long branch | ![Base 31eea883c7: repoB long branch](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png) | ![Head 7dcf388680: repoB long branch](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/002-repoB-long-branch.png) |\n| repoA return | ![Base 31eea883c7: repoA return](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png) | ![Head 7dcf388680: repoA return](head/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/003-repoA-return.png) |\n| failure | ![Base 31eea883c7: failure](base/results/branch-picker-current-thread-branch-pickers-name-the-current-65f202f11f036d6a/attempt-1/screenshots/004-failure.png) | |\n", "base": { "sha": "31eea883c7f7849ada6eb49265cb11fc64d2ecbd", "status": "failed", "title": "Branch pickers name the current branch after switching projects A to B to A", "message": "ASSERTION_FAILED: expected [null,null,null] to equal [\"Branch: master\",\"Branch: t3/fix-slider-action-touch-lag\",\"Branch: master\"]", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" } ], "captures": [ "", "", "", "" ], "videos": [ "" ] }, "head": { "sha": "7dcf3886808e5692599cc8ab54fef545773c7fff", "status": "passed", "title": "Branch pickers name the current branch after switching projects A to B to A", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-first", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoB\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"t3/fix-slider-action-touch-lag\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoB-long-branch", "status": "passed" }, { "step": "locator.tap getByRole(\"button\", name: \"New thread\")", "status": "passed" }, { "step": "locator.tap getByRole(\"option\").filter({ hasText: \"repoA\" }).first()", "status": "passed" }, { "step": "locator.waitFor getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\") → visible", "status": "passed" }, { "step": "locator.waitFor locator(\"[role=\\\"combobox\\\"]\").filter({ hasText: \"master\" }).first() → visible", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "browser.evaluate ", "status": "passed" }, { "step": "app.screenshot repoA-return", "status": "passed" }, { "step": "expect.toHaveAccessibleName getByRole(\"region\", name: \"Version Control\") >> getByRole(\"combobox\")", "status": "passed" } ], "captures": [ "", "", "" ], "videos": [ "" ] } }