fix(chat): animate app logo while thinking
Build / build (push) Canceled after 0s
Playwright / e2e (push) Canceled after 0s

This commit is contained in:
2026-11-05 12:19:13 +08:00
parent e35a5626c6
commit 7ee844cd88
3 changed files with 40 additions and 4 deletions
+19
View File
@@ -138,6 +138,25 @@ test('groups assistant output across tool calls until the run ends', async ({ pa
await expect(page.locator('.run-end')).toHaveText('Run output ended')
})
test('animates the application logo while thinking and respects reduced motion', async ({ page }) => {
await authenticate(page, TEST_ACCESS_KEY, 'research')
await mockHermesApi(page)
await mockChatSocket(page)
await page.goto('/#/hermes/chat')
await sendChatMessage(page, 'think')
const { sessionId } = await waitForRunSessionId(page)
await page.evaluate((sid) => {
(window as any).__PW_CHAT_SOCKET__.latest.__trigger('run.started', { event: 'run.started', session_id: sid, run_id: 'thinking-logo' })
}, sessionId)
const avatar = page.locator('.thinking-avatar')
await expect(avatar).toBeVisible()
await expect(avatar).toHaveAttribute('src', '/app-logo.png')
await expect(avatar).toHaveCSS('animation-name', /^thinking-avatar-breathe/)
await page.emulateMedia({ reducedMotion: 'reduce' })
await expect(avatar).toHaveCSS('animation-name', 'none')
await expect(page.locator('.thinking-status-label')).toHaveCSS('animation-name', 'none')
})
test('opens the session model dialog and the session search from the chat header', async ({ page }) => {
await authenticate(page, TEST_ACCESS_KEY, 'research')
await mockHermesApi(page, { sessions: [sampleSession] })