browser suite: mesh.spec.ts fails on dev #462

Open
opened 2026-11-09 09:44:26 +00:00 by kayg · 0 comments
Owner

Nightly browser suite on dev (D373, #443).

Spec: mesh.spec.ts
Source: c751e99309764e30958eb665708e2553c31043c4
Evidence: /home/claude/j406-ev/runs/20261109T061806Z-c751e99/evidence on infraternal-dev-02-std (the newest seven nights are kept)
Full log: /home/claude/j406-ev/runs/20261109T061806Z-c751e99/suite.log

when the server refuses or the connection drops, the arrow goes back and one toast says why

Error: expect(locator).toContainText(expected) failed

Locator: locator('.ui-toast, .toast').first()
Expected substring: "Could not change who nix-cache can reach. You may not be allowed to"
Timeout: 5000ms
Error: element(s) not found

Call log:
  - Expect "toContainText" locator('.ui-toast, .toast').first() with timeout 5000ms
  - waiting for locator('.ui-toast, .toast').first()
    - locator resolved to <aside role="group" data-tone="ok" data-icon="false" data-open="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside>
    11 × unexpected value "nix-cache can now reach edge-arm"
       - locator resolved to <aside role="group" data-tone="ok" data-open="true" data-icon="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside>
    - unexpected value "nix-cache can now reach edge-arm"
    - locator resolved to <aside role="group" data-tone="ok" data-icon="false" data-open="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside>
    - unexpected value "nix-cache can now reach edge-arm"


  366 |     await dragEnd(page, "g3", "head", "edge-arm");
  367 |     await page.locator(".ui-confirm-yes").click();
> 368 |     await expect(page.locator(".ui-toast, .toast").first()).toContainText("Could not change who nix-cache can reach. You may not be allowed to");
      |                                                             ^
  369 |     await expect.poll(async () => (await grant("g3"))?.to).toBe("studio-mac");
  370 |     await expect(page.locator('.cl-arrow[data-grant="g3"]')).toHaveAttribute("data-tip", "nix-cache can reach studio-mac");
  371 |     await page.waitForTimeout(3600);
    at /home/claude/worktrees/j406/apps/tracer/test/mesh.spec.ts:368:61

Log tail for this spec:

  ✓   702 test/mesh.spec.ts:684:1 › a Mesh card can be moved and pinned by touch on a phone (8.8s)
  ✓   703 test/mesh.spec.ts:722:1 › drag bounds: a remote negative pin during a drag keeps the moved card under the pointer (7.6s)
  ✓   704 test/mesh.spec.ts:775:1 › dragging a node left in a 1,000-host mesh stays within the shared pin limit (8.7s)
  ✓   705 test/mesh.spec.ts:797:1 › removing and adding a node during its drag does not persist a pin for the removed node (8.0s)
  ✓   706 test/mesh.spec.ts:821:1 › a remote remove and re-add that rebinds the dragged card follows its new NodeModel (7.4s)
  ✓   707 test/mesh.spec.ts:860:1 › a Mesh drag stays under the pointer when zoom changes before its next move (7.4s)
  ✓   708 test/mesh.spec.ts:902:1 › a Mesh click without movement writes no pin and skips the post-drag fit (7.4s)
  ✓   709 test/mesh.spec.ts:920:1 › pointer cancellation finishes the active Mesh drag and releases the card (6.9s)
  ✓   710 test/mesh.spec.ts:935:1 › a second pointer cannot replace the Mesh card's active pointer (7.0s)
  ✓   711 test/mesh.spec.ts:950:1 › a card dropped mid-drag does not leave a drag behind that moves a later host on hover (7.3s)
  ✓   712 test/mesh.spec.ts:982:1 › a second finger that taps the card mid-drag does not lose the first finger's move (7.1s)
  ✓   713 test/mesh.spec.ts:1019:1 › a node that leaves the mesh and rejoins keeps its pin in the canvas document and its place (8.9s)
  ✓   714 test/mesh.spec.ts:1034:1 › a snapshot with no nodes after a reconnect does not wipe the pins (10.3s)
  ✓   715 test/mesh.spec.ts:1051:1 › a snapshot without view access, then access again, keeps the pins (9.7s)
  ✓   716 test/mesh.spec.ts:1063:1 › touch moves report buttons 1, and a touch drag survives them (Chromium) (8.6s)
  ✓   717 test/mesh.spec.ts:1096:1 › a pen stroke keeps buttons 1 while it draws, and its drag is not cut short (Chromium) (7.8s)
  ✓   718 test/mesh.spec.ts:1116:1 › a card detached and re-pooled for the same node id does not resume the old drag (7.7s)
  ✓   719 test/mesh.spec.ts:1147:1 › a graph drag outside the Mesh view saves its pin without writing to the Mesh source (6.9s)
  ✓   720 test/mesh.spec.ts:1173:3 › states › loading, then ready; unreachable with a retry that works; empty; and stale data when the connection drops (21.9s)
  ✓   721 test/mesh.spec.ts:1211:3 › states › the error card keeps the empty card's rhythm: the gap from text to action matches (13.9s)
  ✓   722 test/mesh.spec.ts:1226:3 › states › every glass surface of the Mesh view blurs what is behind it by about a line of text (7.6s)
  ✓   723 test/mesh.spec.ts:1244:5 › captures ink 1440x900: the mesh as cards, and a large mesh as frames and as cards (47.0s)
  ✓   724 test/mesh.spec.ts:1244:5 › captures ink 393x852: the mesh as cards, and a large mesh as frames and as cards (46.8s)
  ✓   725 test/mesh.spec.ts:1244:5 › captures paper 1440x900: the mesh as cards, and a large mesh as frames and as cards (47.2s)
  ✓   726 test/mesh.spec.ts:1244:5 › captures paper 393x852: the mesh as cards, and a large mesh as frames and as cards (46.7s)
  ✓   727 test/mesh.spec.ts:1284:1 › Mesh recovery retains one watch across repeated refresh failures (7.0s)
  ✓   728 test/mesh.spec.ts:1299:1 › a pushed Mesh recovery cancels pending retry work (9.4s)
  34) test/mesh.spec.ts:360:3 › editing arrows › when the server refuses or the connection drops, the arrow goes back and one toast says why 
        at /home/claude/worktrees/j406/apps/tracer/test/mesh.spec.ts:368:61
    test/mesh.spec.ts:360:3 › editing arrows › when the server refuses or the connection drops, the arrow goes back and one toast says why 

