Skip to content

functional-e2e

functional-e2e #295

Triggered via schedule June 27, 2026 03:10
Status Failure
Total duration 1h 33m 59s
Artifacts 1

ui-extended-main.yml

on: schedule
Full UI regression
1h 33m
Full UI regression
Matrix: ui_extended
Matrix: ui_p0
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 1 warning, and 1 notice
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] generation-does-not-create-extra-file: Generated artifacts stay stable when no new prompt is sent: e2e/ui/app.test.ts#L1466
3) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] generation-does-not-create-extra-file: Generated artifacts stay stable when no new prompt is sent Error: expect(locator).toBeVisible() failed Locator: getByRole('tab', { name: /stable-artifact\.html(?:\s+Close tab)?$/i }) Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByRole('tab', { name: /stable-artifact\.html(?:\s+Close tab)?$/i }) 1464 | ) { 1465 | const artifact = entry.mockArtifact!; > 1466 | await expect(tabBySuffix(page, artifact.fileName)).toBeVisible(); | ^ 1467 | if ((await artifactPreview(page).count()) === 0) { 1468 | const turnCard = page.locator('.msg.assistant').filter({ hasText: artifact.fileName }).last(); 1469 | if ((await turnCard.count()) > 0) { at expectArtifactVisible (/home/runner/work/open-design/open-design/e2e/ui/app.test.ts:1466:54) at runGenerationDoesNotCreateExtraFileFlow (/home/runner/work/open-design/open-design/e2e/ui/app.test.ts:1086:9) at /home/runner/work/open-design/open-design/e2e/ui/app.test.ts:373:7
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] generation-does-not-create-extra-file: Generated artifacts stay stable when no new prompt is sent: e2e/ui/app.test.ts#L0
3) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] generation-does-not-create-extra-file: Generated artifacts stay stable when no new prompt is sent Test timeout of 45000ms exceeded.
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state: e2e/ui/app.test.ts#L1274
2) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByTestId('home-hero') Expected: visible Received: undefined Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByTestId('home-hero') 1272 | await expect(privacyDialog).toHaveCount(0); 1273 | } > 1274 | await expect(page.getByTestId('home-hero')).toBeVisible(); | ^ 1275 | await expect(page.getByTestId('home-hero-input')).toBeVisible(); 1276 | } 1277 | at gotoEntryHome (/home/runner/work/open-design/open-design/e2e/ui/app.test.ts:1274:47) at /home/runner/work/open-design/open-design/e2e/ui/app.test.ts:315:5
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state: e2e/ui/app.test.ts#L0
2) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 45000ms exceeded.
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state: e2e/ui/app.test.ts#L1058
2) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state Error: locator.click: Test timeout of 45000ms exceeded. Call log: - waiting for locator('.question-form').first().getByRole('button', { name: 'Send answers' }) 1056 | await toneQuestion.locator('label.qf-chip', { has: page.getByText('Modern minimal') }).click(); 1057 | > 1058 | await form.getByRole('button', { name: 'Send answers' }).click(); | ^ 1059 | 1060 | await expect(page.getByText('[form answers β€” discovery]', { exact: false })).toBeVisible(); 1061 | await expect(form.getByText('answered', { exact: true })).toBeVisible(); at runQuestionFormSubmitPersistenceFlow (/home/runner/work/open-design/open-design/e2e/ui/app.test.ts:1058:60) at /home/runner/work/open-design/open-design/e2e/ui/app.test.ts:369:7
[chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state: e2e/ui/app.test.ts#L0
2) [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state Test timeout of 45000ms exceeded.
[chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out: e2e/ui/amr-login-pill.test.ts#L25
1) [chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveCount(expected) failed Locator: getByText('Loading Open Design…') Expected: 0 Received: 1 Call log: - Expect "toHaveCount" with timeout 15000ms - waiting for getByText('Loading Open Design…') 7 Γ— locator resolved to 1 element - unexpected value "1" 23 | 24 | async function waitForLoadingToClear(page: Page) { > 25 | await expect(page.getByText('Loading Open Design…')).toHaveCount(0, { timeout: 15_000 }); | ^ 26 | } 27 | 28 | async function gotoEntryHome(page: Page) { at waitForLoadingToClear (/home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:25:56) at gotoEntryHome (/home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:30:9) at /home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:139:3
[chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out: e2e/ui/amr-login-pill.test.ts#L0
1) [chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out: e2e/ui/amr-login-pill.test.ts#L25
1) [chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out Error: expect(locator).toHaveCount(expected) failed Locator: getByText('Loading Open Design…') Expected: 0 Received: 1 Call log: - Expect "toHaveCount" with timeout 15000ms - waiting for getByText('Loading Open Design…') 9 Γ— locator resolved to 1 element - unexpected value "1" 23 | 24 | async function waitForLoadingToClear(page: Page) { > 25 | await expect(page.getByText('Loading Open Design…')).toHaveCount(0, { timeout: 15_000 }); | ^ 26 | } 27 | 28 | async function gotoEntryHome(page: Page) { at waitForLoadingToClear (/home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:25:56) at gotoEntryHome (/home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:30:9) at /home/runner/work/open-design/open-design/e2e/ui/amr-login-pill.test.ts:139:3
[chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out: e2e/ui/amr-login-pill.test.ts#L0
1) [chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out Test timeout of 30000ms exceeded.
Slow Test: e2e/[chromium] β€Ί ui/real-daemon-run.test.ts#L0
e2e/[chromium] β€Ί ui/real-daemon-run.test.ts took 5.1m
🎭 Playwright Run Summary
90 failed [chromium] β€Ί ui/amr-login-pill.test.ts:128:1 β€Ί [P1] AMR card authorizes through daemon login status and returns to authorize on Sign out [chromium] β€Ί ui/app-restoration.test.ts:2983:1 β€Ί [P1] project composer working directory replace and clear update linked dirs metadata [chromium] β€Ί ui/app-restoration.test.ts:3028:1 β€Ί [P1] project composer working directory rejects stale folder without promoting it to recents [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] question-form-submit-persistence: Question form answers persist into chat history and reload in a locked state [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] generation-does-not-create-extra-file: Generated artifacts stay stable when no new prompt is sent [chromium] β€Ί ui/app.test.ts:96:3 β€Ί [P1] deck-pagination-next-prev-correctness: Deck preview previous and next controls move in the correct direction [chromium] β€Ί ui/chat-design-system-switch.test.ts:83:1 β€Ί [P1] chat composer switches the project design system mid-chat [chromium] β€Ί ui/chat-todo-autoscroll.test.ts:257:3 β€Ί chat pane autoscroll on TodoCard growth β€Ί [P2] scenario A: pinned user stays at bottom after PinnedTodoCard grows [chromium] β€Ί ui/chat-todo-autoscroll.test.ts:321:3 β€Ί chat pane autoscroll on TodoCard growth β€Ί [P2] scenario B: user scroll-up is preserved when PinnedTodoCard grows [chromium] β€Ί ui/composer-footer-card.test.ts:72:1 β€Ί [P1] composer footer sits inset inside the card with no toolbar divider [chromium] β€Ί ui/composer-toolbar-alignment.test.ts:74:1 β€Ί [P1] composer footer controls share one height and baseline [chromium] β€Ί ui/critical-smoke.test.ts:13:1 β€Ί [P0] @critical home loads with the primary entry controls [chromium] β€Ί ui/critical-smoke.test.ts:26:1 β€Ί [P0] @critical settings dialog is reachable from home [chromium] β€Ί ui/critical-smoke.test.ts:38:1 β€Ί [P0] @critical prototype project creation reaches the workspace shell [chromium] β€Ί ui/critique-theater.test.ts:204:3 β€Ί Critique Theater e2e (Phase 11) β€Ί [P2] mounts the live stage with five panelist lanes mid-run [chromium] β€Ί ui/critique-theater.test.ts:219:3 β€Ί Critique Theater e2e (Phase 11) β€Ί [P2] renders the shipped badge after the run terminates [chromium] β€Ί ui/critique-theater.test.ts:233:3 β€Ί Critique Theater e2e (Phase 11) β€Ί [P2] Esc mid-run transitions to interrupted with the best-composite summary [chromium] β€Ί ui/critique-theater.test.ts:248:3 β€Ί Critique Theater e2e (Phase 11) β€Ί [P2] Theater states expose a valid role tree (region + 5 panelist groups) [chromium] β€Ί ui/design-systems-manager.test.ts:219:1 β€Ί [P1] publishing a user design system promotes it to the default system in the manager [chromium] β€Ί ui/design-systems-manager.test.ts:263:1 β€Ί [P1] filters user design systems by draft and published status in the manager [chromium] β€Ί ui/design-systems-manager.test.ts:307:1 β€Ί [P1] deleting the active design system falls back to another user system [chromium] β€Ί ui/entry-chrome-flows.test.ts:224:1 β€Ί [P1] design systems page is reachable from entry nav and supports search, preview, and default selection [chromium] β€Ί ui/entry-chrome-flows.test.ts:578:1 β€Ί [P2] home starters search and facet filters narrow the visible gallery [chromium] β€Ί ui/entry-topbar.test.ts:98:1 β€Ί [P2] home topbar shows the new entry chips and links [chromium] β€Ί ui/entry-topbar.test.ts:141:1 β€Ί [P2] home topbar star and discord badges expose the current external-link contract [chromium] β€Ί ui/entry-topbar.test.ts:155:1 β€Ί [P2] home topbar Use everywhere navigates to Integrations with the tab selected [chromium] β€Ί ui/entry-topbar.test.ts:166:1 β€Ί [P1] home topbar settings button opens settings and closes the execution popover [chromium] β€Ί ui/entry-topbar.test.ts:180:1 β€Ί [P2] returning from another entry view via the home nav reaches the home hero [chromium] β€Ί ui/home-hero-rail.test.ts:386:1 β€Ί [P1] home left rail e

Artifacts

Produced during runtime
Name Size Digest
ui-full-28276858476 Expired
117 MB
sha256:d284c5463e83b635adcd2ebfe55f14f78d99fd63eb9d6a4ac178fa3b4bbef969