Files
MemRelay/projects/25464650-ed5d-440e-b362-190f2852d451/Checkpoint 2026-09-30 07-06-56 UTC [77467fe469].md
T
memrelay 80964c5035 create: Checkpoint 2026-09-30 07:06:56 UTC [77467fe469]
MemRelay-Operation: checkpoint-save:nixmsg-u01-u04-u05-checkpoint-20260930-1504
MemRelay-Resource: 11e3f78a-b6bf-40b2-bbe4-6090f651bc2a
2026-09-30 15:07:21 +08:00

55 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Checkpoint 2026-09-30 07:06:56 UTC [77467fe469]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-30-07-06-56-utc-77467fe469
stable_id: 11e3f78a-b6bf-40b2-bbe4-6090f651bc2a
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: nixmsg-u01-u04-u05-checkpoint-20260930-1504
created_at: '2026-09-30T07:06:56.604611+00:00'
updated_at: '2026-09-30T07:06:56.604611+00:00'
tags:
- ready-to-merge
- identity
- U-01
- U-04
- U-05
---
# 检查点:身份线 U-01/U-04/U-05 完成(ready-to-merge)
## 线 / 任务
- 线:身份 / 群 / 在线
- 任务:U-01 (#39)、U-04 (#42)、U-05 (#43)
- 未做:U-02 (#40)、U-03 (#41)
- 分支:`feat/fix-identity-u01-u05`(已推远端,未合并 main)
- 工作树:`E:\code\NixMsg-wt\r2-u`
- 基线:`origin/main` = `4059a15`
## 提交
- `4852be9` fix: 开启自助注册须先有 8-64 字符安全码
- `5dac4d8` fix: 锁定计数表过期清理并限制总量
- `fa62c4c` fix: 目录搜索转义 LIKE 通配符并拒绝编号 inline
- HEAD / origin/feat/fix-identity-u01-u05 = `fa62c4c97c015d5f69c62b7f40fd005be24056c7`
## 完成内容
- U-01:register() 存储码非 8–64 字符时 403 registration_closed(锁定前、不计锁定);PUT registration 同一写操作末尾校验,开启且无合法码则 400 回滚;允许一次提交 enabled+code/generate;前端无已存码禁用开关;e2e 先设码再开启。
- U-04:locks.go Fail/Check 顺手清过期条目;每 1024 次或每分钟全表扫;上限 65536,优先淘汰最旧非锁定条目。未改 memlock.go,未改对话密码锁键。
- U-05:directory LIKE 转义 \ % _ 并 ESCAPE;注册拒绝 inline。后台开通/导入未改(禁止 endpoints.go / protocol)。
## 验证
- `go test ./internal/app/identity/ ./internal/admin/ ./internal/auth/ ./internal/app/presence/ -count=1` 通过
- web:vitest 5 files / 7 tests 通过;eslint 0
- golangci-lint 改动包 0 issues
- 未跑 Playwright e2e(无工作树独立 pnpm 10 安装;已改 e2e 注册流程顺序)
## 未做 / 给下个会话
- 不要修 U-02(依赖 C-04,改 group)、U-03(对话密码锁键,与 admin/message/group 共享)
- 不要合并 main;不要删 fix3
- U-05 后台开通/导入 inline 留给后续(endpoints.go)
- 工作树 web/node_modules 可能仍是指向主仓库的 junction,不入仓