# NousResearch/hermes-agent · WeChat polling timeout and error handling fixes

## Open now

- 1 issue, 0 PRs open on GitHub.
- #23523: \[Bug\]: WeChat zombie connection — _get_updates swallows asyncio.TimeoutError as empty success, never detects network drop

These issues and PRs address a bug where asyncio.TimeoutError during WeChat long-polling is silently treated as success, masking network drops and zombie connections. Proposed fixes involve returning proper error codes on timeout, escalating fatal errors, and improving session reliability and backoff behavior.

## TL;DR

- 5 member(s): 1 open issue(s), 0 closed issue(s), 0 open PR(s), 0 merged PR(s), 4 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.40`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #23523: \[Bug\]: WeChat zombie connection — _get_updates swallows asyncio.TimeoutError as empty success, never detects network drop

## Prior & competing PRs

- **#23534: fix(gateway/weixin): return error code on long-poll timeout instead of masking as success**. closed without merge · fix tier `suggested`
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#35283: fix(weixin): 修复 iLink 消息投递可靠性 — stale session、退避、zombie poll 和 typing 频率限流**. closed without merge · fix tier `suggested`
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - _suggested-tier fix detail withheld; re-request with `?tier=all` to include it._
- **#34216: fix(weixin): don't swallow asyncio.TimeoutError as success in _get_updates**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#23529`
- **#99157: fix(weixin): re-raise TimeoutError in _get_updates to prevent zombie connection**. closed without merge
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#23529`

## Fix status

- No merged fix on record.
- Subsystem: `gateway`
