--- title: Checkpoint 2026-09-30 00:35:28 UTC [1a5c5f722a] type: checkpoint permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-00-35-28-utc-1a5c5f722a stable_id: 1c6d367d-1181-4970-a0a8-7f72ed0f8382 scope: project memory_type: checkpoint project_id: 25464650-ed5d-440e-b362-190f2852d451 usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active revision: 1 request_id: s1-itest-checkpoint-20260930-a1 created_at: '2026-09-30T00:35:28.295496+00:00' updated_at: '2026-09-30T00:35:28.295496+00:00' tags: - ready-to-merge - S1 - feat/s1-itest --- # 检查点:SDK 一 S1 任务 4–5 ready-to-merge ## 线 / 任务 - 线:SDK 一 S1 - 任务:Go/JS 接入清单(DEVELOPMENT §9 共 15 条)+ README/示例/打包试运行 - 分支:`feat/s1-itest`(已推送 origin,未推 main) - 提交:`2f750bc` test: Go/JS SDK 接入清单集成测与 README 示例 - 工作树:`e:\\code\\NixMsg-wt\\s1b` - 基线:`origin/main` = `77d2dbd` ## 完成内容 - Go/JS 真实进程集成测:临时目录、`127.0.0.1:0`、admin init;注册用管理 PUT 开开关/设码 - 修真实 MQTT 死锁:resp 同步解挂起,msg/receipt 走 downLoop - kick/auth 失败时 Stop 传输,避免僵尸连接 - README + 最小示例;JS `npm pack --dry-run`;未 npm publish、未打 Go tag - DEVIATIONS「SDK 一 S1」增补 S1.7,保留其他节;未改 PRD ## 验证 - `sdk/go` go test 通过;`sdk/js` npm test 通过;工作树 `task check` 通过 - 已推送 `origin/feat/s1-itest`;工作区干净 ## 清单结果(Go / JS) 1 握手参数:通过 / 通过 2 单聊只回调一次:通过 / 通过 3 断线期间发送重连送达不重复:通过 / 通过 4 同号重试 + 重推不重复回调:通过(自动再 ack 细节见 DEVIATIONS,单测覆盖)/ 通过 5 延迟内撤回:通过 / 通过 6 定时约 2 秒:通过 / 通过 7 离线保留/过期回执:通过 / 通过 8 建群两成员收到发送者不收:通过 / 通过 9 对话密码拒绝/解锁/改密/对方先发可回:通过 / 通过 10 第二处登录踢第一处且不重连:通过 / 通过 11 超 256KiB 本地失败:通过 / 通过 12 注册开关与换码:通过 / 通过 13 改登录密码新旧与停重连:通过 / 通过 14 跨源(仅 JS):通过(Node 模拟 Origin + 双端口) 15 会话令牌重连与失效:通过 / 通过 ## 打包试运行 - Go:不打 git tag(按任务) - JS:`npm pack --dry-run` 成功,包名 `@nixevol/nixmsg@0.1.0`,含 LICENSE + dist ESM/CJS;未 publish ## 给下个会话 - 总控可审阅后 ff-only 合并 `feat/s1-itest` - 勿强推 main;工作树可删