From 115c4981a672c4d0896abffb0f00d8431166db31 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Mon, 22 Jun 2026 14:53:09 +0200 Subject: [PATCH 1/2] feat(frontend): add stop button to cancel streaming response - Add stop() from useChat to destructure - Add conditional Stop button visible only while isAssistantTyping - Stop button replaces send button during streaming - Call stop() on click to cancel the AI response Closes #484 --- apps/frontend/components/chat/ProjectChat.tsx | 43 ++++++++++++------- 1 file changed, 27 insertions(+), 16 deletions(-) diff --git a/apps/frontend/components/chat/ProjectChat.tsx b/apps/frontend/components/chat/ProjectChat.tsx index c77a8996..b5209ded 100644 --- a/apps/frontend/components/chat/ProjectChat.tsx +++ b/apps/frontend/components/chat/ProjectChat.tsx @@ -37,6 +37,7 @@ import { MicOff, RotateCcw, SendIcon, + Square, Volume2, VolumeX, X, @@ -512,7 +513,7 @@ function ProjectChatSession({ } }, [selectedModelId, selectableModels]); - const { messages, sendMessage, status, addToolOutput } = useChat({ + const { messages, sendMessage, status, addToolOutput, stop } = useChat({ chat: entry.chat, }); @@ -915,21 +916,31 @@ function ProjectChatSession({ {isRecording ? : } )} - + {isAssistantTyping ? ( + + ) : ( + + )} From 3ec0d87c08a903b85a53c69f0d53494205c50d2b Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Mon, 22 Jun 2026 15:02:33 +0200 Subject: [PATCH 2/2] fix(frontend): add missing stop.response i18n key for stop button accessibility --- apps/frontend/messages/de.json | 1 + apps/frontend/messages/en.json | 1 + 2 files changed, 2 insertions(+) diff --git a/apps/frontend/messages/de.json b/apps/frontend/messages/de.json index 8c6c0744..24ea0c60 100644 --- a/apps/frontend/messages/de.json +++ b/apps/frontend/messages/de.json @@ -91,6 +91,7 @@ "copied.code": "Code kopiert", "start.recording": "Spracheingabe starten", "stop.recording": "Spracheingabe beenden", + "stop.response": "Antwort stoppen", "play.message": "Abspielen", "stop.speaking": "Stopp", "deep.mode": "Tiefe Analyse", diff --git a/apps/frontend/messages/en.json b/apps/frontend/messages/en.json index 14656ab3..35e2f248 100644 --- a/apps/frontend/messages/en.json +++ b/apps/frontend/messages/en.json @@ -91,6 +91,7 @@ "copied.code": "Code copied", "start.recording": "Start voice input", "stop.recording": "Stop voice input", + "stop.response": "Stop response", "play.message": "Play", "stop.speaking": "Stop", "deep.mode": "Deep Mode",