Skip to content

WIP: feat(ai-native): harden ACP task startup and error recovery #7357

WIP: feat(ai-native): harden ACP task startup and error recovery

WIP: feat(ai-native): harden ACP task startup and error recovery #7357

Triggered via pull request August 25, 2026 08:17
Status Failure
Total duration 17m 16s
Artifacts 1

e2e.yml

on: pull_request
ubuntu-latest, Node.js 20.x
17m 12s
ubuntu-latest, Node.js 20.x
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 4 warnings, and 1 notice
../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用: tools/playwright/src/tests/utils/acp-bdd-fixture.ts#L325
3) ../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用 Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for locator('#opensumi-left-tabbar li#explorer') to be visible at ../../src/tests/utils/acp-bdd-fixture.ts:325 323 | export async function waitForExplorerViewVisible(page: Page): Promise<void> { 324 | const explorerEntry = page.locator('#opensumi-left-tabbar li#explorer'); > 325 | await explorerEntry.waitFor({ state: 'visible', timeout: EXPLORER_VIEW_READY_TIMEOUT_MS }); | ^ 326 | 327 | const isActive = await explorerEntry.evaluate((element) => element.classList.contains('active')); 328 | if (!isActive) { at waitForExplorerViewVisible (/home/runner/work/core/core/tools/playwright/src/tests/utils/acp-bdd-fixture.ts:325:23) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-layout-interop.test.ts:172:37
../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用: tools/playwright/src/tests/utils/acp-bdd-fixture.ts#L325
3) ../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用 Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for locator('#opensumi-left-tabbar li#explorer') to be visible at ../../src/tests/utils/acp-bdd-fixture.ts:325 323 | export async function waitForExplorerViewVisible(page: Page): Promise<void> { 324 | const explorerEntry = page.locator('#opensumi-left-tabbar li#explorer'); > 325 | await explorerEntry.waitFor({ state: 'visible', timeout: EXPLORER_VIEW_READY_TIMEOUT_MS }); | ^ 326 | 327 | const isActive = await explorerEntry.evaluate((element) => element.classList.contains('active')); 328 | if (!isActive) { at waitForExplorerViewVisible (/home/runner/work/core/core/tools/playwright/src/tests/utils/acp-bdd-fixture.ts:325:23) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-layout-interop.test.ts:172:37
../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用: tools/playwright/src/tests/utils/acp-bdd-fixture.ts#L325
3) ../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用 TimeoutError: locator.waitFor: Timeout 30000ms exceeded. Call log: - waiting for locator('#opensumi-left-tabbar li#explorer') to be visible at ../../src/tests/utils/acp-bdd-fixture.ts:325 323 | export async function waitForExplorerViewVisible(page: Page): Promise<void> { 324 | const explorerEntry = page.locator('#opensumi-left-tabbar li#explorer'); > 325 | await explorerEntry.waitFor({ state: 'visible', timeout: EXPLORER_VIEW_READY_TIMEOUT_MS }); | ^ 326 | 327 | const isActive = await explorerEntry.evaluate((element) => element.classList.contains('active')); 328 | if (!isActive) { at waitForExplorerViewVisible (/home/runner/work/core/core/tools/playwright/src/tests/utils/acp-bdd-fixture.ts:325:23) at openWorkspaceFile (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-layout-interop.test.ts:22:35) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-layout-interop.test.ts:149:11
../../src/tests/acp-chat-agentic-long-history-switching.test.ts:135:7 › ACP Chat Agentic long-history switching › switches two 1000-message Tasks without page reload: tools/playwright/src/tests/acp-chat-agentic-long-history-switching.test.ts#L63
2) ../../src/tests/acp-chat-agentic-long-history-switching.test.ts:135:7 › ACP Chat Agentic long-history switching › switches two 1000-message Tasks without page reload, unbounded DOM, replay, or mixed session content Error: expect(received).toBe(expected) // Object.is equality Expected: 2 Received: 0 Call Log: - Timeout 30000ms exceeded while waiting on the predicate 61 | await page.keyboard.insertText(prompt); 62 | await sendButton().click(); > 63 | await expect.poll(async () => (await getSessionState()).session?.historyMessageCount, { timeout: 30_000 }).toBe(2); | ^ 64 | await expect(page.getByTestId('agentic-message-row')).toHaveCount(2, { timeout: 30_000 }); 65 | await expect(chatSlot().getByText('BDD_ASSISTANT_PART_2 completed.').last()).toBeVisible({ timeout: 30_000 }); 66 | const sessionId = (await getSessionState()).session?.sessionId; at launchTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-long-history-switching.test.ts:63:110) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-long-history-switching.test.ts:136:28
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Retry #5 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Retry #4 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Retry #3 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench: tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts#L102
1) ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench Error: Timed out 30000ms waiting for expect(locator).toBeVisible() Locator: getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 30000ms - waiting for getByTestId('agentic-session-list').getByRole('button', { name: 'BDD Turn 1', exact: true }) 100 | await expect( 101 | page.getByTestId('agentic-session-list').getByRole('button', { name: AGENT_SESSION_TITLE, exact: true }), > 102 | ).toBeVisible({ timeout: 30_000 }); | ^ 103 | return session.sessionId; 104 | } 105 | at createActiveTask (/home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:102:5) at /home/runner/work/core/core/tools/playwright/src/tests/acp-chat-agentic-header-maximize.test.ts:218:29
ubuntu-latest, Node.js 20.x
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Slow Test: src/tests/acp-chat-agentic-history-restore-after-session-release.test.ts#L0
src/tests/acp-chat-agentic-history-restore-after-session-release.test.ts took 15.6s
Slow Test: src/tests/acp-chat-agentic-long-history-switching.test.ts#L0
src/tests/acp-chat-agentic-long-history-switching.test.ts took 29.6s
Slow Test: src/tests/acp-chat-agentic-error-taxonomy.test.ts#L0
src/tests/acp-chat-agentic-error-taxonomy.test.ts took 1.7m
🎭 Playwright Run Summary
2 failed ../../src/tests/acp-chat-agentic-header-maximize.test.ts:208:7 › ACP Chat Agentic Header Maximize › Header title remains visible and maximize toggles the Agentic workbench ../../src/tests/acp-chat-agentic-long-history-switching.test.ts:135:7 › ACP Chat Agentic long-history switching › switches two 1000-message Tasks without page reload, unbounded DOM, replay, or mixed session content 1 flaky ../../src/tests/acp-chat-agentic-layout-interop.test.ts:140:7 › ACP Chat Agentic 布局互操作 › 打开文件、只读工具、重载和布局往返后仍保持可用 85 did not run 26 passed (11.1m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report
1.16 MB
sha256:a1e5f002f7aae2e7473fbfdd0e14e345257674bddde4a95a9184a3fa50790cab