mirror of
https://github.com/nesquena/hermes-webui.git
synced 2026-05-25 19:20:16 +00:00
120ec5eba2
When a provider error (401/429/rate-limit) causes the agent to return without producing a new assistant reply, the WebUI should emit an apperror event so the user sees an inline error. However, the detection logic scanned ALL messages in result['messages'] — which includes the full conversation history. If any prior turn had an assistant response, _assistant_added would be True and the apperror would be silently skipped, leaving the user staring at a blank response. Extract a helper _has_new_assistant_reply(all_messages, prev_count) that only inspects messages beyond the pre-turn history offset. Apply it to both the main detection path and the self-heal/retry path. Tests: 15 new cases covering history masking, empty content, whitespace, edge-case shrinks, and multi-assistant scenarios.