Block a user
[B-08][medium] broker 上行队列按编号创建后永不回收;停机时关闭通道可能 panic(为 L-03 提供 Broker.Shutdown)
[B-07][medium] mochi 报错日志会写出整个包:CONNECT 里的密码与会话令牌、PUBLISH 正文进入日志
[B-06][medium] PublishDown 不校验目标是否仍是当前且已订阅的连接:顶号窗口内旧连接的帧发给新连接、握手前的帧推进空主题
[B-05][critical] 认证失败的连接永久留在 broker 连接表,无需凭据即可耗尽内存并拖慢所有按连接查找
[B-04][medium] 停用/删除/重置密码/退出登录靠固定 sleep 等下行写出再断开,且有两条断开路径赛跑,fatal 与 resp 可能丢失
[B-03][high] 慢客户端写阻塞时,向它发布 QoS1 会卡住调用线程,messageLoops 与其他端的处理被连带冻结
[B-02][critical] broker 大帧名额收到 PUBACK 时从不归还,累计 64 条大帧后 PublishDown 永久阻塞、messageLoops 冻结
[B-01][critical] 客户端 CONNECT 带 Receive Maximum 时 mochi 发送配额路径递归读锁死锁,单个客户端即可冻结全站下发
[总览] 2026-09-30 全量复审:问题清单、统一方案与并行修复计划
解散群时 scheduled 消息的消息级回执 state 写成 completed,违反协议枚举
停用/删除/重置密码不发 fatal,identity 未注入 Downlink 导致 revoked 丢失
自助注册未接入 trusted_proxies,安全码锁定按直连/代理 IP 计
管理员登录 IP 锁定会阻断已认证的 Cookie 会话和 API 令牌
[T-01][medium] 测试 WS 客户端不按字节流拆包、并发写不加锁,被误判为服务端死锁;移除群事件 20ms 绕过
未关闭,也未合入 feat/fix-3-downlink-deadlock。当前 main 是 4059a1576bc97879b840ec5200defd80bc9eb3f0,其中仍保留 20ms 绕过。分析已写入仓库 docs/DEVIATIONS.md 末尾「### 死锁未修(issue #3)」。…
解散群时 scheduled 消息的消息级回执 state 写成 completed,违反协议枚举
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。
解散群作废 scheduled 消息时,消息级回执 state 改为 rejected(reason 仍为 group_dissolved)。消息行仍为 completed。
/metrics 已开放但连接数、待投递等指标从未打点
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。
Prometheus 指标已接到连接、投递、确认、写队列与上行错误,沿用既有指标名。
停用/删除/重置密码不发 fatal,identity 未注入 Downlink 导致 revoked 丢失
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。
停用、删除、重置密码会发 fatal 再断开;identity 注入 Downlink,已推送作废投递发 revoked。踢下线仍只断开,不改令牌。
自助注册未接入 trusted_proxies,安全码锁定按直连/代理 IP 计
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。
自助注册按 trusted_proxies 使用 httpx.ClientIP 解析客户端 IP,与管理接口同一套解析。
管理员登录 IP 锁定会阻断已认证的 Cookie 会话和 API 令牌
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。
管理员 IP 锁定不再阻断已认证 Cookie 与合法 API 令牌;密码登录入口以及错误、停用令牌的锁定计数保留。