diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index fb5dd5f..99bdf0a 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -31,7 +31,6 @@ function App() { onSelect={(id) => switchTo(id)} onCreate={async () => { await createNew() - await refresh() }} onLogout={logout} /> diff --git a/frontend/src/components/ChatPanel.tsx b/frontend/src/components/ChatPanel.tsx index d44d597..16e256e 100644 --- a/frontend/src/components/ChatPanel.tsx +++ b/frontend/src/components/ChatPanel.tsx @@ -58,7 +58,7 @@ export function ChatPanel({ messages, isStreaming, onSend, sessionId }: ChatPane
{messages.map(message => ( -
+
{message.role === 'assistant' ? (
{message.content} diff --git a/frontend/src/components/LoginPage.tsx b/frontend/src/components/LoginPage.tsx index a5ea3c9..a5d38a3 100644 --- a/frontend/src/components/LoginPage.tsx +++ b/frontend/src/components/LoginPage.tsx @@ -28,7 +28,7 @@ export function LoginPage({ onLogin }: LoginPageProps) {

Research Workbench

- {error &&
{error}
} + {error &&
{error}
} { if (!iframeRef.current?.contentWindow) return + if (event.source !== iframeRef.current.contentWindow) return const msg = event.data if (!msg || msg.jsonrpc !== '2.0') return diff --git a/frontend/src/hooks/useArtifacts.ts b/frontend/src/hooks/useArtifacts.ts index 10f8fcf..b7dac7d 100644 --- a/frontend/src/hooks/useArtifacts.ts +++ b/frontend/src/hooks/useArtifacts.ts @@ -8,8 +8,12 @@ export function useArtifacts(sessionId: string | null) { async function refresh() { if (!sessionId) return - const data = await api.listArtifacts(sessionId) - setArtifacts(data) + try { + const data = await api.listArtifacts(sessionId) + setArtifacts(data) + } catch (err) { + console.error('Failed to list artifacts:', err) + } } async function loadArtifact(name: string) {