Skip to content

functional-e2e

functional-e2e #296

Triggered via schedule June 28, 2026 03:12
Status Failure
Total duration 1h 29m 34s
Artifacts 1

ui-extended-main.yml

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

Annotations

10 errors and 1 notice
[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
3) [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
3) [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
3) [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/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active: e2e/ui/app-restoration.test.ts#L3618
2) [chromium] β€Ί ui/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect.toBeVisible: Target page, context or browser has been closed 3616 | await ensureRailOpen(page); 3617 | await page.getByTestId('entry-nav-new-project').click(); > 3618 | await expect(page.getByTestId('new-project-modal')).toBeVisible(); | ^ 3619 | await expect(page.getByTestId('new-project-panel')).toBeVisible(); 3620 | } 3621 | at openNewProjectModal (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3618:55) at createPrototypeProject (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3641:3) at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:357:3
[chromium] β€Ί ui/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active: e2e/ui/app-restoration.test.ts#L0
2) [chromium] β€Ί ui/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 45000ms exceeded.
[chromium] β€Ί ui/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active: e2e/ui/app-restoration.test.ts#L3632
2) [chromium] β€Ί ui/app-restoration.test.ts:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active Error: expect(page).toHaveURL(expected) failed Expected pattern: /\/projects\/75bb9199-36d2-4a5b-8d00-09919b7681bb$/ Received string: "http://127.0.0.1:42355/projects/75bb9199-36d2-4a5b-8d00-09919b7681bb/conversations/0fa1e1fd-2634-415e-9e3a-ba6d7117aa4b/files/mqx81e85-root-design-reference.png" Timeout: 10000ms Call log: - Expect "toHaveURL" with timeout 10000ms 23 Γ— unexpected value "http://127.0.0.1:42355/projects/75bb9199-36d2-4a5b-8d00-09919b7681bb/conversations/0fa1e1fd-2634-415e-9e3a-ba6d7117aa4b/files/mqx81e85-root-design-reference.png" 3630 | window.dispatchEvent(new PopStateEvent('popstate')); 3631 | }, path); > 3632 | await expect(page).toHaveURL(new RegExp(`${escapeRegExp(path)}$`)); | ^ 3633 | } 3634 | 3635 | async function reloadCurrentRoute(page: Page) { at navigateProjectRouteInApp (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3632:22) at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:389: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#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.
🎭 Playwright Run Summary
79 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:338:1 β€Ί [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active [chromium] β€Ί ui/app-restoration.test.ts:2983:1 β€Ί [P1] project composer working directory replace and clear update linked dirs metadata [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/app.test.ts:96:3 β€Ί [P1] deck-pagination-per-file-isolated: Each HTML deck tab preserves its own pagination state [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-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:613:1 β€Ί [P1] home starters can jump into plugin creation through the registry browse flow [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: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 expands and collapses from the shell controls [chromium] β€Ί ui/home-hero-rail.test.ts:454:1 β€Ί [P1] h

Artifacts

Produced during runtime
Name Size Digest
ui-full-28309746483 Expired
232 MB
sha256:020a087cd4b2b95c8c5eb8dec6bfc071d4a9cb7b608db1d1edfc547e0a1d6d20