Skip to content

fix(channels): memory leaks, race conditions, and stability fixes #71

Description

@jdmanring

Summary

Multiple stability fixes across channel implementations (weixin, qqbot, feishu, telegram, dingtalk):

  • C-02: Added TTL-based eviction to weixin channel Maps to prevent unbounded memory growth
  • C-03: Replaced private SessionRouter internals access in qqbot with public API
  • C-10, C-11: Fixed dual-emit of approval_mode_changed events and feishu busy-wait race condition
  • H-10-H-18: Fixed memory leaks, reconnect loops, double-read bugs, and WS probe race conditions
  • L-24-L-27: Fixed stripTables multiline cells, redacted telegram token in logs, stricter isTableRow, countFences regex

Files Changed

  • packages/channels/weixin/src/monitor.ts
  • packages/channels/weixin/src/WeixinAdapter.ts
  • packages/channels/qqbot/src/QQChannel.ts
  • packages/channels/feishu/src/FeishuAdapter.ts
  • packages/acp-bridge/src/bridge.ts

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature
  • Breaking change
  • Refactor

Testing

  • Unit tests pass
  • Integration tests pass
  • Manual testing performed

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions