diff --git a/src/RockBot.UserProxy.Blazor/Pages/Chat.razor b/src/RockBot.UserProxy.Blazor/Pages/Chat.razor
index 6d02b48..2e43d23 100644
--- a/src/RockBot.UserProxy.Blazor/Pages/Chat.razor
+++ b/src/RockBot.UserProxy.Blazor/Pages/Chat.razor
@@ -20,8 +20,6 @@
}
-
@if (ChatState.IsProcessing)
{
@(IsDarkMode ? "☀️" : "🌙")
+
diff --git a/src/RockBot.UserProxy.Blazor/Services/ChatStateService.cs b/src/RockBot.UserProxy.Blazor/Services/ChatStateService.cs
index 4153b19..bb6cb1d 100644
--- a/src/RockBot.UserProxy.Blazor/Services/ChatStateService.cs
+++ b/src/RockBot.UserProxy.Blazor/Services/ChatStateService.cs
@@ -133,9 +133,13 @@ public void AddAgentReply(AgentReply reply, MessageCategory category = MessageCa
{
lock (_lock)
{
- // When a PrimaryFinal message arrives, close the primary activity log
+ // Close the activity log for the source that just finished.
+ // PrimaryFinal closes the PrimaryProgress log (different category names);
+ // subagent / A2A / scheduled final replies close their own category's log.
if (category == MessageCategory.PrimaryFinal)
_activeActivityLogs.Remove(ActivityLogKey(MessageCategory.PrimaryProgress, null));
+ else
+ _activeActivityLogs.Remove(ActivityLogKey(category, reply.AgentName));
_messages.Add(new ChatMessage
{