run.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b9-7c44-7f18-bbdf-df59b5983c5e · targets: web, ios ✓ target "web" command at http://127.0.0.1:39735/.well-known/t3/environment ready 4.15s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 42.29s → expect.toBeVisible failed ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 42.29s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive ASSERTION_FAILED: expect.toBeVisible failed locator: getByRole("button", name: "Unarchive Release checklist") expected: visible observed: no node (match count 0) ❯ scenarios/archive-live-updates.e2e.ts:37:7 35| // Keep the first client mounted: the shell event must refresh it… 36| try { 37| await expect(screen.getByRole("button", "Unarchive Release chec… | ^ 38| } finally { 39| await stableCapture("archive-after-external-action"); ❯ at http://127.0.0.1:39735/settings/archived ❯ app 1 error logged × console error: WebSocket connection to 'ws://127.0.0.1:39735/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… ❯ trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:49:22 Duration 48.10s (startup 4.15s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action-settling.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/002-archive-before-external-action.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/003-archive-after-external-action-settling.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/004-archive-after-external-action.png Markdown .e2e/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:37 > An externally archived thread appears in the open Archive ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md run.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8ba-a85c-7953-a198-4c1526ef258c · targets: web, ios ✓ target "web" command at http://127.0.0.1:39445/.well-known/t3/environment ready 4.53s ✓ |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 13.26s ✓ |web| scenarios/archive-live-updates.e2e.ts (1 test) 13.26s Test Files 1 passed (1) Tests 1 passed (1) Start at 03:50:38 Duration 19.58s (startup 4.53s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action-settling.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/002-archive-before-external-action.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/003-archive-after-external-action-settling.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/004-archive-after-external-action.png Markdown .e2e/summary.md manual-base-final.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b7-410d-78d1-a260-64df9cd3c481 · targets: web, ios ✓ target "web" command at http://127.0.0.1:44385/.well-known/t3/environment ready 3.15s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 24.58s → expect.toBeVisible failed ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 24.58s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive ASSERTION_FAILED: expect.toBeVisible failed locator: getByRole("button", name: "Unarchive Release checklist") expected: visible observed: no node (match count 0) ❯ scenarios/archive-live-updates.e2e.ts:27:7 25| // Keep the first client mounted: the shell event must refresh it… 26| try { 27| await expect(screen.getByRole("button", "Unarchive Release chec… | ^ 28| } finally { 29| await app.screenshot("archive-after-external-action"); ❯ at http://127.0.0.1:44385/settings/archived ❯ trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:46:55 Duration 28.31s (startup 3.15s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/002-archive-after-external-action.png Markdown .e2e/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:27 > An externally archived thread appears in the open Archive ASSERTION_FAILED: expect.toBeVisible failed trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md manual-base-run.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b6-42b8-7e49-bae7-14b53457dd4b · targets: web, ios ✓ target "web" command at http://127.0.0.1:44731/.well-known/t3/environment ready 4.26s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 38.40s → locator.click: Timeout 30000ms exceeded. ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 38.40s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByText('Release checklist', { exact: true }).first() - locator resolved to Release checklist - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 100ms 53 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 500ms ❯ scenarios/archive-live-updates.e2e.ts:21:74 19| const second = await context.newPage(); 20| await second.goto(new URL(await readFile(`${T3_HOME}/pairing-path… 21| await second.getByText("Release checklist", { exact: true }).firs… 22| await second.getByText("Archive thread", { exact: true }).click(); 23| await second.getByText("Release checklist", { exact: true }).wait… ❯ at http://127.0.0.1:44731/settings/archived ❯ trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:45:50 Duration 43.58s (startup 4.26s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action.png Markdown .e2e/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:21 > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. trace .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md manual-base.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scripts/scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b6-121b-7e10-ab77-97d05c541a13 · targets: web, ios ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Run Errors 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ ERROR configuration error NO_TESTS (collection) no test file matched scripts/scenarios/archive-live-updates.e2e.ts (did you mean scenarios/archive-live-updates.e2e.ts?); the config globs discovered scenarios/add-project-tab-reaches-submit.e2e.ts, scenarios/archive-live-updates.e2e.ts, scenarios/mobile-opens-a-seeded-thread.e2e.ts and 1 more; pass --pass-with-no-tests to allow this Test Files no test files Tests no tests executed Errors 1 error Start at 03:45:38 Duration 549ms Report (not written) manual-head.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-live-updates.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b8-1a65-7c2a-abd1-07c5727dcd4c · targets: web, ios ✓ target "web" command at http://127.0.0.1:43481/.well-known/t3/environment ready 14.59s ✓ |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 18.15s ✓ |web| scenarios/archive-live-updates.e2e.ts (1 test) 18.15s Test Files 1 passed (1) Tests 1 passed (1) Start at 03:47:51 Duration 33.78s (startup 14.59s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action.png .e2e/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/002-archive-after-external-action.png Markdown .e2e/summary.md mobile-base-retry.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-mobile-live-updates.e2e.ts --target ios ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8c1-0b5e-7fad-9f10-3671df365d42 · targets: web, ios ℹ leasing 1 ios device(s) from simlock ℹ simlock: leased 936909f2a6e247ea93c2c3b9b1032c76 ℹ booting B2D564C7-C7A5-494A-A7F2-A8F4BCFBB508 (1 of 1) mobile-base.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-mobile-live-updates.e2e.ts --target ios ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8bc-ffba-7fb6-a313-c1bfad459daf · targets: web, ios ℹ leasing 1 ios device(s) from simlock ℹ simlock: leased 67915af622f14732be07fe7f82ca6b4d ℹ booting 51D7CCCF-4898-43F3-BC5D-330BD663B8A2 (1 of 1) ℹ 51D7CCCF-4898-43F3-BC5D-330BD663B8A2: com.t3tools.t3code.dev did not open (open com.t3tools.t3code.dev failed: Simulator device failed to launch com.t3tools.t3code.dev. Hint: The app bundle is not installed on this simulator. Run install before open.); the first attempt opens it ✓ mobile engine for target "ios" prepared 137.73s ✓ target "ios" command at http://127.0.0.1:8190/status ready 8.37s interrupted: stopping the running test and tearing down (interrupt again to force) mobile-prepare.log $ node scripts/mobile-native-client.ts ensure ios --prepare ⊘ cache disabled Downloading native client ios/development/5fa891c99bf29870cc7d56112e3458d95a948393 from the shared cache... Client ready for ios (remote); lease a device and install. {"status":"ready","source":"remote","fingerprint":"5fa891c99bf29870cc7d56112e3458d95a948393"} prove-second.log $ node scripts/prove-scenario.ts scripts/scenarios/archive-live-updates.e2e.ts --base b3fdf2b10fb92e5dbc71a83381c602a8a464bbca --head 2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6 --upload-command 'ghdrop upload' ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b4-1b5e-7ad2-a42d-ba986a8082c3 · targets: web, ios ✓ target "web" command at http://127.0.0.1:37997/.well-known/t3/environment ready 4.38s ✓ target "ios" command at http://127.0.0.1:8190/status ready 3.66s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 38.12s → locator.click: Timeout 30000ms exceeded. ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 38.12s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByText('Release checklist', { exact: true }).first() - locator resolved to Release checklist - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 100ms 54 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 500ms ❯ scenarios/archive-live-updates.e2e.ts:19:74 17| const second = await context.newPage(); 18| await second.goto(new URL("/", await browser.url()).href); 19| await second.getByText("Release checklist", { exact: true }).firs… 20| await second.getByText("Archive thread", { exact: true }).click(); 21| await second.getByText("Release checklist", { exact: true }).wait… ❯ at http://127.0.0.1:37997/settings/archived ❯ app 1 error logged × console error: WebSocket connection to 'ws://127.0.0.1:37997/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… ❯ trace .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:43:29 Duration 46.92s (startup 8.04s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action.png Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:19 > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. trace .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md Scope: all 42 workspace projects ✓ Lockfile passes supply-chain policies (verified 19m 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: [private path] Virtual store is at: node_modules/.pnpm Progress: resolved 567, reused 567, downloaded 0, added 552 Progress: resolved 897, reused 897, downloaded 0, added 882 Progress: resolved 1319, reused 1319, downloaded 0, added 1306 Progress: resolved 1643, reused 1643, downloaded 0, added 1632 Progress: resolved 1673, reused 1673, 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 7.4s using pnpm v12.14.0 RUN e2e v0.23.0 [private path] run 01a1c8b4-f8ec-7295-a0ed-8d23fef1d13b · targets: web, ios ✓ target "web" command at http://127.0.0.1:42227/.well-known/t3/environment ready 3.77s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.34s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 41.73s → locator.click: Timeout 30000ms exceeded. ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 41.73s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. Call log: - waiting for getByText('Release checklist', { exact: true }).first() - locator resolved to Release checklist - attempting click action 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 20ms 2 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 100ms 53 × waiting for element to be visible, enabled and stable - element is visible, enabled and stable - scrolling into view if needed - done scrolling -
  • …
  • intercepts pointer events - retrying click action - waiting 500ms ❯ scenarios/archive-live-updates.e2e.ts:21:74 19| const second = await context.newPage(); 20| await second.goto(new URL(await readFile(`${T3_HOME}/pairing-path… 21| await second.getByText("Release checklist", { exact: true }).firs… 22| await second.getByText("Archive thread", { exact: true }).click(); 23| await second.getByText("Release checklist", { exact: true }).wait… ❯ at http://127.0.0.1:42227/settings/archived ❯ app 1 error logged × console error: WebSocket connection to 'ws://127.0.0.1:42227/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… ❯ trace .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:44:26 Duration 50.89s (startup 8.11s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Screenshots .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/screenshots/001-archive-before-external-action.png Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:21 > An externally archived thread appears in the open Archive ERROR: locator.click: Timeout 30000ms exceeded. trace .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md { "scenario": "An externally archived thread appears in the open Archive", "failsOnBase": false, "passesOnHead": false, "baseSha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "headSha": "2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6", "verdict": "Not proven: the scenario could not run on base `b3fdf2b10f` (ERROR: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for getByText('Release checklist', { exact: true }).first()\n - locator resolved to Release checklist\n - attempting click action\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 20ms\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 100ms\n 54 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 500ms\n).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Release checklist\").first() → visible", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "passed" }, { "step": "app.screenshot archive-before-external-action", "status": "passed" }, { "step": "browser.cookies ", "status": "passed" }, { "step": "browser.url ", "status": "passed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Release checklist\").first() → visible", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "passed" }, { "step": "app.screenshot archive-before-external-action", "status": "passed" }, { "step": "browser.cookies ", "status": "passed" }, { "step": "browser.url ", "status": "passed" } ] }, "captures": [ "[private path]", "[private path]", "[private path]", "[private path]" ], "videos": [ "[private path]", "[private path]" ], "markdown": "### Scenario: An externally archived thread appears in the open Archive\n\n**Not proven: the scenario could not run on base `b3fdf2b10f` (ERROR: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for getByText('Release checklist', { exact: true }).first()\n - locator resolved to Release checklist\n - attempting click action\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 20ms\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 100ms\n 54 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 500ms\n).**\n\n| | Base `b3fdf2b10f` | Head `2e94c7ea67` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
    ERROR: locator.click: Timeout 30000ms exceeded.
    Call log:
    - waiting for getByText('Release checklist', { exact: true }).first()
    - locator resolved to Release checklist
    - attempting click action
    2 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 100ms
    54 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 500ms
    | ⚠️ could not run
    ERROR: locator.click: Timeout 30000ms exceeded.
    Call log:
    - waiting for getByText('Release checklist', { exact: true }).first()
    - locator resolved to Release checklist
    - attempting click action
    2 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 100ms
    53 × waiting for element to be visible, enabled and stable
    - element is visible, enabled and stable
    - scrolling into view if needed
    - done scrolling
    -
  • …
  • intercepts pointer events
    - retrying click action
    - waiting 500ms
    |\n| archive before external action | ![Base b3fdf2b10f: archive before external action](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/571ff934230d907e/001-archive-before-external-action.png) | ![Head 2e94c7ea67: archive before external action](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/9a469d4d3972c8e1/001-archive-before-external-action.png) |\n| failure | ![Base b3fdf2b10f: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/7941cb6e24cb25b6/002-failure.png) | ![Head 2e94c7ea67: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/0ab5f2db195108f0/002-failure.png) |\n", "base": { "sha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "status": "error", "title": "An externally archived thread appears in the open Archive", "message": "ERROR: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for getByText('Release checklist', { exact: true }).first()\n - locator resolved to Release checklist\n - attempting click action\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 20ms\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 100ms\n 54 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 500ms\n", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Release checklist\").first() → visible", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "passed" }, { "step": "app.screenshot archive-before-external-action", "status": "passed" }, { "step": "browser.cookies ", "status": "passed" }, { "step": "browser.url ", "status": "passed" } ], "captures": [ "[private path]", "[private path]" ], "videos": [ "[private path]" ] }, "head": { "sha": "2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6", "status": "error", "title": "An externally archived thread appears in the open Archive", "message": "ERROR: locator.click: Timeout 30000ms exceeded.\nCall log:\n - waiting for getByText('Release checklist', { exact: true }).first()\n - locator resolved to Release checklist\n - attempting click action\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 20ms\n 2 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 100ms\n 53 × waiting for element to be visible, enabled and stable\n - element is visible, enabled and stable\n - scrolling into view if needed\n - done scrolling\n -
  • …
  • intercepts pointer events\n - retrying click action\n - waiting 500ms\n", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "locator.waitFor getByText(\"Release checklist\").first() → visible", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "passed" }, { "step": "app.screenshot archive-before-external-action", "status": "passed" }, { "step": "browser.cookies ", "status": "passed" }, { "step": "browser.url ", "status": "passed" } ], "captures": [ "[private path]", "[private path]" ], "videos": [ "[private path]" ] } } prove.log $ node scripts/prove-scenario.ts scripts/scenarios/archive-live-updates.e2e.ts --base b3fdf2b10fb92e5dbc71a83381c602a8a464bbca --head 2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6 --upload-command 'ghdrop upload' ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8b2-1f64-71c3-91d7-bb5c91a5cad6 · targets: web, ios ✓ target "web" command at http://127.0.0.1:37493/.well-known/t3/environment ready 6.71s ✓ target "ios" command at http://127.0.0.1:8190/status ready 4.67s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 33.82s → locator did not become visible: getByText("No archived threads") ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 33.82s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive LOCATOR_NOT_FOUND: locator did not become visible: getByText("No archived threads") ❯ scenarios/archive-live-updates.e2e.ts:9:3 7| await t3.thread({ project, title: "Release checklist", messages: ["… 8| await t3.open("/settings/archived"); 9| await screen.getByText("No archived threads", { exact: true }).wait… | ^ 10| await app.screenshot("archive-before-external-action"); 11| const external = await chromium.launch({ headless: true }); ❯ at http://127.0.0.1:37493/pair ❯ app 5 errors logged × console error: WebSocket connection to 'ws://127.0.0.1:37493/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:37493/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:37493/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… 2 more app errors logged ❯ trace .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:41:19 Duration 46.95s (startup 11.38s) Traces .e2e/prove/base/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/base/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:9 > An externally archived thread appears in the open Archive LOCATOR_NOT_FOUND: locator did not become visible: getByText("No archived threads") trace .e2e/prove/base/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md 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: [private path] Virtual store is at: node_modules/.pnpm Progress: resolved 441, reused 441, downloaded 0, added 426 Progress: resolved 848, reused 848, downloaded 0, added 833 Progress: resolved 1130, reused 1130, downloaded 0, added 1115 Progress: resolved 1380, reused 1380, downloaded 0, added 1365 Progress: resolved 1623, reused 1623, downloaded 0, added 1614 Progress: resolved 1655, reused 1655, downloaded 0, added 1651 Progress: resolved 1674, reused 1674, downloaded 0, added 1673 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 .../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... .../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 .../node_modules/node-pty postinstall: > Moving conpty.dll... .../node_modules/node-pty postinstall: SKIPPED (not Windows) .../node_modules/node-pty postinstall: Done .../esbuild@0.28.2/node_modules/esbuild postinstall: Done .../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 -> [private path] .../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 15.2s using pnpm v12.14.0 RUN e2e v0.23.0 [private path] run 01a1c8b3-1e95-7060-bc6b-a496bcdb5f7d · targets: web, ios ✓ target "web" command at http://127.0.0.1:36975/.well-known/t3/environment ready 5.13s ✓ target "ios" command at http://127.0.0.1:8190/status ready 5.81s × |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive 34.73s → locator did not become visible: getByText("No archived threads") ❯ |web| scenarios/archive-live-updates.e2e.ts (1 test | 1 failed) 34.73s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-live-updates.e2e.ts > An externally archived thread appears in the open Archive LOCATOR_NOT_FOUND: locator did not become visible: getByText("No archived threads") ❯ scenarios/archive-live-updates.e2e.ts:9:3 7| await t3.thread({ project, title: "Release checklist", messages: ["… 8| await t3.open(); 9| await screen.getByText("Release checklist", { exact: true }).first(… | ^ 10| await app.open("/settings/archived"); 11| await screen.getByText("No archived threads", { exact: true }).wait… ❯ at http://127.0.0.1:36975/pair ❯ app 5 errors logged × console error: WebSocket connection to 'ws://127.0.0.1:36975/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:36975/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… × console error: WebSocket connection to 'ws://127.0.0.1:36975/ws?clientSurface=web&clientAppVersion=0.1.8&clientDeviceType=desktop&clientOs=Linux&clientWebDeployment=server&clientBrowser=Chrome&connectionMethod=direct&clientDevice=[redacted credential]&orchestrationProtoc… 2 more app errors logged ❯ trace .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md ❯ video .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:42:24 Duration 46.60s (startup 10.94s) Traces .e2e/prove/head/results/ (1 page, trace.md in each test's directory) Markdown .e2e/prove/head/summary.md Failed × |web| scenarios/archive-live-updates.e2e.ts:9 > An externally archived thread appears in the open Archive LOCATOR_NOT_FOUND: locator did not become visible: getByText("No archived threads") trace .e2e/prove/head/results/archive-live-updates-an-externally-archived-thread-e4a944179733463f/trace.md { "scenario": "An externally archived thread appears in the open Archive", "failsOnBase": false, "passesOnHead": false, "baseSha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "headSha": "2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6", "verdict": "Not proven: the scenario could not run on base `b3fdf2b10f` (LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\")).", "steps": { "base": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "failed" } ], "head": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "failed" } ] }, "captures": [ "[private path]", "[private path]" ], "videos": [ "[private path]", "[private path]" ], "markdown": "### Scenario: An externally archived thread appears in the open Archive\n\n**Not proven: the scenario could not run on base `b3fdf2b10f` (LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\")).**\n\n| | Base `b3fdf2b10f` | Head `2e94c7ea67` |\n| --- | --- | --- |\n| Result | ⚠️ could not run
    LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\") | ⚠️ could not run
    LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\") |\n| failure | ![Base b3fdf2b10f: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/03826d5907042e74/001-failure.png) | ![Head 2e94c7ea67: failure](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/1c5b690b385f9b64/001-failure.png) |\n", "base": { "sha": "b3fdf2b10fb92e5dbc71a83381c602a8a464bbca", "status": "error", "title": "An externally archived thread appears in the open Archive", "message": "LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "failed" } ], "captures": [ "[private path]" ], "videos": [ "[private path]" ] }, "head": { "sha": "2e94c7ea67336fb664ba081e5d9a4ae3ea0b19e6", "status": "error", "title": "An externally archived thread appears in the open Archive", "message": "LOCATOR_NOT_FOUND: locator did not become visible: getByText(\"No archived threads\")", "steps": [ { "step": "app.open ", "status": "passed" }, { "step": "app.open /settings/archived", "status": "passed" }, { "step": "locator.waitFor getByText(\"No archived threads\") → visible", "status": "failed" } ], "captures": [ "[private path]" ], "videos": [ "[private path]" ] } } run.log ~/scripts$ E2E_TELEMETRY_DISABLED=1 e2e run scenarios/archive-reconnect.e2e.ts --target web ⊘ cache disabled RUN e2e v0.23.0 [private path] run 01a1c8bf-8dea-7ae3-a54c-399d541da1bb · targets: web, ios ✓ target "web" command at http://127.0.0.1:35723/.well-known/t3/environment ready 8.28s × |web| scenarios/archive-reconnect.e2e.ts > Reconnect refreshes archives missed while disconnected 38.48s → locator did not become visible: getByText("Reconnect checklist").first() ❯ |web| scenarios/archive-reconnect.e2e.ts (1 test | 1 failed) 38.48s ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL |web| scenarios/archive-reconnect.e2e.ts > Reconnect refreshes archives missed while disconnected LOCATOR_NOT_FOUND: locator did not become visible: getByText("Reconnect checklist").first() ❯ scenarios/archive-reconnect.e2e.ts:24:3 22| }); 23| await t3.open(); 24| await screen.getByText("Reconnect checklist", { exact: true }).firs… | ^ 25| await app.open("/settings/archived"); 26| await screen.getByText("No archived threads", { exact: true }).wait… ❯ at http://127.0.0.1:35723/ ❯ trace .e2e/results/archive-reconnect-reconnect-refreshes-archives-00776c6f1a2fa1b3/trace.md ❯ video .e2e/results/archive-reconnect-reconnect-refreshes-archives-00776c6f1a2fa1b3/attempt-1/video/video.webm ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/1]⎯ Test Files 1 failed | 0 passed (1) Tests 1 failed | 0 passed (1) Start at 03:56:01 Duration 50.42s (startup 8.28s) Traces .e2e/results/ (1 page, trace.md in each test's directory) Markdown .e2e/summary.md Failed × |web| scenarios/archive-reconnect.e2e.ts:24 > Reconnect refreshes archives missed while disconnected LOCATOR_NOT_FOUND: locator did not become visible: getByText("Reconnect checklist").first() trace .e2e/results/archive-reconnect-reconnect-refreshes-archives-00776c6f1a2fa1b3/trace.md