create: Checkpoint 2026-09-29 23:18:26 UTC [af45ce3094]

MemRelay-Operation: checkpoint-save:a2-endpoints-ready-20260930-0710
MemRelay-Resource: c59fe148-2424-4117-9363-e1a2cb1bef39
This commit is contained in:
2026-09-30 07:18:29 +08:00
parent d6c89020fe
commit 6e4d78c2f9
@@ -0,0 +1,48 @@
---
title: Checkpoint 2026-09-29 23:18:26 UTC [af45ce3094]
type: checkpoint
permalink: main/projects/25464650-ed5d-440e-b362-190f2852d451/checkpoint-2026-09-29-23-18-26-utc-af45ce3094
stable_id: c59fe148-2424-4117-9363-e1a2cb1bef39
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: a2-endpoints-ready-20260930-0710
created_at: '2026-09-29T23:18:26.441603+00:00'
updated_at: '2026-09-29T23:18:26.441603+00:00'
tags:
- ready-to-merge
- A2
- admin
- feat/a2-endpoints
---
# 检查点:A2 端管理完成(ready-to-merge)
## 线 / 任务
- 后台接口 A · A2 端管理
- 分支:`feat/a2-endpoints`(已推送 `origin/feat/a2-endpoints`)
- 提交:`419a641` feat: 实现管理后台端管理接口(A2)
- 工作树:`e:\\code\\NixMsg-wt\\a2`
- 基线:`origin/main` = `d357082`
## 完成内容
- 在 A1 Handler 上将端相关 501 换成真实现:列表(source/online/enabled/query)、开通、CSV 批量开通(BOM、整批校验最多 1000)、batch 停用/启用/删除、详情、PATCH、DELETE、kick、reset-login-password、talk-password、unlock
- `Deps.KickEndpoint` 踢连接钩子;停用立刻 enabled=0 并清 session_hash
- 生成密码不进日志;重置密码响应只出现一次并作废会话令牌
- `docs/DEVIATIONS.md`「后台接口 A」增补 A2 节,保留其他线各节
## 验证
- `task check` 通过
- httptest:CSV 一行重复则全部不建并指出行号;重置密码只出现一次;无 CSRF 仍 403
## 级联未做(留给 I5)
- 停用/删除不作废消息与投递(endpoint_disabled/sender_disabled 等)
- 删除不退群、不转让群主/解散、不清回执与发出记录(仅删 endpoints + talk_grants)
## 给下个会话
- 总控审阅后 ff-only 合并;接线注入 KickEndpoint 到 broker
- I5 合入后 Disable/Delete 应接管完整级联
- 勿强推 main;本分支已 force-with-lease 非必要(普通推送新建远端分支)