fix: 按 K-00 约定修复 JS SDK 断线重交与退避

This commit is contained in:
Nixevol
2026-09-30 16:24:13 +08:00
parent f6f8ccf269
commit 55aa0ccf53
10 changed files with 1049 additions and 184 deletions
+9
View File
@@ -1171,6 +1171,15 @@
- 备选方案:照搬旧 S1.3 / JS 双重翻倍;否决。
- 影响:仅 sdk/go。
### 复审修复 K-02
- 日期:2026-09-30
- 原条款:issue #59 及第二轮补充;DEVELOPMENT 第 9 节附录。
- 实际做法:ReconnectBackoff 只维护计数 n,mqtt 不再 attempt++ 与 markOffline 双重翻倍;断线后在途发送新 rid 重交;回调成功即置 acked 再发 ack;publishUp 不用 Buffer;keepalive 30;顶号 `taken_over`;0x8B 可重试;connect 超时不永久关闭 Client;logout 把请求失败返回应用;假传输不从 index 导出;示例只打印令牌前缀。未加 Playwright 浏览器冒烟(sdk/js 无该依赖,单测覆盖无 Buffer 的字符串上行)。
- 原因:与 K-00 对齐并修 Node 未处理拒绝、浏览器 Buffer、断线永不重交。
- 备选方案:沿用 attempt+base 双重翻倍;否决。
- 影响:仅 sdk/js。
## SDK 二 S2
### S2-PY/JAVA 1–3 2026-09-30