MemRelay-Operation: checkpoint-save:i1-register-ready-20260930-064800 MemRelay-Resource: ff8132b0-d7c6-429a-998e-dc3ebc8645ab
1.9 KiB
1.9 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-09-29 22:47:58 UTC [99329660b1] | checkpoint | main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-22-47-58-utc-99329660b1 | ff8132b0-d7c6-429a-998e-dc3ebc8645ab | project | checkpoint | 25464650-ed5d-440e-b362-190f2852d451 | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | i1-register-ready-20260930-064800 | 2026-09-29T22:47:58.818501+00:00 | 2026-09-29T22:47:58.818501+00:00 |
|
检查点:I1 注册接口 ready-to-merge
完成内容
- 实现
POST /api/client/register为可挂载http.Handler(identity.NewRegisterHandler/NewServer().Handler())。 - 覆盖 DEVELOPMENT 6.9:开关、安全码常量时间比较、IP 锁定、CORS/OPTIONS、4KiB 体、字段规则、
source=self、日志不含安全码/密码。 - httptest + 临时 SQLite 覆盖 F23 验收;
task check通过。 - 写
docs/DEVIATIONS.md「身份 I」五条。未改 PRD、cmd、listener。
分支 / 路径 / 提交
- 分支:
feat/i1-register(已推送 origin,未推 main) - 工作树:
E:/code/NixMsg-wt/i(基于 origin/main22c56d1) - 提交:
3f6f942feat: 实现端自助注册 HTTP 接口与 F23 验收测试
挂载方式
mux.Handle("/api/client/register", identity.NewRegisterHandler(identity.RegisterConfig{
DB: db, Hash: hashPool, Locks: loginLocks, // P3 实现
}))
验证
task check:web build、embeddist、golangci-lint 0、go test ./... 含 identity F23
没做完
- 未接线到 cmd/listener(等 N/总控)
- 依赖 P3 真实 HashPool/LoginLocks;测试用 StubHashPool + 测试用 register IP 锁定器
- I2–I5 未做;trusted_proxies IP 由接线注入 ClientIP
给下个会话
- 可 rebase origin/main 后由总控 ff-merge;勿强推 main;勿改主工作区 e:/code/NixMsg