create: Checkpoint 2026-09-30 00:35:28 UTC [1a5c5f722a]

MemRelay-Operation: checkpoint-save:s1-itest-checkpoint-20260930-a1
MemRelay-Resource: 1c6d367d-1181-4970-a0a8-7f72ed0f8382
This commit is contained in:
2026-09-30 08:35:31 +08:00
parent f75177e8b2
commit 9975e37df5
@@ -0,0 +1,65 @@
---
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;工作树可删