Skip to content

Multi-agent defaults: 5 built-in agents with per-agent tools, prompts, and suggestions #1173

Multi-agent defaults: 5 built-in agents with per-agent tools, prompts, and suggestions

Multi-agent defaults: 5 built-in agents with per-agent tools, prompts, and suggestions #1173

Triggered via pull request April 26, 2026 03:53
Status Failure
Total duration 2h 35m 33s
Artifacts 12

e2e.yml

on: pull_request
Matrix: e2e
Fit to window
Zoom out
Zoom in

Annotations

60 errors and 6 notices
[chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present: tests/e2e/admin-page.spec.js#L59
4) [chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-messages').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-messages').first() 57 | test( 'message list container is present', async ( { page } ) => { 58 | const messageList = getMessageList( page ); > 59 | await expect( messageList ).toBeVisible(); | ^ 60 | } ); 61 | 62 | test( 'empty state is shown when no messages', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:59:31
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present: tests/e2e/admin-page.spec.js#L59
4) [chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-messages').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-messages').first() 57 | test( 'message list container is present', async ( { page } ) => { 58 | const messageList = getMessageList( page ); > 59 | await expect( messageList ).toBeVisible(); | ^ 60 | } ); 61 | 62 | test( 'empty state is shown when no messages', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:59:31
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable: tests/e2e/admin-page.spec.js#L52
3) [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 50 | test( 'message input is present and focusable', async ( { page } ) => { 51 | const input = getMessageInput( page ); > 52 | await expect( input ).toBeVisible(); | ^ 53 | await input.focus(); 54 | await expect( input ).toBeFocused(); 55 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:52:25
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page: tests/e2e/admin-page.spec.js#L47
2) [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact)').first() 45 | test( 'chat panel is visible on admin page', async ( { page } ) => { 46 | const chatPanel = getChatPanel( page ); > 47 | await expect( chatPanel ).toBeVisible(); | ^ 48 | } ); 49 | 50 | test( 'message input is present and focusable', async ( { page } ) => { at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:47:29
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout: tests/e2e/admin-page.spec.js#L40
1) [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout Error: expect(locator).toBeVisible() failed Locator: locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#gratis-ai-agent-chat-container').locator('.gratis-ai-agent-layout') 38 | // the floating widget's hidden elements. 39 | const chatContainer = page.locator( '#gratis-ai-agent-chat-container' ); > 40 | await expect( chatContainer.locator( '.gratis-ai-agent-layout' ) ).toBeVisible(); | ^ 41 | await expect( chatContainer.locator( '.gratis-ai-agent-sidebar' ) ).toBeVisible(); 42 | await expect( chatContainer.locator( '.gratis-ai-agent-main' ) ).toBeVisible(); 43 | } ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/admin-page.spec.js:40:70
[chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing: tests/e2e/shared-conversations.spec.js#L259
3) [chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing, context menu shows Unshare option Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:351:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing: tests/e2e/shared-conversations.spec.js#L259
3) [chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing, context menu shows Unshare option Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:351:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L259
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:321:10
[chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint: tests/e2e/shared-conversations.spec.js#L314
2) [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint TimeoutError: page.waitForRequest: Timeout 5000ms exceeded while waiting for event "request" 312 | // Decode the URL before matching because wp-env uses the 313 | // index.php?rest_route= format with URL-encoded slashes (%2F). > 314 | const shareRequestPromise = page.waitForRequest( | ^ 315 | ( req ) => 316 | decodeURIComponent( req.url() ).includes( '/share' ) && 317 | req.method() === 'POST', at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:314:37
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner: tests/e2e/shared-conversations.spec.js#L259
1) [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner Error: expect(locator).toBeVisible() failed Locator: locator('.gratis-ai-agent-session-item').first() Expected: visible Timeout: 10000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for locator('.gratis-ai-agent-session-item').first() 257 | async function openFirstSessionContextMenu( page ) { 258 | const sessionItem = page.locator( '.gratis-ai-agent-session-item' ).first(); > 259 | await expect( sessionItem ).toBeVisible( { timeout: 10_000 } ); | ^ 260 | // Hover to reveal the ⋯ button, then click it. 261 | await sessionItem.hover(); 262 | await sessionItem.locator( '.gratis-ai-agent-session-more' ).click(); at openFirstSessionContextMenu (/home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:259:30) at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/shared-conversations.spec.js:300:10
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L218
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.fill: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 216 | } ) => { 217 | const input = getMessageInput( page ); > 218 | await input.fill( 'First line' ); | ^ 219 | await input.press( 'Shift+Enter' ); 220 | await input.type( 'Second line' ); 221 | at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:218:15
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L0
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L218
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Error: locator.fill: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 216 | } ) => { 217 | const input = getMessageInput( page ); > 218 | await input.fill( 'First line' ); | ^ 219 | await input.press( 'Shift+Enter' ); 220 | await input.type( 'Second line' ); 221 | at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:218:15
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L0
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L218
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.fill: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 216 | } ) => { 217 | const input = getMessageInput( page ); > 218 | await input.fill( 'First line' ); | ^ 219 | await input.press( 'Shift+Enter' ); 220 | await input.type( 'Second line' ); 221 | at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:218:15
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L0
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L218
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Error: locator.fill: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 216 | } ) => { 217 | const input = getMessageInput( page ); > 218 | await input.fill( 'First line' ); | ^ 219 | await input.press( 'Shift+Enter' ); 220 | await input.type( 'Second line' ); 221 | at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:218:15
[chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending: tests/e2e/chat-interactions.spec.js#L0
2) [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 90000ms exceeded.
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L205
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Error: locator.evaluate: Test timeout of 90000ms exceeded. Call log: - waiting for locator('.gratis-ai-agent-chat-panel:not(.is-compact) .gratis-ai-agent-input').first() 203 | test( 'textarea auto-resizes as text grows', async ( { page } ) => { 204 | const input = getMessageInput( page ); > 205 | const initialHeight = await input.evaluate( ( el ) => el.offsetHeight ); | ^ 206 | 207 | // Type multiple lines. 208 | await input.fill( 'Line 1\nLine 2\nLine 3\nLine 4\nLine 5' ); at /home/runner/work/gratis-ai-agent/gratis-ai-agent/tests/e2e/chat-interactions.spec.js:205:37
[chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows: tests/e2e/chat-interactions.spec.js#L0
1) [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows Test timeout of 90000ms exceeded.
🎭 Playwright Run Summary
21 failed [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable [chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present [chromium] › tests/e2e/admin-page.spec.js:62:2 › Admin Page - Chat UI › empty state is shown when no messages [chromium] › tests/e2e/admin-page.spec.js:71:2 › Admin Page - Chat UI › send button is disabled when input is empty [chromium] › tests/e2e/admin-page.spec.js:76:2 › Admin Page - Chat UI › send button enables when input has text [chromium] › tests/e2e/admin-page.spec.js:84:2 › Admin Page - Chat UI › clearing input disables send button [chromium] › tests/e2e/admin-page.spec.js:95:2 › Admin Page - Chat UI › message input placeholder text is correct [chromium] › tests/e2e/admin-page.spec.js:103:2 › Admin Page - Chat UI › sidebar has new chat button [chromium] › tests/e2e/admin-page.spec.js:108:2 › Admin Page - Chat UI › sidebar has session search input [chromium] › tests/e2e/admin-page.spec.js:120:2 › Admin Page - Session Management › new chat button clears the current session [chromium] › tests/e2e/admin-page.spec.js:145:2 › Admin Page - Session Management › session list shows sessions after a message is sent [chromium] › tests/e2e/admin-page.spec.js:175:2 › Admin Page - Keyboard Shortcuts › Ctrl+N / Cmd+N starts a new chat [chromium] › tests/e2e/admin-page.spec.js:198:2 › Admin Page - Keyboard Shortcuts › Ctrl+K / Cmd+K focuses the sidebar search [chromium] › tests/e2e/agent-builder.spec.js:784:2 › Agent Builder - Agent Selector in Chat › agent selector is visible in the chat panel when agents exist [chromium] › tests/e2e/agent-builder.spec.js:794:2 › Agent Builder - Agent Selector in Chat › agent selector contains the custom agent by name [chromium] › tests/e2e/agent-builder.spec.js:809:2 › Agent Builder - Agent Selector in Chat › selecting an agent from the dropdown updates the selection [chromium] › tests/e2e/agent-builder.spec.js:823:2 › Agent Builder - Agent Selector in Chat › agent selector includes a "Default agent" option [chromium] › tests/e2e/agent-builder.spec.js:834:2 › Agent Builder - Agent Selector in Chat › selecting "Default agent" resets the agent selection [chromium] › tests/e2e/agent-builder.spec.js:858:2 › Agent Builder - Full Lifecycle › create, verify in chat selector, edit, then delete an agent 61 passed (35.5m)
🎭 Playwright Run Summary
21 failed [chromium] › tests/e2e/admin-page.spec.js:33:2 › Admin Page - Chat UI › admin page loads with correct layout [chromium] › tests/e2e/admin-page.spec.js:45:2 › Admin Page - Chat UI › chat panel is visible on admin page [chromium] › tests/e2e/admin-page.spec.js:50:2 › Admin Page - Chat UI › message input is present and focusable [chromium] › tests/e2e/admin-page.spec.js:57:2 › Admin Page - Chat UI › message list container is present [chromium] › tests/e2e/admin-page.spec.js:62:2 › Admin Page - Chat UI › empty state is shown when no messages [chromium] › tests/e2e/admin-page.spec.js:71:2 › Admin Page - Chat UI › send button is disabled when input is empty [chromium] › tests/e2e/admin-page.spec.js:76:2 › Admin Page - Chat UI › send button enables when input has text [chromium] › tests/e2e/admin-page.spec.js:84:2 › Admin Page - Chat UI › clearing input disables send button [chromium] › tests/e2e/admin-page.spec.js:95:2 › Admin Page - Chat UI › message input placeholder text is correct [chromium] › tests/e2e/admin-page.spec.js:103:2 › Admin Page - Chat UI › sidebar has new chat button [chromium] › tests/e2e/admin-page.spec.js:108:2 › Admin Page - Chat UI › sidebar has session search input [chromium] › tests/e2e/admin-page.spec.js:120:2 › Admin Page - Session Management › new chat button clears the current session [chromium] › tests/e2e/admin-page.spec.js:145:2 › Admin Page - Session Management › session list shows sessions after a message is sent [chromium] › tests/e2e/admin-page.spec.js:175:2 › Admin Page - Keyboard Shortcuts › Ctrl+N / Cmd+N starts a new chat [chromium] › tests/e2e/admin-page.spec.js:198:2 › Admin Page - Keyboard Shortcuts › Ctrl+K / Cmd+K focuses the sidebar search [chromium] › tests/e2e/agent-builder.spec.js:784:2 › Agent Builder - Agent Selector in Chat › agent selector is visible in the chat panel when agents exist [chromium] › tests/e2e/agent-builder.spec.js:794:2 › Agent Builder - Agent Selector in Chat › agent selector contains the custom agent by name [chromium] › tests/e2e/agent-builder.spec.js:809:2 › Agent Builder - Agent Selector in Chat › selecting an agent from the dropdown updates the selection [chromium] › tests/e2e/agent-builder.spec.js:823:2 › Agent Builder - Agent Selector in Chat › agent selector includes a "Default agent" option [chromium] › tests/e2e/agent-builder.spec.js:834:2 › Agent Builder - Agent Selector in Chat › selecting "Default agent" resets the agent selection [chromium] › tests/e2e/agent-builder.spec.js:858:2 › Agent Builder - Full Lifecycle › create, verify in chat selector, edit, then delete an agent 61 passed (35.3m)
🎭 Playwright Run Summary
26 failed [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint [chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing, context menu shows Unshare option [chromium] › tests/e2e/shared-conversations.spec.js:362:3 › Shared Conversations (t091) › Owner — share a session › shared session shows shared badge icon in sidebar [chromium] › tests/e2e/shared-conversations.spec.js:413:3 › Shared Conversations (t091) › Owner — revoke share › clicking Unshare calls the DELETE share endpoint [chromium] › tests/e2e/shared-conversations.spec.js:449:3 › Shared Conversations (t091) › Owner — revoke share › after revoking, shared sessions list is refreshed [chromium] › tests/e2e/shared-conversations.spec.js:519:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › "Shared" tab is visible in the session sidebar [chromium] › tests/e2e/shared-conversations.spec.js:526:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › clicking "Shared" tab fetches shared sessions [chromium] › tests/e2e/shared-conversations.spec.js:546:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › shared session appears in "Shared" tab list [chromium] › tests/e2e/shared-conversations.spec.js:575:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › empty state shown when no shared sessions [chromium] › tests/e2e/shared-conversations.spec.js:601:3 › Shared Conversations (t091) › Second admin — view permission › second admin can see shared session in "Shared" tab [chromium] › tests/e2e/shared-conversations.spec.js:654:3 › Shared Conversations (t091) › Second admin — view permission › second admin cannot see Share/Unshare in context menu (non-owner) [chromium] › tests/e2e/shared-conversations.spec.js:721:3 › Shared Conversations (t091) › Second admin — contribute permission › second admin can send a message in a shared session [chromium] › tests/e2e/shared-conversations.spec.js:819:3 › Shared Conversations (t091) › Second admin — contribute permission › second admin cannot delete a shared session (non-owner restriction) [chromium] › tests/e2e/shared-conversations.spec.js:878:3 › Shared Conversations (t091) › Revoke share — second admin loses access › after revocation, shared session no longer appears in second admin Shared tab [chromium] › tests/e2e/spending-limits.spec.js:568:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator is hidden when no caps are configured [chromium] › tests/e2e/spending-limits.spec.js:591:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows ok state when spend is below warning threshold [chromium] › tests/e2e/spending-limits.spec.js:620:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows warning state when threshold is approached [chromium] › tests/e2e/spending-limits.spec.js:649:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows exceeded state when cap is surpassed [chromium] › tests/e2e/spending-limits.spec.js:678:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator uses monthly cap when no daily cap is set [chromium] › tests/e2e/text-to-speech.spec.js:323:2 › TTS Toggle Button › TTS toggle button is visible in the chat header [chromium] › tests/e2e/text-to-speech.spec.js:340:2 › TTS Toggle Button › clicking TTS toggle button enables TTS and adds is-active class [chromium] › tests/e2e/text-to-speech.spec.js:365:2
🎭 Playwright Run Summary
26 failed [chromium] › tests/e2e/shared-conversations.spec.js:297:3 › Shared Conversations (t091) › Owner — share a session › share option appears in session context menu for owner [chromium] › tests/e2e/shared-conversations.spec.js:308:3 › Shared Conversations (t091) › Owner — share a session › clicking Share with Admins calls the share endpoint [chromium] › tests/e2e/shared-conversations.spec.js:332:3 › Shared Conversations (t091) › Owner — share a session › after sharing, context menu shows Unshare option [chromium] › tests/e2e/shared-conversations.spec.js:362:3 › Shared Conversations (t091) › Owner — share a session › shared session shows shared badge icon in sidebar [chromium] › tests/e2e/shared-conversations.spec.js:413:3 › Shared Conversations (t091) › Owner — revoke share › clicking Unshare calls the DELETE share endpoint [chromium] › tests/e2e/shared-conversations.spec.js:449:3 › Shared Conversations (t091) › Owner — revoke share › after revoking, shared sessions list is refreshed [chromium] › tests/e2e/shared-conversations.spec.js:519:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › "Shared" tab is visible in the session sidebar [chromium] › tests/e2e/shared-conversations.spec.js:526:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › clicking "Shared" tab fetches shared sessions [chromium] › tests/e2e/shared-conversations.spec.js:546:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › shared session appears in "Shared" tab list [chromium] › tests/e2e/shared-conversations.spec.js:575:3 › Shared Conversations (t091) › Shared sessions list — "Shared" tab › empty state shown when no shared sessions [chromium] › tests/e2e/shared-conversations.spec.js:601:3 › Shared Conversations (t091) › Second admin — view permission › second admin can see shared session in "Shared" tab [chromium] › tests/e2e/shared-conversations.spec.js:654:3 › Shared Conversations (t091) › Second admin — view permission › second admin cannot see Share/Unshare in context menu (non-owner) [chromium] › tests/e2e/shared-conversations.spec.js:721:3 › Shared Conversations (t091) › Second admin — contribute permission › second admin can send a message in a shared session [chromium] › tests/e2e/shared-conversations.spec.js:819:3 › Shared Conversations (t091) › Second admin — contribute permission › second admin cannot delete a shared session (non-owner restriction) [chromium] › tests/e2e/shared-conversations.spec.js:878:3 › Shared Conversations (t091) › Revoke share — second admin loses access › after revocation, shared session no longer appears in second admin Shared tab [chromium] › tests/e2e/spending-limits.spec.js:568:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator is hidden when no caps are configured [chromium] › tests/e2e/spending-limits.spec.js:591:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows ok state when spend is below warning threshold [chromium] › tests/e2e/spending-limits.spec.js:620:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows warning state when threshold is approached [chromium] › tests/e2e/spending-limits.spec.js:649:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator shows exceeded state when cap is surpassed [chromium] › tests/e2e/spending-limits.spec.js:678:2 › Spending Limits — Budget Indicator (GH#651) › budget indicator uses monthly cap when no daily cap is set [chromium] › tests/e2e/text-to-speech.spec.js:323:2 › TTS Toggle Button › TTS toggle button is visible in the chat header [chromium] › tests/e2e/text-to-speech.spec.js:340:2 › TTS Toggle Button › clicking TTS toggle button enables TTS and adds is-active class [chromium] › tests/e2e/text-to-speech.spec.js:365:2
🎭 Playwright Run Summary
34 failed [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending [chromium] › tests/e2e/chat-interactions.spec.js:226:2 › Chat Input Interactions › Enter key sends the message [chromium] › tests/e2e/chat-interactions.spec.js:235:2 › Chat Input Interactions › send button click sends the message [chromium] › tests/e2e/chat-interactions.spec.js:245:2 › Chat Input Interactions › stop button appears while sending [chromium] › tests/e2e/chat-interactions.spec.js:272:2 › Slash Command Menu › slash menu appears when typing / [chromium] › tests/e2e/chat-interactions.spec.js:280:2 › Slash Command Menu › slash menu shows expected commands [chromium] › tests/e2e/chat-interactions.spec.js:295:2 › Slash Command Menu › slash menu filters as user types [chromium] › tests/e2e/chat-interactions.spec.js:310:2 › Slash Command Menu › slash menu closes when Escape is pressed [chromium] › tests/e2e/chat-interactions.spec.js:321:2 › Slash Command Menu › selecting /new from slash menu clears the session [chromium] › tests/e2e/chat-interactions.spec.js:344:2 › Slash Command Menu › /help slash command opens shortcuts dialog [chromium] › tests/e2e/chat-interactions.spec.js:368:2 › Provider Selector › provider selector is visible in the chat header [chromium] › tests/e2e/chat-interactions.spec.js:428:2 › Auto-Title Sessions (t099) › session title updates in sidebar after first AI response [chromium] › tests/e2e/chat-interactions.spec.js:465:2 › Auto-Title Sessions (t099) › session title is not "Untitled" after auto-title fires [chromium] › tests/e2e/chat-interactions.spec.js:493:2 › Auto-Title Sessions (t099) › new session starts as Untitled before any AI response [chromium] › tests/e2e/chat-upload.spec.js:196:2 › Chat Upload - Upload Button (t122) › paperclip upload button is visible in the input row [chromium] › tests/e2e/chat-upload.spec.js:203:2 › Chat Upload - Upload Button (t122) › upload button has accessible label [chromium] › tests/e2e/chat-upload.spec.js:211:2 › Chat Upload - Upload Button (t122) › upload button stays enabled while sending (always-on input) [chromium] › tests/e2e/chat-upload.spec.js:252:2 › Chat Upload - Upload Button (t122) › clicking upload button triggers the hidden file input [chromium] › tests/e2e/chat-upload.spec.js:275:2 › Chat Upload - Drag-Drop Zone (t122) › input area gains is-drag-over class on dragover [chromium] › tests/e2e/chat-upload.spec.js:287:2 › Chat Upload - Drag-Drop Zone (t122) › is-drag-over class is removed on dragleave [chromium] › tests/e2e/chat-upload.spec.js:298:2 › Chat Upload - Drag-Drop Zone (t122) › drop overlay text is shown while dragging over [chromium] › tests/e2e/chat-upload.spec.js:332:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail preview appears after attaching an image [chromium] › tests/e2e/chat-upload.spec.js:346:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows an <img> element for image attachments [chromium] › tests/e2e/chat-upload.spec.js:361:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows file extension badge for non-image attachments [chromium] › tests/e2e/chat-upload.spec.js:373:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows the file name [chromium] › tests/e2e/chat-upload.spec.js:383:2 › Chat Upload - Thumbnail Preview (t122) › multiple files produce multiple thumbnails [chromium] › tests/e2e/chat-upload.spec.js:409:2 › Chat Upload - Remove Button (t122) › each thumbnail has a remove button [chromium] › tests/e2e/chat-upload.spec.js:418:2 › Chat Upload - Remove Button (t122) › remove button has accessible aria-label
🎭 Playwright Run Summary
34 failed [chromium] › tests/e2e/chat-interactions.spec.js:203:2 › Chat Input Interactions › textarea auto-resizes as text grows [chromium] › tests/e2e/chat-interactions.spec.js:214:2 › Chat Input Interactions › Shift+Enter inserts a newline instead of sending [chromium] › tests/e2e/chat-interactions.spec.js:226:2 › Chat Input Interactions › Enter key sends the message [chromium] › tests/e2e/chat-interactions.spec.js:235:2 › Chat Input Interactions › send button click sends the message [chromium] › tests/e2e/chat-interactions.spec.js:245:2 › Chat Input Interactions › stop button appears while sending [chromium] › tests/e2e/chat-interactions.spec.js:272:2 › Slash Command Menu › slash menu appears when typing / [chromium] › tests/e2e/chat-interactions.spec.js:280:2 › Slash Command Menu › slash menu shows expected commands [chromium] › tests/e2e/chat-interactions.spec.js:295:2 › Slash Command Menu › slash menu filters as user types [chromium] › tests/e2e/chat-interactions.spec.js:310:2 › Slash Command Menu › slash menu closes when Escape is pressed [chromium] › tests/e2e/chat-interactions.spec.js:321:2 › Slash Command Menu › selecting /new from slash menu clears the session [chromium] › tests/e2e/chat-interactions.spec.js:344:2 › Slash Command Menu › /help slash command opens shortcuts dialog [chromium] › tests/e2e/chat-interactions.spec.js:368:2 › Provider Selector › provider selector is visible in the chat header [chromium] › tests/e2e/chat-interactions.spec.js:428:2 › Auto-Title Sessions (t099) › session title updates in sidebar after first AI response [chromium] › tests/e2e/chat-interactions.spec.js:465:2 › Auto-Title Sessions (t099) › session title is not "Untitled" after auto-title fires [chromium] › tests/e2e/chat-interactions.spec.js:493:2 › Auto-Title Sessions (t099) › new session starts as Untitled before any AI response [chromium] › tests/e2e/chat-upload.spec.js:196:2 › Chat Upload - Upload Button (t122) › paperclip upload button is visible in the input row [chromium] › tests/e2e/chat-upload.spec.js:203:2 › Chat Upload - Upload Button (t122) › upload button has accessible label [chromium] › tests/e2e/chat-upload.spec.js:211:2 › Chat Upload - Upload Button (t122) › upload button stays enabled while sending (always-on input) [chromium] › tests/e2e/chat-upload.spec.js:252:2 › Chat Upload - Upload Button (t122) › clicking upload button triggers the hidden file input [chromium] › tests/e2e/chat-upload.spec.js:275:2 › Chat Upload - Drag-Drop Zone (t122) › input area gains is-drag-over class on dragover [chromium] › tests/e2e/chat-upload.spec.js:287:2 › Chat Upload - Drag-Drop Zone (t122) › is-drag-over class is removed on dragleave [chromium] › tests/e2e/chat-upload.spec.js:298:2 › Chat Upload - Drag-Drop Zone (t122) › drop overlay text is shown while dragging over [chromium] › tests/e2e/chat-upload.spec.js:332:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail preview appears after attaching an image [chromium] › tests/e2e/chat-upload.spec.js:346:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows an <img> element for image attachments [chromium] › tests/e2e/chat-upload.spec.js:361:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows file extension badge for non-image attachments [chromium] › tests/e2e/chat-upload.spec.js:373:2 › Chat Upload - Thumbnail Preview (t122) › thumbnail shows the file name [chromium] › tests/e2e/chat-upload.spec.js:383:2 › Chat Upload - Thumbnail Preview (t122) › multiple files produce multiple thumbnails [chromium] › tests/e2e/chat-upload.spec.js:409:2 › Chat Upload - Remove Button (t122) › each thumbnail has a remove button [chromium] › tests/e2e/chat-upload.spec.js:418:2 › Chat Upload - Remove Button (t122) › remove button has accessible aria-label

Artifacts

Produced during runtime
Name Size Digest
playwright-report-wp6.9-shard1 Expired
62.6 MB
sha256:eba97e33de6d0635159da354511104f89b7a86a420cc27f56e221a8a4a8f7b40
playwright-report-wp6.9-shard2 Expired
102 MB
sha256:1d6b4d372a37cdd3651cff2fbbb55dc9dd3d2d7b7bb807ce757bc147cff2f458
playwright-report-wp6.9-shard3 Expired
58.7 MB
sha256:856436255d2203c2a38d0667d489dcca1aa96f3506f27e04746a6856afde41a1
playwright-report-wptrunk-shard1 Expired
62.6 MB
sha256:0e4710b5bb43cf100839aff2511f6cc87b191be878e5d69312e5473ce6268d37
playwright-report-wptrunk-shard2 Expired
99.4 MB
sha256:86f4d9d5582d488f95267ddf9c8e310d729847c9a9166e8ec227be5636fed7a9
playwright-report-wptrunk-shard3 Expired
58.6 MB
sha256:c60c13124d52369fbee24a05dfb998a4bbd25452c7fc566cacfd008ebfae7ac2
test-results-wp6.9-shard1 Expired
68.8 MB
sha256:5bc6e96bed0809e2b823e5669dbaec13be889cb70e18bd86c93a2f8b41042412
test-results-wp6.9-shard2 Expired
109 MB
sha256:4bbfe5ed473849e05726dcaab9e62c0b7cfcb88ca73a2a97ab463c266b881454
test-results-wp6.9-shard3 Expired
62.2 MB
sha256:af2ea608c0cc0b4e3a2d2dc6f1a820aa78c1d5f2968b22458d688d8f532c6b27
test-results-wptrunk-shard1 Expired
68.8 MB
sha256:1f6f50ba9b740e4a53788b67de93c73b5e87e504453390f6f6d9910c09e945ce
test-results-wptrunk-shard2 Expired
106 MB
sha256:6434ba653b945258c2e13a13c21bcdb3821fde0c291a629b86d98464fc8539cf
test-results-wptrunk-shard3 Expired
62 MB
sha256:7eefaa038f9a5529eae7ee88e5fe174db31d693c57747f67bc88ad03c18c09c3