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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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