{"repo":"NousResearch/hermes-agent","public_id":"87057","display_label":"Windows Telegram polling deadlock and typing re-arm fixes","summary":"These issues and fixes address a Windows-specific deadlock where stale CLOSE-WAIT sockets block getUpdates long-polling reconnects, and a related problem where awaiting typing re-arms on streaming replies pins the event loop and causes polling to stop receiving updates.","subsystem":"gateway","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":99691,"merged_at":null},"resolution":{"state":"resolved","by":"pr-99691"},"freshness":{"state":"verified","last_verified_at":"2026-09-16T01:55:20+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":87057,"pr_number":99691,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":null},{"issue_number":87057,"pr_number":112201,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":null},{"issue_number":111727,"pr_number":112201,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":null}],"members":[{"kind":"issue","number":87057,"title":"[Bug]: Windows long-polling deadlock on Telegram reconnect (CLOSE-WAIT stale socket hang)","url":null,"state":"closed"},{"kind":"pr","number":87265,"title":"fix(telegram): prevent Windows long-poll socket reuse deadlock","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#99691","number":99691},{"kind":"pr","value":"#87111","number":87111}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":99691,"title":"fix(telegram): recover Windows CLOSE-WAIT getUpdates reconnect deadlock","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":[".github/workflows/windows-venv-e2e.yml","plugins/platforms/telegram/adapter.py","plugins/platforms/telegram/telegram_network.py","tests/gateway/test_telegram_closewait_limits_31599.py","tests/gateway/test_telegram_closewait_windows_live.py","tests/gateway/test_telegram_network.py","tests/gateway/test_telegram_network_reconnect.py"]},{"kind":"pr","number":111886,"title":"fix(telegram): schedule the post-send typing re-arm instead of awaiting it","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"3250020b34","number":0},{"kind":"pr","value":"#112201","number":112201}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":112201,"title":"fix(telegram): streaming replies no longer pin the event loop on typing re-arms, so getUpdates polls stop going deaf (#111727, salvage #111886)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","plugins/platforms/telegram/adapter.py","tests/gateway/test_telegram_typing_retrigger.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}