mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-24 16:54:43 +00:00
Widening for #24117 ('is thinking...' stuck after the response was sent): the stuck-thinking class is a missing-cleanup-on-error-path bug. send()'s status clear was gated on thread_ts already being resolved and on reaching the normal post-message path, which left the Slack Assistant status visible when a turn ended through any sibling exit: - exception BEFORE _resolve_thread_ts (slash-context handling, formatting, DM resolution) — the 'if thread_ts: stop_typing' clear never ran - empty/whitespace-only final response (no_text guard early-return) - ephemeral slash replies (Slack only auto-clears assistant status on real thread replies; ephemerals never count) Add _clear_thread_status_quietly() — a best-effort stop_typing wrapper that never masks the caller's SendResult — and wire it at every send() exit plus the finalize paths of edit_message. stop_typing already handles the untracked-thread fallback (clearing an unset status is a no-op on Slack's side), so this is pure coverage widening. Also add the #18859 unit tests for _resolve_progress_thread_id's new reply_in_thread gate (synthetic-thread drop, real-thread keep, event-id fallback suppression, default unchanged). A/B: 3 of the 4 new status-clear tests fail with the adapter widening reverted and pass with it applied; the fourth pins the existing cleanup-must-not-mask-result contract. |
||
|---|---|---|
| .. | ||
| browser | ||
| context_engine | ||
| cron_providers | ||
| dashboard_auth | ||
| disk-cleanup | ||
| google_meet | ||
| hermes-achievements | ||
| image_gen | ||
| kanban | ||
| memory | ||
| model-providers | ||
| observability | ||
| platforms | ||
| security-guidance | ||
| spotify | ||
| teams_pipeline | ||
| video_gen | ||
| web | ||
| __init__.py | ||
| plugin_utils.py | ||