Skip to content

feat(viewer): post/surface vocabulary — engine UI, host contract, helper rename (A5) #398

feat(viewer): post/surface vocabulary — engine UI, host contract, helper rename (A5)

feat(viewer): post/surface vocabulary — engine UI, host contract, helper rename (A5) #398

Triggered via pull request June 25, 2026 18:26
Status Failure
Total duration 3m 20s
Artifacts

ci.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 1 notice
[webkit] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport: e2e/fixtures.ts#L132
5) [webkit] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport ─ Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 Call Log: - Timeout 5000ms exceeded while waiting on the predicate at fixtures.ts:132 130 | 131 | export async function expectNoHorizontalOverflow(page: Page, selector: string) { > 132 | await expect.poll(() => page.locator(selector).count()).toBeGreaterThan(0); | ^ 133 | await expect 134 | .poll(() => 135 | page at expectNoHorizontalOverflow (/home/runner/work/sideshow/sideshow/e2e/fixtures.ts:132:59) at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:131:9
[webkit] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport: e2e/fixtures.ts#L132
5) [webkit] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport ─ Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 Call Log: - Timeout 5000ms exceeded while waiting on the predicate at fixtures.ts:132 130 | 131 | export async function expectNoHorizontalOverflow(page: Page, selector: string) { > 132 | await expect.poll(() => page.locator(selector).count()).toBeGreaterThan(0); | ^ 133 | await expect 134 | .poll(() => 135 | page at expectNoHorizontalOverflow (/home/runner/work/sideshow/sideshow/e2e/fixtures.ts:132:59) at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:131:9
[chromium] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer: e2e/uploads.spec.ts#L205
4) [chromium] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('.card:not(#whatsNew)').locator('.jsonpart') Expected substring: "primitives" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.card:not(#whatsNew)').locator('.jsonpart') 203 | await expectIframesNoHorizontalOverflow(page, card); 204 | await expect(card.locator(".asset-img")).toBeVisible(); > 205 | await expect(card.locator(".jsonpart")).toContainText("primitives"); | ^ 206 | await expect(card.locator(".trace-step")).toHaveCount(1); 207 | await card.locator(".trace-row.clickable").click(); 208 | await expect(card.locator(".trace-detail")).toBeVisible(); at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:205:43
[chromium] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer: e2e/uploads.spec.ts#L205
4) [chromium] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toContainText(expected) failed Locator: locator('.card:not(#whatsNew)').locator('.jsonpart') Expected substring: "primitives" Timeout: 5000ms Error: element(s) not found Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('.card:not(#whatsNew)').locator('.jsonpart') 203 | await expectIframesNoHorizontalOverflow(page, card); 204 | await expect(card.locator(".asset-img")).toBeVisible(); > 205 | await expect(card.locator(".jsonpart")).toContainText("primitives"); | ^ 206 | await expect(card.locator(".trace-step")).toHaveCount(1); 207 | await card.locator(".trace-row.clickable").click(); 208 | await expect(card.locator(".trace-detail")).toBeVisible(); at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:205:43
[chromium] › e2e/viewer.spec.ts:134:1 › a comment's copy button puts an agent-ready paste block on the clipboard: e2e/viewer.spec.ts#L162
3) [chromium] › e2e/viewer.spec.ts:134:1 › a comment's copy button puts an agent-ready paste block on the clipboard Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 1 - sideshow comment on “Doc” (surface bZfAWvxZ6GA): + sideshow comment on “Doc” (post bZfAWvxZ6GA): “tighten the spacing” 160 | await expect(page.locator("#toast")).toContainText("Copied"); 161 | if (browserName === "chromium") { > 162 | expect(await page.evaluate(() => navigator.clipboard.readText())).toBe( | ^ 163 | `sideshow comment on “Doc” (surface ${snippet.id}):\n“tighten the spacing”`, 164 | ); 165 | } at /home/runner/work/sideshow/sideshow/e2e/viewer.spec.ts:162:71
[chromium] › e2e/viewer.spec.ts:134:1 › a comment's copy button puts an agent-ready paste block on the clipboard: e2e/viewer.spec.ts#L162
3) [chromium] › e2e/viewer.spec.ts:134:1 › a comment's copy button puts an agent-ready paste block on the clipboard Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality - Expected - 1 + Received + 1 - sideshow comment on “Doc” (surface Z0thPENBsYo): + sideshow comment on “Doc” (post Z0thPENBsYo): “tighten the spacing” 160 | await expect(page.locator("#toast")).toContainText("Copied"); 161 | if (browserName === "chromium") { > 162 | expect(await page.evaluate(() => navigator.clipboard.readText())).toBe( | ^ 163 | `sideshow comment on “Doc” (surface ${snippet.id}):\n“tighten the spacing”`, 164 | ); 165 | } at /home/runner/work/sideshow/sideshow/e2e/viewer.spec.ts:162:71
[chromium] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint: e2e/viewer.spec.ts#L93
2) [chromium] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint, not a broken diff Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.card:not(#whatsNew)').first().locator('.part-unsupported') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.card:not(#whatsNew)').first().locator('.part-unsupported') 91 | 92 | const card = page.locator(".card:not(#whatsNew)").first(); > 93 | await expect(card.locator(".part-unsupported")).toBeVisible(); | ^ 94 | await expect(card.locator(".diff-error")).toHaveCount(0); 95 | }); 96 | at /home/runner/work/sideshow/sideshow/e2e/viewer.spec.ts:93:51
[chromium] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint: e2e/viewer.spec.ts#L93
2) [chromium] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint, not a broken diff Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.card:not(#whatsNew)').first().locator('.part-unsupported') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.card:not(#whatsNew)').first().locator('.part-unsupported') 91 | 92 | const card = page.locator(".card:not(#whatsNew)").first(); > 93 | await expect(card.locator(".part-unsupported")).toBeVisible(); | ^ 94 | await expect(card.locator(".diff-error")).toHaveCount(0); 95 | }); 96 | at /home/runner/work/sideshow/sideshow/e2e/viewer.spec.ts:93:51
[chromium] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport: e2e/fixtures.ts#L132
1) [chromium] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 Call Log: - Timeout 5000ms exceeded while waiting on the predicate at fixtures.ts:132 130 | 131 | export async function expectNoHorizontalOverflow(page: Page, selector: string) { > 132 | await expect.poll(() => page.locator(selector).count()).toBeGreaterThan(0); | ^ 133 | await expect 134 | .poll(() => 135 | page at expectNoHorizontalOverflow (/home/runner/work/sideshow/sideshow/e2e/fixtures.ts:132:59) at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:131:9
[chromium] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport: e2e/fixtures.ts#L132
1) [chromium] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBeGreaterThan(expected) Expected: > 0 Received: 0 Call Log: - Timeout 5000ms exceeded while waiting on the predicate at fixtures.ts:132 130 | 131 | export async function expectNoHorizontalOverflow(page: Page, selector: string) { > 132 | await expect.poll(() => page.locator(selector).count()).toBeGreaterThan(0); | ^ 133 | await expect 134 | .poll(() => 135 | page at expectNoHorizontalOverflow (/home/runner/work/sideshow/sideshow/e2e/fixtures.ts:132:59) at /home/runner/work/sideshow/sideshow/e2e/uploads.spec.ts:131:9
🎭 Playwright Run Summary
7 failed [chromium] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport [chromium] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer [chromium] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint, not a broken diff [chromium] › e2e/viewer.spec.ts:134:1 › a comment's copy button puts an agent-ready paste block on the clipboard [webkit] › e2e/uploads.spec.ts:91:1 › a trace part stays readable on an iPhone-sized viewport ── [webkit] › e2e/uploads.spec.ts:134:1 › all native surface primitives fit the iPhone 14 Pro viewer [webkit] › e2e/viewer.spec.ts:69:1 › a part kind this viewer doesn't know shows a refresh hint, not a broken diff 123 passed (2.4m)