fix(workspace): preserve scoped projects after main sync #17046
ci.yml
on: pull_request
Resolve runner profiles
11s
Matrix: playwright_critical
Matrix: playwright_visual
Matrix: ui_p0
Preflight
3m 57s
Workspace unit tests
1m 57s
Windows tools-pack payload tests
2m 20s
Web workspace tests
8m 51s
E2E Vitest
4m 53s
Runtime summary
4s
Annotations
41 errors, 3 warnings, and 2 notices
|
Web workspace tests
Process completed with exit code 1.
|
|
tests/components/RecentProjectsStrip.test.tsx > RecentProjectsStrip > scans a shared project cover once after the same card materializes:
apps/web/tests/components/RecentProjectsStrip.test.tsx#L264
AssertionError: the given combination of arguments (undefined and string) is invalid for this assertion. You can use an array, a map, an object, a set, a string, or a weakset instead of a string
β― tests/components/RecentProjectsStrip.test.tsx:264:7
|
|
UI P0 (project-workspace)
Canceling since a higher priority waiting request for ci-6320 exists
|
|
UI P0 (project-workspace)
The operation was canceled.
|
|
[chromium] βΊ ui/app-manual-edit.test.ts:329:1 βΊ [P0] @critical preview toolbar keeps share:
e2e/ui/app-manual-edit.test.ts#L346
4) [chromium] βΊ ui/app-manual-edit.test.ts:329:1 βΊ [P0] @critical preview toolbar keeps share, download, comment, and zoom actions reachable
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toContainText(expected) failed
Locator: locator('.share-menu-popover[role="menu"]')
Expected pattern: /Share project in workspace|Publish this file/i
Received string: "ShareExportSend to..."
Timeout: 10000ms
Call log:
- Expect "toContainText" with timeout 10000ms
- waiting for locator('.share-menu-popover[role="menu"]')
24 Γ locator resolved to <div role="menu" class="share-menu-popover chrome-unified-popover">β¦</div>
- unexpected value "ShareExportSend to..."
344 | await expect(shareMenu).toBeVisible();
345 | await expect(shareMenu.getByRole('tab', { name: /^Share$/ })).toHaveAttribute('aria-selected', 'true');
> 346 | await expect(shareMenu).toContainText(/Share project in workspace|Publish this file/i);
| ^
347 | await shareMenu.getByRole('tab', { name: /^Export$/ }).click();
348 | await expect(shareMenu.getByRole('menuitem', { name: /Export as PDF/i })).toBeVisible();
349 | await page.keyboard.press('Escape');
at /home/runner/work/open-design/open-design/e2e/ui/app-manual-edit.test.ts:346:27
|
|
[chromium] βΊ ui/app-manual-edit.test.ts:329:1 βΊ [P0] @critical preview toolbar keeps share:
e2e/ui/app-manual-edit.test.ts#L346
4) [chromium] βΊ ui/app-manual-edit.test.ts:329:1 βΊ [P0] @critical preview toolbar keeps share, download, comment, and zoom actions reachable
Error: expect(locator).toContainText(expected) failed
Locator: locator('.share-menu-popover[role="menu"]')
Expected pattern: /Share project in workspace|Publish this file/i
Received string: "ShareExportSend to..."
Timeout: 10000ms
Call log:
- Expect "toContainText" with timeout 10000ms
- waiting for locator('.share-menu-popover[role="menu"]')
24 Γ locator resolved to <div role="menu" class="share-menu-popover chrome-unified-popover">β¦</div>
- unexpected value "ShareExportSend to..."
344 | await expect(shareMenu).toBeVisible();
345 | await expect(shareMenu.getByRole('tab', { name: /^Share$/ })).toHaveAttribute('aria-selected', 'true');
> 346 | await expect(shareMenu).toContainText(/Share project in workspace|Publish this file/i);
| ^
347 | await shareMenu.getByRole('tab', { name: /^Export$/ }).click();
348 | await expect(shareMenu.getByRole('menuitem', { name: /Export as PDF/i })).toBeVisible();
349 | await page.keyboard.press('Escape');
at /home/runner/work/open-design/open-design/e2e/ui/app-manual-edit.test.ts:346:27
|
|
[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
3) [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
3) [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-delete: Design Files panel deletes an uploaded file and clears its tab:
e2e/ui/app-design-files.test.ts#L487
2) [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
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
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-delete: Design Files panel deletes an uploaded file and clears its tab:
e2e/ui/app-design-files.test.ts#L487
2) [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-upload: Design Files panel uploads an image and opens it in the workspace:
e2e/ui/app-design-files.test.ts#L450
1) [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
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
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/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
1) [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
|
|
UI P0 (project-runtime)
Canceling since a higher priority waiting request for ci-6320 exists
|
|
UI P0 (project-runtime)
The operation was canceled.
|
|
[chromium] βΊ ui/amr-run-failure-recovery.test.ts:338:1 βΊ [P0] @critical non-AMR model failures promote Open Design AMR and auto-retry after sign-in:
e2e/ui/amr-run-failure-recovery.test.ts#L430
2) [chromium] βΊ ui/amr-run-failure-recovery.test.ts:338:1 βΊ [P0] @critical non-AMR model failures promote Open Design AMR and auto-retry after sign-in
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: locator('.modal-settings').first()
Expected: visible
Timeout: 60000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 60000ms
- waiting for locator('.modal-settings').first()
428 |
429 | const settings = settingsSurface(page);
> 430 | await expect(settings).toBeVisible({ timeout: T.long });
| ^
431 | await expect
432 | .poll(async () => {
433 | const raw = await page.evaluate((key) => window.localStorage.getItem(key), STORAGE_KEY);
at /home/runner/work/open-design/open-design/e2e/ui/amr-run-failure-recovery.test.ts:430:26
|
|
[chromium] βΊ ui/amr-run-failure-recovery.test.ts:338:1 βΊ [P0] @critical non-AMR model failures promote Open Design AMR and auto-retry after sign-in:
e2e/ui/amr-run-failure-recovery.test.ts#L430
2) [chromium] βΊ ui/amr-run-failure-recovery.test.ts:338:1 βΊ [P0] @critical non-AMR model failures promote Open Design AMR and auto-retry after sign-in
Error: expect(locator).toBeVisible() failed
Locator: locator('.modal-settings').first()
Expected: visible
Timeout: 60000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 60000ms
- waiting for locator('.modal-settings').first()
428 |
429 | const settings = settingsSurface(page);
> 430 | await expect(settings).toBeVisible({ timeout: T.long });
| ^
431 | await expect
432 | .poll(async () => {
433 | const raw = await page.evaluate((key) => window.localStorage.getItem(key), STORAGE_KEY);
at /home/runner/work/open-design/open-design/e2e/ui/amr-run-failure-recovery.test.ts:430:26
|
|
[chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out:
e2e/lib/playwright/amr.ts#L307
1) [chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out, AMR runs require re-login and Settings keeps AMR selected
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: locator.click: Test timeout of 120000ms exceeded.
Call log:
- waiting for getByTestId('inline-model-switcher-chip').first()
- locator resolved to <button type="button" aria-haspopup="menu" aria-expanded="false" data-tooltip-placement="bottom" aria-label="Open Design Β· default" data-tooltip="Open Design Β· default" data-testid="inline-model-switcher-chip" class="inline-switcher__chip od-tooltip inline-switcher__chip--icon">β¦</button>
- attempting click action
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 20ms
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 100ms
117 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 500ms
at ../lib/playwright/amr.ts:307
305 | const switcherChip = page.getByTestId('inline-model-switcher-chip').first();
306 | if (await switcherChip.isVisible({ timeout: 1_000 }).catch(() => false)) {
> 307 | await switcherChip.click();
| ^
308 | const openSettings = page.getByTestId('inline-model-switcher-open-settings').first();
309 | if (await openSettings.isVisible({ timeout: T.short }).catch(() => false)) {
310 | await openSettings.click();
at openSettingsFromProjectSurface (/home/runner/work/open-design/open-design/e2e/lib/playwright/amr.ts:307:24)
at openSettingsDialog (/home/runner/work/open-design/open-design/e2e/lib/playwright/amr.ts:342:18)
at /home/runner/work/open-design/open-design/e2e/ui/amr-logout-requires-relogin.test.ts:130:28
|
|
[chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out:
e2e/ui/amr-logout-requires-relogin.test.ts#L0
1) [chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out, AMR runs require re-login and Settings keeps AMR selected
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Test timeout of 120000ms exceeded.
|
|
[chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out:
e2e/lib/playwright/amr.ts#L307
1) [chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out, AMR runs require re-login and Settings keeps AMR selected
Error: locator.click: Test timeout of 120000ms exceeded.
Call log:
- waiting for getByTestId('inline-model-switcher-chip').first()
- locator resolved to <button type="button" aria-haspopup="menu" aria-expanded="false" data-tooltip-placement="bottom" aria-label="Open Design Β· default" data-tooltip="Open Design Β· default" data-testid="inline-model-switcher-chip" class="inline-switcher__chip od-tooltip inline-switcher__chip--icon">β¦</button>
- attempting click action
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 20ms
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 100ms
144 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 500ms
- waiting for element to be visible, enabled and stable
at ../lib/playwright/amr.ts:307
305 | const switcherChip = page.getByTestId('inline-model-switcher-chip').first();
306 | if (await switcherChip.isVisible({ timeout: 1_000 }).catch(() => false)) {
> 307 | await switcherChip.click();
| ^
308 | const openSettings = page.getByTestId('inline-model-switcher-open-settings').first();
309 | if (await openSettings.isVisible({ timeout: T.short }).catch(() => false)) {
310 | await openSettings.click();
at openSettingsFromProjectSurface (/home/runner/work/open-design/open-design/e2e/lib/playwright/amr.ts:307:24)
at openSettingsDialog (/home/runner/work/open-design/open-design/e2e/lib/playwright/amr.ts:342:18)
at /home/runner/work/open-design/open-design/e2e/ui/amr-logout-requires-relogin.test.ts:130:28
|
|
[chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out:
e2e/ui/amr-logout-requires-relogin.test.ts#L0
1) [chromium] βΊ ui/amr-logout-requires-relogin.test.ts:51:1 βΊ [P0] after local Sign out, AMR runs require re-login and Settings keeps AMR selected
Test timeout of 120000ms exceeded.
|
|
UI P0 (workspace-restoration)
Canceling since a higher priority waiting request for ci-6320 exists
|
|
UI P0 (workspace-restoration)
The operation was canceled.
|
|
[chromium] βΊ ui/app-restoration.test.ts:822:1 βΊ [P0] returning from workspace surfaces keeps the older conversation reachable from history:
e2e/ui/app-restoration.test.ts#L853
5) [chromium] βΊ ui/app-restoration.test.ts:822:1 βΊ [P0] returning from workspace surfaces keeps the older conversation reachable from history
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'surface-restore.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'surface-restore.png' }) }).first()
851 | ),
852 | });
> 853 | await expect(tabBySuffix(page, 'surface-restore.png')).toBeVisible();
| ^
854 |
855 | await page.getByTestId('conversation-history-trigger').click();
856 | const historyList = page.getByTestId('conversation-list');
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:853:58
|
|
[chromium] βΊ ui/app-restoration.test.ts:822:1 βΊ [P0] returning from workspace surfaces keeps the older conversation reachable from history:
e2e/ui/app-restoration.test.ts#L853
5) [chromium] βΊ ui/app-restoration.test.ts:822:1 βΊ [P0] returning from workspace surfaces keeps the older conversation reachable from history
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'surface-restore.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'surface-restore.png' }) }).first()
851 | ),
852 | });
> 853 | await expect(tabBySuffix(page, 'surface-restore.png')).toBeVisible();
| ^
854 |
855 | await page.getByTestId('conversation-history-trigger').click();
856 | const historyList = page.getByTestId('conversation-list');
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:853:58
|
|
[chromium] βΊ ui/app-restoration.test.ts:389: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#L409
4) [chromium] βΊ ui/app-restoration.test.ts:389:1 βΊ [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'root-design-reference.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'root-design-reference.png' }) }).first()
407 | await expect((await uploadResponse).ok()).toBeTruthy();
408 | const fileTab = tabBySuffix(page, 'root-design-reference.png');
> 409 | await expect(fileTab).toBeVisible();
| ^
410 | const uploadedName = await fileTab.getAttribute('title');
411 | expect(uploadedName).toBeTruthy();
412 |
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:409:25
|
|
[chromium] βΊ ui/app-restoration.test.ts:389: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#L409
4) [chromium] βΊ ui/app-restoration.test.ts:389:1 βΊ [P0] returning from an uploaded design file route to the project root keeps the uploaded file tab active
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'root-design-reference.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'root-design-reference.png' }) }).first()
407 | await expect((await uploadResponse).ok()).toBeTruthy();
408 | const fileTab = tabBySuffix(page, 'root-design-reference.png');
> 409 | await expect(fileTab).toBeVisible();
| ^
410 | const uploadedName = await fileTab.getAttribute('title');
411 | expect(uploadedName).toBeTruthy();
412 |
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:409:25
|
|
[chromium] βΊ ui/app-restoration.test.ts:348:1 βΊ [P0] @critical visiting an uploaded design file route restores its tab and file workspace surface:
e2e/ui/app-restoration.test.ts#L364
3) [chromium] βΊ ui/app-restoration.test.ts:348:1 βΊ [P0] @critical visiting an uploaded design file route restores its tab and file workspace surface
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'deep-linked-reference.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'deep-linked-reference.png' }) }).first()
362 | });
363 | const fileTab = tabBySuffix(page, 'deep-linked-reference.png');
> 364 | await expect(fileTab).toBeVisible();
| ^
365 | const uploadedName = await fileTab.getAttribute('title');
366 | expect(uploadedName).toBeTruthy();
367 |
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:364:25
|
|
[chromium] βΊ ui/app-restoration.test.ts:155: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#L3062
2) [chromium] βΊ ui/app-restoration.test.ts:155:1 βΊ [P0] @critical workspace restores the last manually selected file tab after reload instead of jumping back to the generated artifact
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
Call Log:
- Timeout 20000ms exceeded while waiting on the predicate
3060 | );
3061 | }, { timeout: T.medium })
> 3062 | .toBe(true);
| ^
3063 | }
3064 |
3065 | async function expectProjectFilesToIncludeSuffixes(
at expectPersistedArtifactMessage (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3062:6)
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:200:9
|
|
[chromium] βΊ ui/app-restoration.test.ts:155: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#L3062
2) [chromium] βΊ ui/app-restoration.test.ts:155: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
3060 | );
3061 | }, { timeout: T.medium })
> 3062 | .toBe(true);
| ^
3063 | }
3064 |
3065 | async function expectProjectFilesToIncludeSuffixes(
at expectPersistedArtifactMessage (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:3062:6)
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:200:9
|
|
[chromium] βΊ ui/app-restoration.test.ts:257:1 βΊ [P0] switching between projects restores each project workspace to its last active file tab:
e2e/ui/app-restoration.test.ts#L2485
1) [chromium] βΊ ui/app-restoration.test.ts:257:1 βΊ [P0] switching between projects restores each project workspace to its last active file tab
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toBeVisible() failed
Locator: locator('[data-testid^="design-file-row-"][data-testid$="alpha-secondary.png"]').first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('[data-testid^="design-file-row-"][data-testid$="alpha-secondary.png"]').first()
2483 | // the row by test id β image cards render no filename text to match on.
2484 | const row = rowBySuffix(page, fileName);
> 2485 | await expect(row).toBeVisible();
| ^
2486 | await row.getByRole('button').first().click();
2487 | await expect(tab).toHaveAttribute('aria-selected', 'true');
2488 | }
at openDesignFile (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:2485:21)
at ensureFileTabOpen (/home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:2607:3)
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:294:29
|
|
[chromium] βΊ ui/app-restoration.test.ts:257:1 βΊ [P0] switching between projects restores each project workspace to its last active file tab:
e2e/ui/app-restoration.test.ts#L317
1) [chromium] βΊ ui/app-restoration.test.ts:257:1 βΊ [P0] switching between projects restores each project workspace to its last active file tab
Error: expect(locator).toBeVisible() failed
Locator: locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'beta-primary.png' }) }).first()
Expected: visible
Timeout: 10000ms
Error: element(s) not found
Call log:
- Expect "toBeVisible" with timeout 10000ms
- waiting for locator('.ws-tab[role="tab"]').filter({ has: locator('.ws-tab-label').filter({ hasText: 'beta-primary.png' }) }).first()
315 | });
316 | await expect((await betaPrimaryUpload).ok()).toBeTruthy();
> 317 | await expect(tabBySuffix(page, 'beta-primary.png')).toBeVisible();
| ^
318 | const betaSecondaryUpload = page.waitForResponse(
319 | (resp: Response) => resp.url().includes('/upload') && resp.request().method() === 'POST',
320 | { timeout: 5000 },
at /home/runner/work/open-design/open-design/e2e/ui/app-restoration.test.ts:317:55
|
|
UI P0 (entry-settings)
Canceling since a higher priority waiting request for ci-6320 exists
|
|
UI P0 (entry-settings)
The operation was canceled.
|
|
[chromium] βΊ ui/settings-api-protocol.test.ts:970:1 βΊ [P0] @critical saving Local CLI updates the entry status pill with the selected agent:
e2e/ui/settings-api-protocol.test.ts#L1023
2) [chromium] βΊ ui/settings-api-protocol.test.ts:970:1 βΊ [P0] @critical saving Local CLI updates the entry status pill with the selected agent
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: expect(locator).toContainText(expected) failed
Locator: getByTestId('inline-model-switcher-chip')
Expected pattern: /Local CLI|ζ¬ζΊ CLI|ζ¬ε° CLI/i
Received string: "default"
Timeout: 10000ms
Call log:
- Expect "toContainText" with timeout 10000ms
- waiting for getByTestId('inline-model-switcher-chip')
19 Γ locator resolved to <button type="button" aria-haspopup="menu" aria-expanded="false" data-tooltip-placement="bottom" aria-label="Codex CLI Β· default" data-tooltip="Codex CLI Β· default" data-testid="inline-model-switcher-chip" class="inline-switcher__chip od-tooltip inline-switcher__chip--icon">β¦</button>
- unexpected value "default"
1021 |
1022 | const executionPill = page.getByTestId('inline-model-switcher-chip');
> 1023 | await expect(executionPill).toContainText(LOCAL_CLI_LABEL);
| ^
1024 | await expect(executionPill).toContainText('Codex CLI');
1025 | await expect(executionPill).toContainText('default');
1026 | });
at /home/runner/work/open-design/open-design/e2e/ui/settings-api-protocol.test.ts:1023:31
|
|
[chromium] βΊ ui/settings-api-protocol.test.ts:970:1 βΊ [P0] @critical saving Local CLI updates the entry status pill with the selected agent:
e2e/ui/settings-api-protocol.test.ts#L1023
2) [chromium] βΊ ui/settings-api-protocol.test.ts:970:1 βΊ [P0] @critical saving Local CLI updates the entry status pill with the selected agent
Error: expect(locator).toContainText(expected) failed
Locator: getByTestId('inline-model-switcher-chip')
Expected pattern: /Local CLI|ζ¬ζΊ CLI|ζ¬ε° CLI/i
Received string: "default"
Timeout: 10000ms
Call log:
- Expect "toContainText" with timeout 10000ms
- waiting for getByTestId('inline-model-switcher-chip')
18 Γ locator resolved to <button type="button" aria-haspopup="menu" aria-expanded="false" data-tooltip-placement="bottom" aria-label="Codex CLI Β· default" data-tooltip="Codex CLI Β· default" data-testid="inline-model-switcher-chip" class="inline-switcher__chip od-tooltip inline-switcher__chip--icon">β¦</button>
- unexpected value "default"
1021 |
1022 | const executionPill = page.getByTestId('inline-model-switcher-chip');
> 1023 | await expect(executionPill).toContainText(LOCAL_CLI_LABEL);
| ^
1024 | await expect(executionPill).toContainText('Codex CLI');
1025 | await expect(executionPill).toContainText('default');
1026 | });
at /home/runner/work/open-design/open-design/e2e/ui/settings-api-protocol.test.ts:1023:31
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request:
e2e/ui/amr-onboarding.test.ts#L365
1) [chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Error: locator.click: Test timeout of 120000ms exceeded.
Call log:
- waiting for getByTestId('home-hero-submit')
- locator resolved to <button title="Run" type="button" aria-label="Run" aria-busy="false" data-tooltip="Run" data-testid="home-hero-submit" class="home-hero__submit od-tooltip">β¦</button>
- attempting click action
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 20ms
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 100ms
93 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
363 | await input.fill('Create an AMR onboarding carryover smoke artifact.');
364 | await expect(page.getByTestId('home-hero-submit')).toBeEnabled();
> 365 | await page.getByTestId('home-hero-submit').click();
| ^
366 |
367 | await runRequests.expectCount(1);
368 | expect(runBodies[0]).toMatchObject({
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:365:46
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request:
e2e/ui/amr-onboarding.test.ts#L0
1) [chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request
Retry #1 βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Test timeout of 120000ms exceeded.
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request:
e2e/ui/amr-onboarding.test.ts#L365
1) [chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request
Error: locator.click: Test timeout of 120000ms exceeded.
Call log:
- waiting for getByTestId('home-hero-submit')
- locator resolved to <button title="Run" type="button" aria-label="Run" aria-busy="false" data-tooltip="Run" data-testid="home-hero-submit" class="home-hero__submit od-tooltip">β¦</button>
- attempting click action
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 20ms
2 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 100ms
109 Γ waiting for element to be visible, enabled and stable
- element is visible, enabled and stable
- scrolling into view if needed
- done scrolling
- <div role="presentation" class="dialog_backdrop__iQHy_ modal-backdrop WhatsNewPopup_backdrop__zf6bL">β¦</div> intercepts pointer events
- retrying click action
- waiting 500ms
363 | await input.fill('Create an AMR onboarding carryover smoke artifact.');
364 | await expect(page.getByTestId('home-hero-submit')).toBeEnabled();
> 365 | await page.getByTestId('home-hero-submit').click();
| ^
366 |
367 | await runRequests.expectCount(1);
368 | expect(runBodies[0]).toMatchObject({
at /home/runner/work/open-design/open-design/e2e/ui/amr-onboarding.test.ts:365:46
|
|
[chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request:
e2e/ui/amr-onboarding.test.ts#L0
1) [chromium] βΊ ui/amr-onboarding.test.ts:337:1 βΊ [P0] onboarding AMR runtime selection carries into the first Home run request
Test timeout of 120000ms exceeded.
|
|
Validate workspace
Process completed with exit code 1.
|
|
ci
Canceling since a higher priority waiting request for ci-6320 exists
|
|
Detect validation scopes
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
E2E Vitest
merge_group changed-file resolution failed; falling back to the full plan: Error: merge_group compare result reached GitHub's 300-file ceiling
|
|
E2E Vitest
merge_group changed-file resolution failed; falling back to the full plan: Error: Command failed: /opt/hostedtoolcache/node/24.18.0/x64/bin/node /tmp/scopes-test-bB7iMF/gh-stub.mjs api repos/nexu-io/open-design/compare/1111111111111111111111111111111111111111...2222222222222222222222222222222222222222
|
|
π Playwright Run Summary
3 skipped
17 passed (2.6m)
|
|
π Playwright Run Summary
18 passed (4.6m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
handoff-report-visual-pr
|
438 Bytes |
sha256:8be75a274e288485d64d1503fb26879e0baffcede23bc418682250753b4c7c1c
|
|
|
ui-p0-ci-30685844848-entry-settings
|
26.3 MB |
sha256:9dac0de4bfaa8951a860ae74acc912b5fa98d1d888671504663458ed16240e26
|
|
|
ui-p0-ci-30685844848-project-runtime
|
38.6 MB |
sha256:53c4c09ed27e3f2048a94a9711d6cda4c1bc763fe18f8e6a7868e7760bebe849
|
|
|
ui-p0-ci-30685844848-project-workspace
|
18.5 MB |
sha256:1513d948142bc25604edc84b0edd0883691506e1d5210ed1bad03ea74aa29a4a
|
|
|
ui-p0-ci-30685844848-workspace-restoration
|
26.8 MB |
sha256:a5bd39e5c79fd7ed2f1b65a28d933bf714b6221855ab6a6068a84890bd5d5e55
|
|
|
visual-pr-capture-6320-30685844848-entry-navigation
|
4.36 MB |
sha256:d7f3636dabb8ae3d62370091992cb5ee3210e5cad1924fdca26995d76a34500b
|
|
|
visual-pr-capture-6320-30685844848-settings-workspace
|
3.19 MB |
sha256:d75512b19f0fe26a988d68e37a5d4b9ca13cb36c923be3473e6e614c4956495b
|
|