diff --git a/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducer.kt b/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducer.kt index 2564e361..6d44c45c 100644 --- a/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducer.kt +++ b/app/src/main/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducer.kt @@ -388,6 +388,7 @@ object ChatWsEventReducer { state.copy( messages = state.messages.upsertById(msg), isAgentTyping = false, + clarifyRequest = null, ), effects = effects, ) diff --git a/app/src/test/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducerTest.kt b/app/src/test/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducerTest.kt index eb984ba5..cfc351d5 100644 --- a/app/src/test/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducerTest.kt +++ b/app/src/test/java/com/m57/hermescontrol/ui/chat/ChatWsEventReducerTest.kt @@ -7,6 +7,25 @@ import org.junit.Assert.assertTrue import org.junit.Test class ChatWsEventReducerTest { + @Test + fun testMessageComplete_clearsResolvedClarifyRequest() { + val state = + ChatUiState( + currentSessionId = "session-1", + clarifyRequest = ClarifyUi("Old question", emptyList(), "clarify-1"), + ) + + val result = + ChatWsEventReducer.reduce( + state = state, + streamingState = StreamingState(), + event = WsEvent.MessageComplete("Done", "session-1"), + currentSessionId = "session-1", + ) + + assertEquals(null, result.state.clarifyRequest) + } + @Test fun testToolProgress_updatesProgressPreviewForMatchingRunningTool() { val initialMessage =