Skip to content

Team collaboration (3/3): web β€” team workspace surfaces #14597

Team collaboration (3/3): web β€” team workspace surfaces

Team collaboration (3/3): web β€” team workspace surfaces #14597

Re-run triggered July 9, 2026 05:58
Status Failure
Total duration 8m 31s
Artifacts 11

ci.yml

on: pull_request
Resolve runner profiles
11s
Resolve runner profiles
Detect validation scopes
18s
Detect validation scopes
Static gate
10s
Static gate
Matrix: playwright_critical
Matrix: playwright_visual
Matrix: ui_p0
Validate Nix flake
Validate Nix flake
Preflight
3m 9s
Preflight
Workspace unit tests
1m 21s
Workspace unit tests
Windows tools-pack payload tests
Windows tools-pack payload tests
Web workspace tests
3m 28s
Web workspace tests
E2E Vitest
2m 31s
E2E Vitest
UI P0 smoke
1m 49s
UI P0 smoke
Docker image build
Docker image build
Validate workspace
6s
Validate workspace
Runtime summary
6s
Runtime summary
Fit to window
Zoom out
Zoom in

Annotations

24 errors and 3 notices
UI P0 (workspace-restoration)
Process completed with exit code 1.
[chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab: e2e/ui/app-restoration.test.ts#L4026
1) [chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 90000ms exceeded. Call log: - waiting for getByTestId('entry-nav-projects') 4024 | if (!(await page.locator('.tab-panel-toolbar').isVisible().catch(() => false))) { 4025 | await ensureRailOpen(page); > 4026 | await page.getByTestId('entry-nav-projects').click(); | ^ 4027 | } 4028 | await expect(page.locator('.tab-panel-toolbar')).toBeVisible(); 4029 | } at expectProjectsView (/home/runner/_work/open-design/open-design/e2e/ui/app-restoration.test.ts:4026:50) at /home/runner/_work/open-design/open-design/e2e/ui/app-restoration.test.ts:229:3
[chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab: e2e/ui/app-restoration.test.ts#L0
1) [chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab: e2e/ui/app-restoration.test.ts#L4026
1) [chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab Error: locator.click: Test timeout of 90000ms exceeded. Call log: - waiting for getByTestId('entry-nav-projects') 4024 | if (!(await page.locator('.tab-panel-toolbar').isVisible().catch(() => false))) { 4025 | await ensureRailOpen(page); > 4026 | await page.getByTestId('entry-nav-projects').click(); | ^ 4027 | } 4028 | await expect(page.locator('.tab-panel-toolbar')).toBeVisible(); 4029 | } at expectProjectsView (/home/runner/_work/open-design/open-design/e2e/ui/app-restoration.test.ts:4026:50) at /home/runner/_work/open-design/open-design/e2e/ui/app-restoration.test.ts:229:3
[chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab: e2e/ui/app-restoration.test.ts#L0
1) [chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab Test timeout of 90000ms exceeded.
Playwright visual (entry-navigation)
Process completed with exit code 1.
ui/visual-navigation.test.ts:117:1 β€Ί [P2] captures the integrations MCP surface: e2e/ui/visual-navigation.test.ts#L122
5) ui/visual-navigation.test.ts:117:1 β€Ί [P2] captures the integrations MCP surface ─────────────── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('entry-nav-integrations') 120 | 121 | await ensureRailOpen(page); > 122 | await page.getByTestId('entry-nav-integrations').click(); | ^ 123 | await page.getByTestId('integrations-tab-mcp').click(); 124 | await expect(page.getByTestId('integrations-tab-mcp')).toHaveAttribute('aria-selected', 'true'); 125 | await expect(page.getByText(/MCP/i).first()).toBeVisible(); at /home/runner/_work/open-design/open-design/e2e/ui/visual-navigation.test.ts:122:52
ui/visual-navigation.test.ts:117:1 β€Ί [P2] captures the integrations MCP surface: e2e/ui/visual-navigation.test.ts#L0
5) ui/visual-navigation.test.ts:117:1 β€Ί [P2] captures the integrations MCP surface ─────────────── Test timeout of 60000ms exceeded.
ui/visual-navigation.test.ts:103:1 β€Ί [P2] captures the integrations use everywhere surface: e2e/ui/visual-navigation.test.ts#L108
4) ui/visual-navigation.test.ts:103:1 β€Ί [P2] captures the integrations use everywhere surface ──── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('entry-nav-integrations') 106 | 107 | await ensureRailOpen(page); > 108 | await page.getByTestId('entry-nav-integrations').click(); | ^ 109 | await page.getByTestId('integrations-tab-use-everywhere').click(); 110 | await expect(page.getByTestId('integrations-tab-use-everywhere')).toHaveAttribute('aria-selected', 'true'); 111 | await expect(page.getByText('CLI, HTTP, MCP').first()).toBeVisible(); at /home/runner/_work/open-design/open-design/e2e/ui/visual-navigation.test.ts:108:52
ui/visual-navigation.test.ts:103:1 β€Ί [P2] captures the integrations use everywhere surface: e2e/ui/visual-navigation.test.ts#L0
4) ui/visual-navigation.test.ts:103:1 β€Ί [P2] captures the integrations use everywhere surface ──── Test timeout of 60000ms exceeded.
ui/visual-navigation.test.ts:89:1 β€Ί [P2] captures the integrations page surface: e2e/ui/visual-navigation.test.ts#L94
3) ui/visual-navigation.test.ts:89:1 β€Ί [P2] captures the integrations page surface ─────────────── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('entry-nav-integrations') 92 | 93 | await ensureRailOpen(page); > 94 | await page.getByTestId('entry-nav-integrations').click(); | ^ 95 | await expect(page).toHaveURL(/\/integrations$/); 96 | await expect(page.getByRole('heading', { name: 'Integrations' })).toBeVisible(); 97 | await expect(page.getByTestId('integrations-tab-connectors')).toBeVisible(); at /home/runner/_work/open-design/open-design/e2e/ui/visual-navigation.test.ts:94:52
ui/visual-navigation.test.ts:89:1 β€Ί [P2] captures the integrations page surface: e2e/ui/visual-navigation.test.ts#L0
3) ui/visual-navigation.test.ts:89:1 β€Ί [P2] captures the integrations page surface ─────────────── Test timeout of 60000ms exceeded.
ui/visual-navigation.test.ts:25:1 β€Ί [P2] captures the projects kanban surface: e2e/ui/visual-navigation.test.ts#L30
2) ui/visual-navigation.test.ts:25:1 β€Ί [P2] captures the projects kanban surface ───────────────── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('entry-nav-projects') 28 | 29 | await ensureRailOpen(page); > 30 | await page.getByTestId('entry-nav-projects').click(); | ^ 31 | const projects = page.getByTestId('entry-view-projects'); 32 | await projects.getByTestId('designs-view-kanban').click(); 33 | await expect(projects.getByTestId('designs-view-kanban')).toHaveAttribute('aria-pressed', 'true'); at /home/runner/_work/open-design/open-design/e2e/ui/visual-navigation.test.ts:30:48
ui/visual-navigation.test.ts:25:1 β€Ί [P2] captures the projects kanban surface: e2e/ui/visual-navigation.test.ts#L0
2) ui/visual-navigation.test.ts:25:1 β€Ί [P2] captures the projects kanban surface ───────────────── Test timeout of 60000ms exceeded.
ui/visual-navigation.test.ts:10:1 β€Ί [P2] captures the projects page surface: e2e/ui/visual-navigation.test.ts#L15
1) ui/visual-navigation.test.ts:10:1 β€Ί [P2] captures the projects page surface ─────────────────── Error: locator.click: Test timeout of 60000ms exceeded. Call log: - waiting for getByTestId('entry-nav-projects') 13 | 14 | await ensureRailOpen(page); > 15 | await page.getByTestId('entry-nav-projects').click(); | ^ 16 | await expect(page).toHaveURL(/\/projects$/); 17 | const projects = page.getByTestId('entry-view-projects'); 18 | await expect(projects.getByRole('heading', { name: 'Projects' })).toBeVisible(); at /home/runner/_work/open-design/open-design/e2e/ui/visual-navigation.test.ts:15:48
ui/visual-navigation.test.ts:10:1 β€Ί [P2] captures the projects page surface: e2e/ui/visual-navigation.test.ts#L0
1) ui/visual-navigation.test.ts:10:1 β€Ί [P2] captures the projects page surface ─────────────────── Test timeout of 60000ms exceeded.
UI P0 (entry-settings)
Process completed with exit code 1.
[chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately: e2e/ui/entry-configuration-flows.test.ts#L374
2) [chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByTestId('entry-nav-integrations') 372 | async function openIntegrationsConnectors(page: Page): Promise<Locator> { 373 | await ensureRailOpen(page); > 374 | await page.getByTestId('entry-nav-integrations').click(); | ^ 375 | await expect(page).toHaveURL(/\/integrations$/); 376 | await expect(page.getByRole('heading', { name: 'Integrations' })).toBeVisible(); 377 | await page.getByTestId('integrations-tab-connectors').click(); at openIntegrationsConnectors (/home/runner/_work/open-design/open-design/e2e/ui/entry-configuration-flows.test.ts:374:52) at /home/runner/_work/open-design/open-design/e2e/ui/entry-configuration-flows.test.ts:258:26
[chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately: e2e/ui/entry-configuration-flows.test.ts#L0
2) [chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 120000ms exceeded.
[chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately: e2e/ui/entry-configuration-flows.test.ts#L374
2) [chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately Error: locator.click: Test timeout of 120000ms exceeded. Call log: - waiting for getByTestId('entry-nav-integrations') 372 | async function openIntegrationsConnectors(page: Page): Promise<Locator> { 373 | await ensureRailOpen(page); > 374 | await page.getByTestId('entry-nav-integrations').click(); | ^ 375 | await expect(page).toHaveURL(/\/integrations$/); 376 | await expect(page.getByRole('heading', { name: 'Integrations' })).toBeVisible(); 377 | await page.getByTestId('integrations-tab-connectors').click(); at openIntegrationsConnectors (/home/runner/_work/open-design/open-design/e2e/ui/entry-configuration-flows.test.ts:374:52) at /home/runner/_work/open-design/open-design/e2e/ui/entry-configuration-flows.test.ts:258:26
[chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately: e2e/ui/entry-configuration-flows.test.ts#L0
2) [chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately Test timeout of 120000ms exceeded.
[chromium] β€Ί ui/entry-chrome-flows.test.ts:217:1 β€Ί [P0] @critical recent projects strip opens a project card and view all routes to the projects index: e2e/ui/entry-chrome-flows.test.ts#L229
1) [chromium] β€Ί ui/entry-chrome-flows.test.ts:217:1 β€Ί [P0] @critical recent projects strip opens a project card and view all routes to the projects index Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveAttribute(expected) failed Locator: getByTestId('entry-nav-projects') Expected: "page" Timeout: 10000ms Error: element(s) not found Call log: - Expect "toHaveAttribute" with timeout 10000ms - waiting for getByTestId('entry-nav-projects') 227 | await page.getByTestId('recent-projects-view-all').click(); 228 | await expect(page).toHaveURL(/\/projects$/); > 229 | await expect(page.getByTestId('entry-nav-projects')).toHaveAttribute('aria-current', 'page'); | ^ 230 | }); 231 | 232 | test('[P1] design systems page is reachable from entry nav and supports search, preview, and default selection', async ({ page }) => { at /home/runner/_work/open-design/open-design/e2e/ui/entry-chrome-flows.test.ts:229:56
[chromium] β€Ί ui/entry-chrome-flows.test.ts:217:1 β€Ί [P0] @critical recent projects strip opens a project card and view all routes to the projects index: e2e/ui/entry-chrome-flows.test.ts#L229
1) [chromium] β€Ί ui/entry-chrome-flows.test.ts:217:1 β€Ί [P0] @critical recent projects strip opens a project card and view all routes to the projects index Error: expect(locator).toHaveAttribute(expected) failed Locator: getByTestId('entry-nav-projects') Expected: "page" Timeout: 10000ms Error: element(s) not found Call log: - Expect "toHaveAttribute" with timeout 10000ms - waiting for getByTestId('entry-nav-projects') 227 | await page.getByTestId('recent-projects-view-all').click(); 228 | await expect(page).toHaveURL(/\/projects$/); > 229 | await expect(page.getByTestId('entry-nav-projects')).toHaveAttribute('aria-current', 'page'); | ^ 230 | }); 231 | 232 | test('[P1] design systems page is reachable from entry nav and supports search, preview, and default selection', async ({ page }) => { at /home/runner/_work/open-design/open-design/e2e/ui/entry-chrome-flows.test.ts:229:56
Validate workspace
Process completed with exit code 1.
🎭 Playwright Run Summary
1 failed [chromium] β€Ί ui/app-restoration.test.ts:170:1 β€Ί [P0] switching between projects restores each project workspace to its last active file tab 25 passed (6.1m)
🎭 Playwright Run Summary
6 failed ui/visual-navigation.test.ts:10:1 β€Ί [P2] captures the projects page surface ──────────────────── ui/visual-navigation.test.ts:25:1 β€Ί [P2] captures the projects kanban surface ────────────────── ui/visual-navigation.test.ts:89:1 β€Ί [P2] captures the integrations page surface ──────────────── ui/visual-navigation.test.ts:103:1 β€Ί [P2] captures the integrations use everywhere surface ───── ui/visual-navigation.test.ts:117:1 β€Ί [P2] captures the integrations MCP surface ──────────────── ui/visual-navigation.test.ts:131:1 β€Ί [P2] captures the tasks page surface ────────────────────── 14 passed (6.1m)
🎭 Playwright Run Summary
2 failed [chromium] β€Ί ui/entry-chrome-flows.test.ts:217:1 β€Ί [P0] @critical recent projects strip opens a project card and view all routes to the projects index [chromium] β€Ί ui/entry-configuration-flows.test.ts:229:1 β€Ί [P0] saving a Composio key from Integrations unlocks the connectors gate immediately 59 passed (7.1m)

Artifacts

Produced during runtime
Name Size Digest
ui-p0-ci-28996803421-entry-settings Expired
50.7 MB
sha256:2a340d398c786a7b42d03f3ec9f4153a824d05da0638c327e013fb51f4d7a21f
ui-p0-ci-28996803421-workspace-restoration Expired
21.8 MB
sha256:c67951fbaebafe53b5ba2cdb21b1cd1c9bff498e737fcb0c00d3e9e25ef8dbe1
visual-pr-capture-5284-28996803421-entry-navigation Expired
1.36 MB
sha256:7fae6b53b5bc02c67b7617e872816298ef37859a6d166ec3fdcf4be45ec9dccf