diff --git a/core/http/react-ui/e2e/agents.spec.js b/core/http/react-ui/e2e/agents.spec.js index 1935413bf6f2..d4d65d9e5d58 100644 --- a/core/http/react-ui/e2e/agents.spec.js +++ b/core/http/react-ui/e2e/agents.spec.js @@ -38,4 +38,13 @@ test.describe('Agents page', () => { // when the render won, swinging total UI coverage ~1pp run-to-run. await expect(page.getByRole('heading', { name: 'Create Agent' })).toBeVisible() }) + + test('opens agent status without leaving an active chat', async ({ page }) => { + await page.goto('/app/agents/demo/chat?user_id=test-user') + + const status = page.getByRole('link', { name: 'Status' }) + await expect(status).toHaveAttribute('href', '/app/agents/demo/status?user_id=test-user') + await expect(status).toHaveAttribute('target', '_blank') + await expect(page).toHaveURL(/\/app\/agents\/demo\/chat\?user_id=test-user$/) + }) }) diff --git a/core/http/react-ui/src/pages/AgentChat.jsx b/core/http/react-ui/src/pages/AgentChat.jsx index 34ccb5b6f5fe..f4020fe2e64e 100644 --- a/core/http/react-ui/src/pages/AgentChat.jsx +++ b/core/http/react-ui/src/pages/AgentChat.jsx @@ -1,5 +1,5 @@ import { useState, useEffect, useRef, useCallback, useMemo } from 'react' -import { useParams, useNavigate, useOutletContext, useSearchParams } from 'react-router-dom' +import { useParams, useOutletContext, useSearchParams } from 'react-router-dom' import { agentsApi } from '../utils/api' import { apiUrl } from '../utils/basePath' import { renderMarkdown, highlightAll, enhanceCodeBlocks } from '../utils/markdown' @@ -72,7 +72,6 @@ function AgentActivityGroup({ items }) { export default function AgentChat() { const { name } = useParams() - const navigate = useNavigate() const { addToast } = useOutletContext() const [searchParams] = useSearchParams() const userId = searchParams.get('user_id') || undefined @@ -600,9 +599,15 @@ export default function AgentChat() { {artifacts.length} )} - +