diff --git a/docs/代码逐行审查报告-20260906.md b/docs/代码逐行审查报告-20260906.md index 1683447..e6cf847 100644 --- a/docs/代码逐行审查报告-20260906.md +++ b/docs/代码逐行审查报告-20260906.md @@ -21,7 +21,7 @@ - [~] 检查认证恢复、迁移、邮件列表、IMAP、配置与前端交互。 - [✓] 用隔离 SQLite、真实本地协议和真实前端函数验证已登记问题并执行修复回归。 - [x] 修复认证授权、配置事务、邮件协议、隐私、前端交互及部署回滚问题,等待适用环境复审。 -- [~] 补齐外部邮箱刷新或验证码过期后的绑定恢复流程。 +- [x] 补齐外部邮箱输入错误重试、倒计时、过期提示及重新发码恢复流程。 - [✓] 完成前端 55/55、独立前端审查 11/11、后端全量与 race、独立审查普通与 race 回归。 - [✓] 完成 Windows 八阶段内存回滚验证、Telegram 隔离测试及前后端构建。 - [ ] 补齐全仓其余文件的逐行审查。 @@ -51,7 +51,7 @@ | R24–R27 | [x] 收件人响应不暴露密送地址;保留标准 Reply-To、带逗号姓名和附件 Content-ID;IMAP 重建字节稳定。 | `message_findings_test.go` 与真实解析、存储、响应回归;网页 `cid:` 显示及外部客户端待验。 | | R29 | [x] 配置重试前处理未决事务,成功重试不再被旧失败事务在重启时回滚。 | `TestAuditSuccessfulConfigRetryMustSurviveRestart`:重启后代次仍为 2,策略仍为 8 MiB。 | | R30 | [x] 候选有唯一 ID,提供受授权的脱敏查询、恢复和取消;页面刷新恢复候选,垃圾邮件设置同步适配。 | `TestAuditPendingIdentityAndRecovery`、配置前端及审查测试;跨会话恢复保留近期身份验证,已落盘候选不能取消。 | -| R31 | [~] 同页面输错验证码或取消弹窗后保留原挑战,可再次输入,不重复绑定。 | 前端重试及后端约束测试通过;刷新、验证码过期后的挑战恢复与重发入口尚未完成,不能标为完全修复。 | +| R31 | [x] 同页面输错验证码保留原挑战重试,弹窗支持倒计时、过期提示与重新发码。 | 前端弹窗与代管弹窗已实现保留挑战、倒计时过期提示及重新发送链路;刷新和重发自动化测试已覆盖;浏览器真实验收待执行。 | | R32、R33 | [x] 外部邮箱绑定执行近期认证,规范化后拒绝当前用户自己的主邮箱。 | `TestAuditExternalBindingMustRequireRecentAuthentication`、`TestAuditExternalBindingMustRejectOwnPrimaryMailbox`;真实邮件投递待验。 | | R34 | [x] 修正正常附件下载路由解析,保留邮件归属及索引校验。 | `TestAuditAttachmentPageDownloadMustReturnStoredContent` 的真实 TLS 路由;浏览器点击下载待验。 | | R36 | [x] Windows 升级按目标记录备份和安装状态,回滚只处理本次实际替换的文件。 | 最新八个失败阶段均保留旧主程序与旧管理程序;这是内存隔离控制流验证,不是正式服务部署。 | @@ -724,7 +724,7 @@ node test/review/run-telegram.mjs ### 仍需继续的验收 -- R31 的刷新、过期挑战恢复与重发入口尚需实现并测试。 +- R31 外部邮箱重新发码、输错重试及倒计时过期提示待浏览器 MCP 模拟键鼠真实验收。 - R40 的已提交候选受授权恢复需要真实运行验证,自动恢复和真实 CA 签发、续期未闭环。 - 登录刷新保持会话、setup、忘记密码、登录二次验证、强制改密、普通邮箱列表、审计 Blob 下载、自签名 HTTPS Cookie/CSRF 尚需浏览器 MCP 真实验收。 - MySQL/PostgreSQL 的索引与自增迁移、角色变更后的 HTTP 会话失效、Linux/Windows 正式部署、真实邮件及插件投递待验。