test(updater): join the installer-reinstall floor across release and client #16682
ci.yml
on: pull_request
Resolve runner profiles
18s
Matrix: playwright_critical
Matrix: playwright_visual
Matrix: ui_p0
Preflight
3m 52s
Workspace unit tests
1m 6s
Windows tools-pack payload tests
Web workspace tests
E2E Vitest
Runtime summary
4s
Annotations
21 errors and 2 notices
|
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-delete: Design Files panel deletes an uploaded file and clears its tab:
e2e/ui/app-design-files.test.ts#L487
6) [chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-delete: Design Files panel deletes an uploaded file and clears its tab
Error: expect(locator).toBeVisible() failed
Locator: getByRole('tab', { name: /keep-me\.png/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('tab', { name: /keep-me\.png/i })
485 | buffer: pngBytes,
486 | });
> 487 | await expect(page.getByRole('tab', { name: /keep-me\.png/i })).toBeVisible();
| ^
488 |
489 | await page.getByTestId('design-files-upload-input').setInputFiles({
490 | name: 'trash-me.png',
at runDesignFilesDeleteFlow (/home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:487:66)
at /home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:96:7
|
|
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-tab-persistence: Open file tabs survive refresh with the correct active tab:
e2e/ui/app-design-files.test.ts#L919
5) [chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-tab-persistence: Open file tabs survive refresh with the correct active tab
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: getByRole('tab', { name: /second-tab\.png/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('tab', { name: /second-tab\.png/i })
917 | const secondTab = page.getByRole('tab', { name: /second-tab\.png/i });
918 | await expect(firstTab).toBeVisible();
> 919 | await expect(secondTab).toBeVisible();
| ^
920 |
921 | await firstTab.click();
922 | await expect(firstTab).toHaveAttribute('aria-selected', 'true');
at runDesignFilesTabPersistenceFlow (/home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:919:27)
at /home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:100:7
|
|
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-tab-persistence: Open file tabs survive refresh with the correct active tab:
e2e/ui/app-design-files.test.ts#L909
5) [chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-tab-persistence: Open file tabs survive refresh with the correct active tab
Error: expect(locator).toBeVisible() failed
Locator: getByRole('tab', { name: /first-tab\.png/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('tab', { name: /first-tab\.png/i })
907 | buffer: pngBytes,
908 | });
> 909 | await expect(page.getByRole('tab', { name: /first-tab\.png/i })).toBeVisible();
| ^
910 |
911 | await page.getByTestId('design-files-upload-input').setInputFiles({
912 | name: 'second-tab.png',
at runDesignFilesTabPersistenceFlow (/home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:909:68)
at /home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:100:7
|
|
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-upload: Design Files panel uploads an image and opens it in the workspace:
e2e/ui/app-design-files.test.ts#L450
4) [chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-upload: Design Files panel uploads an image and opens it in the workspace
Error: expect(locator).toBeVisible() failed
Locator: getByRole('tab', { name: /moodboard\.png/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('tab', { name: /moodboard\.png/i })
448 | });
449 |
> 450 | await expect(page.getByRole('tab', { name: /moodboard\.png/i })).toBeVisible();
| ^
451 | await openAllProjectFiles(page);
452 | // #5517 deleted the preview pane that used to spell out kind / size /
453 | // download for the picked file. The panel's category tab bar is what states
at runDesignFilesUploadFlow (/home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:450:68)
at /home/runner/work/open-design/open-design/e2e/ui/app-design-files.test.ts:92:7
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:584:1 βΊ [P0] @critical onboarding BYOK path can fetch models:
e2e/ui/amr-onboarding.test.ts#L619
3) [chromium] βΊ ui/amr-onboarding.test.ts:584:1 βΊ [P0] @critical onboarding BYOK path can fetch models, test the provider, and complete setup
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: getByText('BYOK')
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('BYOK')
617 |
618 | await page.getByRole('button', { name: /Bring your own key/i }).click();
> 619 | await expect(page.getByText('BYOK')).toBeVisible();
| ^
620 | const byokPanel = page.locator('.onboarding-view__setup-panel').filter({ hasText: /BYOK/ });
621 |
622 | await fillInlineField(page, 'API key', 'test-api-key');
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:619:40
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:584:1 βΊ [P0] @critical onboarding BYOK path can fetch models:
e2e/ui/amr-onboarding.test.ts#L619
3) [chromium] βΊ ui/amr-onboarding.test.ts:584:1 βΊ [P0] @critical onboarding BYOK path can fetch models, test the provider, and complete setup
Error: expect(locator).toBeVisible() failed
Locator: getByText('BYOK')
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByText('BYOK')
617 |
618 | await page.getByRole('button', { name: /Bring your own key/i }).click();
> 619 | await expect(page.getByText('BYOK')).toBeVisible();
| ^
620 | const byokPanel = page.locator('.onboarding-view__setup-panel').filter({ hasText: /BYOK/ });
621 |
622 | await fillInlineField(page, 'API key', 'test-api-key');
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:619:40
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:299:1 βΊ [P0] @critical onboarding signed-in AMR path finishes setup with the AMR runtime:
e2e/ui/amr-onboarding.test.ts#L1123
2) [chromium] βΊ ui/amr-onboarding.test.ts:299:1 βΊ [P0] @critical onboarding signed-in AMR path finishes setup with the AMR runtime
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /What will you design with your agent today/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /What will you design with your agent today/i })
1121 | await expect(page).not.toHaveURL(/\/onboarding$/);
1122 | await dismissPrivacyDialog(page);
> 1123 | await expect(page.getByRole('heading', { name: /What will you design with your agent today/i })).toBeVisible();
| ^
1124 | }
1125 |
1126 | async function expectFinalDesignSystemStep(page: Page) {
at expectOnboardingFinished (/home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:1123:100)
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:314:3
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:299:1 βΊ [P0] @critical onboarding signed-in AMR path finishes setup with the AMR runtime:
e2e/ui/amr-onboarding.test.ts#L1123
2) [chromium] βΊ ui/amr-onboarding.test.ts:299:1 βΊ [P0] @critical onboarding signed-in AMR path finishes setup with the AMR runtime
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /What will you design with your agent today/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /What will you design with your agent today/i })
1121 | await expect(page).not.toHaveURL(/\/onboarding$/);
1122 | await dismissPrivacyDialog(page);
> 1123 | await expect(page.getByRole('heading', { name: /What will you design with your agent today/i })).toBeVisible();
| ^
1124 | }
1125 |
1126 | async function expectFinalDesignSystemStep(page: Page) {
at expectOnboardingFinished (/home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:1123:100)
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:314:3
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:38:1 βΊ [P0] @critical onboarding lets AMR Cloud sign in and complete setup after the login poll succeeds:
e2e/ui/amr-onboarding.test.ts#L1123
1) [chromium] βΊ ui/amr-onboarding.test.ts:38:1 βΊ [P0] @critical onboarding lets AMR Cloud sign in and complete setup after the login poll succeeds
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /What will you design with your agent today/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /What will you design with your agent today/i })
1121 | await expect(page).not.toHaveURL(/\/onboarding$/);
1122 | await dismissPrivacyDialog(page);
> 1123 | await expect(page.getByRole('heading', { name: /What will you design with your agent today/i })).toBeVisible();
| ^
1124 | }
1125 |
1126 | async function expectFinalDesignSystemStep(page: Page) {
at expectOnboardingFinished (/home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:1123:100)
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:65:3
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:38:1 βΊ [P0] @critical onboarding lets AMR Cloud sign in and complete setup after the login poll succeeds:
e2e/ui/amr-onboarding.test.ts#L1123
1) [chromium] βΊ ui/amr-onboarding.test.ts:38:1 βΊ [P0] @critical onboarding lets AMR Cloud sign in and complete setup after the login poll succeeds
Error: expect(locator).toBeVisible() failed
Locator: getByRole('heading', { name: /What will you design with your agent today/i })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for getByRole('heading', { name: /What will you design with your agent today/i })
1121 | await expect(page).not.toHaveURL(/\/onboarding$/);
1122 | await dismissPrivacyDialog(page);
> 1123 | await expect(page.getByRole('heading', { name: /What will you design with your agent today/i })).toBeVisible();
| ^
1124 | }
1125 |
1126 | async function expectFinalDesignSystemStep(page: Page) {
at expectOnboardingFinished (/home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:1123:100)
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:65:3
|
|
[chromium] βΊ ui/entry-chrome-flows.test.ts:2222:1 βΊ [P0] @critical clearing the home working directory removes linked dirs from project creation:
e2e/ui/entry-chrome-flows.test.ts#L2252
5) [chromium] βΊ ui/entry-chrome-flows.test.ts:2222:1 βΊ [P0] @critical clearing the home working directory removes linked dirs from project creation
Error: expect(locator).toContainText(expected) failed
Locator: getByTestId('working-dir-trigger')
Expected substring: "Select working directory"
Received string: "Working directory"
Timeout: 10000ms
Call log:
- Expect "toContainText" with timeout 10000ms
- waiting for getByTestId('working-dir-trigger')
21 Γ locator resolved to <button type="button" aria-expanded="false" data-testid="working-dir-trigger" class="WorkingDirPicker_trigger__9ua3U" title="Let the agent read this local folder (not imported into Design Files)">β¦</button>
- unexpected value "Working directory"
2250 | await page.getByTestId('working-dir-trigger').click();
2251 | await page.getByTestId('working-dir-clear').click();
> 2252 | await expect(page.getByTestId('working-dir-trigger')).toContainText('Select working directory');
| ^
2253 |
2254 | await page.getByTestId('home-hero-input').fill('Create a premium dashboard without local folder context.');
2255 |
at /home/runner/work/open-design/open-design/e2e/ui/entry-chrome-flows.test.ts:2252:57
|
|
[chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request:
e2e/ui/project-management-flows.test.ts#L558
4) [chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: locator.click: Test timeout of 45000ms exceeded.
Call log:
- waiting for getByTestId('project-ds-picker-trigger')
556 |
557 | const trigger = page.getByTestId('project-ds-picker-trigger');
> 558 | await trigger.click();
| ^
559 | await page.getByTestId('project-ds-picker-search').fill('editorial');
560 | const editorialOption = page.getByRole('option', { name: /^Editorial Noir$/ });
561 | await expect(editorialOption).toBeVisible();
at /home/runner/work/open-design/open-design/e2e/ui/project-management-flows.test.ts:558:17
|
|
[chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request:
e2e/ui/project-management-flows.test.ts#L0
4) [chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Test timeout of 45000ms exceeded.
|
|
[chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request:
e2e/ui/project-management-flows.test.ts#L558
4) [chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request
Error: locator.click: Test timeout of 45000ms exceeded.
Call log:
- waiting for getByTestId('project-ds-picker-trigger')
556 |
557 | const trigger = page.getByTestId('project-ds-picker-trigger');
> 558 | await trigger.click();
| ^
559 | await page.getByTestId('project-ds-picker-search').fill('editorial');
560 | const editorialOption = page.getByRole('option', { name: /^Editorial Noir$/ });
561 | await expect(editorialOption).toBeVisible();
at /home/runner/work/open-design/open-design/e2e/ui/project-management-flows.test.ts:558:17
|
|
[chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request:
e2e/ui/project-management-flows.test.ts#L0
4) [chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request
Test timeout of 45000ms exceeded.
|
|
[chromium] βΊ ui/entry-chrome-flows.test.ts:2147:1 βΊ [P0] @critical home composer routes free-form prompts through the design router by default:
e2e/ui/entry-chrome-flows.test.ts#L2150
3) [chromium] βΊ ui/entry-chrome-flows.test.ts:2147:1 βΊ [P0] @critical home composer routes free-form prompts through the design router by default
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toHaveAttribute(expected) failed
Locator: getByTestId('composer-mode-trigger')
Expected: "Choose a mode"
Received: "Mode: Design"
Timeout: 10000ms
Call log:
- Expect "toHaveAttribute" with timeout 10000ms
- waiting for getByTestId('composer-mode-trigger')
20 Γ locator resolved to <button type="button" title="Design" aria-haspopup="menu" aria-expanded="false" aria-label="Mode: Design" data-testid="composer-mode-trigger" class="composer-mode__trigger is-selected">β¦</button>
- unexpected value "Mode: Design"
2148 | await gotoEntryHome(page);
2149 |
> 2150 | await expect(page.getByTestId('composer-mode-trigger')).toHaveAttribute('aria-label', 'Choose a mode');
| ^
2151 |
2152 | const input = page.getByTestId('home-hero-input');
2153 | const prompt =
at /home/runner/work/open-design/open-design/e2e/ui/entry-chrome-flows.test.ts:2150:59
|
|
[chromium] βΊ ui/entry-chrome-flows.test.ts:2147:1 βΊ [P0] @critical home composer routes free-form prompts through the design router by default:
e2e/ui/entry-chrome-flows.test.ts#L2150
3) [chromium] βΊ ui/entry-chrome-flows.test.ts:2147:1 βΊ [P0] @critical home composer routes free-form prompts through the design router by default
Error: expect(locator).toHaveAttribute(expected) failed
Locator: getByTestId('composer-mode-trigger')
Expected: "Choose a mode"
Received: "Mode: Design"
Timeout: 10000ms
Call log:
- Expect "toHaveAttribute" with timeout 10000ms
- waiting for getByTestId('composer-mode-trigger')
15 Γ locator resolved to <button type="button" title="Design" aria-haspopup="menu" aria-expanded="false" aria-label="Mode: Design" data-testid="composer-mode-trigger" class="composer-mode__trigger is-selected">β¦</button>
- unexpected value "Mode: Design"
2148 | await gotoEntryHome(page);
2149 |
> 2150 | await expect(page.getByTestId('composer-mode-trigger')).toHaveAttribute('aria-label', 'Choose a mode');
| ^
2151 |
2152 | const input = page.getByTestId('home-hero-input');
2153 | const prompt =
at /home/runner/work/open-design/open-design/e2e/ui/entry-chrome-flows.test.ts:2150:59
|
|
[chromium] βΊ ui/app-restoration.test.ts:1590:1 βΊ [P0] @critical daemon error details persist between failed sends:
e2e/ui/app-restoration.test.ts#L1662
2) [chromium] βΊ ui/app-restoration.test.ts:1590:1 βΊ [P0] @critical daemon error details persist between failed sends
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: locator('[data-testid^="design-file-row-"]').filter({ hasText: 'error-cross-tab.html' })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('[data-testid^="design-file-row-"]').filter({ hasText: 'error-cross-tab.html' })
1660 | hasText: 'error-cross-tab.html',
1661 | });
> 1662 | await expect(crossFileRow).toBeVisible();
| ^
1663 | // #5517: one click on the row opens the file β no preview card in between.
1664 | await crossFileRow.getByRole('button').first().click();
1665 | await expect(page.getByRole('tab', { name: /error-cross-tab\.html/i })).toHaveAttribute('aria-selected', 'true');
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:1662:30
|
|
[chromium] βΊ ui/app-restoration.test.ts:1590:1 βΊ [P0] @critical daemon error details persist between failed sends:
e2e/ui/app-restoration.test.ts#L1662
2) [chromium] βΊ ui/app-restoration.test.ts:1590:1 βΊ [P0] @critical daemon error details persist between failed sends
Error: expect(locator).toBeVisible() failed
Locator: locator('[data-testid^="design-file-row-"]').filter({ hasText: 'error-cross-tab.html' })
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('[data-testid^="design-file-row-"]').filter({ hasText: 'error-cross-tab.html' })
1660 | hasText: 'error-cross-tab.html',
1661 | });
> 1662 | await expect(crossFileRow).toBeVisible();
| ^
1663 | // #5517: one click on the row opens the file β no preview card in between.
1664 | await crossFileRow.getByRole('button').first().click();
1665 | await expect(page.getByRole('tab', { name: /error-cross-tab\.html/i })).toHaveAttribute('aria-selected', 'true');
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:1662:30
|
|
[chromium] βΊ ui/app-restoration.test.ts:84:1 βΊ [P0] @critical workspace restores the last manually selected file tab after reload instead of jumping back to the generated artifact:
e2e/ui/app-restoration.test.ts#L3865
1) [chromium] βΊ ui/app-restoration.test.ts:84:1 βΊ [P0] @critical workspace restores the last manually selected file tab after reload instead of jumping back to the generated artifact
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
Call Log:
- Timeout 20000ms exceeded while waiting on the predicate
3863 | );
3864 | }, { timeout: T.medium })
> 3865 | .toBe(true);
| ^
3866 | }
3867 |
3868 | async function expectProjectFilesToIncludeSuffixes(
at expectPersistedArtifactMessage (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3865:6)
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:144:9
|
|
Validate workspace
Process completed with exit code 1.
|
|
π Playwright Run Summary
7 failed
[chromium] βΊ ui/amr-onboarding.test.ts:38:1 βΊ [P0] @critical onboarding lets AMR Cloud sign in and complete setup after the login poll succeeds
[chromium] βΊ ui/amr-onboarding.test.ts:299:1 βΊ [P0] @critical onboarding signed-in AMR path finishes setup with the AMR runtime
[chromium] βΊ ui/amr-onboarding.test.ts:584:1 βΊ [P0] @critical onboarding BYOK path can fetch models, test the provider, and complete setup
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-delete: Design Files panel deletes an uploaded file and clears its tab
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-tab-persistence: Open file tabs survive refresh with the correct active tab
[chromium] βΊ ui/app-manual-edit.test.ts:325:1 βΊ [P0] @critical preview toolbar keeps share, download, comment, and zoom actions reachable
[chromium] βΊ ui/app-manual-edit.test.ts:746:1 βΊ [P0] @critical edited HTML file restores selected tab and preview after reload
1 flaky
[chromium] βΊ ui/app-design-files.test.ts:84:3 βΊ [P0] @critical design-files-upload: Design Files panel uploads an image and opens it in the workspace
15 passed (18.6m)
|
|
π Playwright Run Summary
7 failed
[chromium] βΊ ui/app-restoration.test.ts:1590:1 βΊ [P0] @critical daemon error details persist between failed sends
[chromium] βΊ ui/entry-chrome-flows.test.ts:2147:1 βΊ [P0] @critical home composer routes free-form prompts through the design router by default
[chromium] βΊ ui/entry-chrome-flows.test.ts:2222:1 βΊ [P0] @critical clearing the home working directory removes linked dirs from project creation
[chromium] βΊ ui/project-management-flows.test.ts:524:1 βΊ [P0] @critical project detail header design system switch carries into the next run request
[chromium] βΊ ui/settings-api-protocol.test.ts:227:1 βΊ [P0] @critical BYOK quick fill provider updates fields and saved settings persist after closing and reopening
[chromium] βΊ ui/settings-api-protocol.test.ts:956:1 βΊ [P0] @critical saving Local CLI updates the entry status pill with the selected agent
[chromium] βΊ ui/settings-api-protocol.test.ts:1015:1 βΊ [P0] @critical Settings keeps Local CLI and BYOK model choices isolated after reopening
1 flaky
[chromium] βΊ ui/app-restoration.test.ts:84:1 βΊ [P0] @critical workspace restores the last manually selected file tab after reload instead of jumping back to the generated artifact
1 skipped
25 passed (20.6m)
|