Rerun with cd apps/tracer && bun x playwright test test/mesh.spec.ts.

Nightly browser suite on dev (D373, #443). Spec: `mesh.spec.ts` Source: `c751e99309764e30958eb665708e2553c31043c4` Evidence: `/home/claude/j406-ev/runs/20261109T061806Z-c751e99/evidence` on infraternal-dev-02-std (the newest seven nights are kept) Full log: `/home/claude/j406-ev/runs/20261109T061806Z-c751e99/suite.log` ### when the server refuses or the connection drops, the arrow goes back and one toast says why ``` Error: expect(locator).toContainText(expected) failed Locator: locator('.ui-toast, .toast').first() Expected substring: "Could not change who nix-cache can reach. You may not be allowed to" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toContainText" locator('.ui-toast, .toast').first() with timeout 5000ms - waiting for locator('.ui-toast, .toast').first() - locator resolved to <aside role="group" data-tone="ok" data-icon="false" data-open="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside> 11 × unexpected value "nix-cache can now reach edge-arm" - locator resolved to <aside role="group" data-tone="ok" data-open="true" data-icon="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside> - unexpected value "nix-cache can now reach edge-arm" - locator resolved to <aside role="group" data-tone="ok" data-icon="false" data-open="false" data-front="false" data-hidden="false" data-choices="false" data-stacked="false" aria-label="Notification" class="ui-toast ui-overlay-surface">…</aside> - unexpected value "nix-cache can now reach edge-arm" 366 | await dragEnd(page, "g3", "head", "edge-arm"); 367 | await page.locator(".ui-confirm-yes").click(); > 368 | await expect(page.locator(".ui-toast, .toast").first()).toContainText("Could not change who nix-cache can reach. You may not be allowed to"); | ^ 369 | await expect.poll(async () => (await grant("g3"))?.to).toBe("studio-mac"); 370 | await expect(page.locator('.cl-arrow[data-grant="g3"]')).toHaveAttribute("data-tip", "nix-cache can reach studio-mac"); 371 | await page.waitForTimeout(3600); at /home/claude/worktrees/j406/apps/tracer/test/mesh.spec.ts:368:61 ``` Log tail for this spec: ``` ✓ 702 test/mesh.spec.ts:684:1 › a Mesh card can be moved and pinned by touch on a phone (8.8s) ✓ 703 test/mesh.spec.ts:722:1 › drag bounds: a remote negative pin during a drag keeps the moved card under the pointer (7.6s) ✓ 704 test/mesh.spec.ts:775:1 › dragging a node left in a 1,000-host mesh stays within the shared pin limit (8.7s) ✓ 705 test/mesh.spec.ts:797:1 › removing and adding a node during its drag does not persist a pin for the removed node (8.0s) ✓ 706 test/mesh.spec.ts:821:1 › a remote remove and re-add that rebinds the dragged card follows its new NodeModel (7.4s) ✓ 707 test/mesh.spec.ts:860:1 › a Mesh drag stays under the pointer when zoom changes before its next move (7.4s) ✓ 708 test/mesh.spec.ts:902:1 › a Mesh click without movement writes no pin and skips the post-drag fit (7.4s) ✓ 709 test/mesh.spec.ts:920:1 › pointer cancellation finishes the active Mesh drag and releases the card (6.9s) ✓ 710 test/mesh.spec.ts:935:1 › a second pointer cannot replace the Mesh card's active pointer (7.0s) ✓ 711 test/mesh.spec.ts:950:1 › a card dropped mid-drag does not leave a drag behind that moves a later host on hover (7.3s) ✓ 712 test/mesh.spec.ts:982:1 › a second finger that taps the card mid-drag does not lose the first finger's move (7.1s) ✓ 713 test/mesh.spec.ts:1019:1 › a node that leaves the mesh and rejoins keeps its pin in the canvas document and its place (8.9s) ✓ 714 test/mesh.spec.ts:1034:1 › a snapshot with no nodes after a reconnect does not wipe the pins (10.3s) ✓ 715 test/mesh.spec.ts:1051:1 › a snapshot without view access, then access again, keeps the pins (9.7s) ✓ 716 test/mesh.spec.ts:1063:1 › touch moves report buttons 1, and a touch drag survives them (Chromium) (8.6s) ✓ 717 test/mesh.spec.ts:1096:1 › a pen stroke keeps buttons 1 while it draws, and its drag is not cut short (Chromium) (7.8s) ✓ 718 test/mesh.spec.ts:1116:1 › a card detached and re-pooled for the same node id does not resume the old drag (7.7s) ✓ 719 test/mesh.spec.ts:1147:1 › a graph drag outside the Mesh view saves its pin without writing to the Mesh source (6.9s) ✓ 720 test/mesh.spec.ts:1173:3 › states › loading, then ready; unreachable with a retry that works; empty; and stale data when the connection drops (21.9s) ✓ 721 test/mesh.spec.ts:1211:3 › states › the error card keeps the empty card's rhythm: the gap from text to action matches (13.9s) ✓ 722 test/mesh.spec.ts:1226:3 › states › every glass surface of the Mesh view blurs what is behind it by about a line of text (7.6s) ✓ 723 test/mesh.spec.ts:1244:5 › captures ink 1440x900: the mesh as cards, and a large mesh as frames and as cards (47.0s) ✓ 724 test/mesh.spec.ts:1244:5 › captures ink 393x852: the mesh as cards, and a large mesh as frames and as cards (46.8s) ✓ 725 test/mesh.spec.ts:1244:5 › captures paper 1440x900: the mesh as cards, and a large mesh as frames and as cards (47.2s) ✓ 726 test/mesh.spec.ts:1244:5 › captures paper 393x852: the mesh as cards, and a large mesh as frames and as cards (46.7s) ✓ 727 test/mesh.spec.ts:1284:1 › Mesh recovery retains one watch across repeated refresh failures (7.0s) ✓ 728 test/mesh.spec.ts:1299:1 › a pushed Mesh recovery cancels pending retry work (9.4s) 34) test/mesh.spec.ts:360:3 › editing arrows › when the server refuses or the connection drops, the arrow goes back and one toast says why at /home/claude/worktrees/j406/apps/tracer/test/mesh.spec.ts:368:61 test/mesh.spec.ts:360:3 › editing arrows › when the server refuses or the connection drops, the arrow goes back and one toast says why ``` Rerun with `cd apps/tracer && bun x playwright test test/mesh.spec.ts`. <!-- infraternal-browser-spec: mesh.spec.ts --> <!-- infraternal-browser-state: failing -->
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal#462
No description provided.