NewSzxcn Email 问题台账
本文件是 NewSzxcn Email 的单一问题台账。所有问题保留唯一编号和完整历史,不重复建立“历史问题”副本。
管理模式
- 当前任务是唯一长期运行的 NewSzxcn 项目任务。
- 内部按项目总览、问题中心、前端、后端、邮件核心、部署运维、质量复核、文档发布分类管理。
- 用户提出问题后,默认在同一任务内完成分类、资料查询、代码/服务器调查、修复、测试、复核和发布门禁。
- 只有问题确实复杂且用户同意时,才临时开启专项任务。
- 用户明确说“先记录”“不要修改”“等问题多了一起处理”时,只登记和调查,不实施产品代码修改。
状态
允许状态:新反馈、待复现、待确认、待处理、处理中、待验收、已完成、已归档。
固定流程:收集问题 -> 复现 -> 用户确认批次 -> 实现 -> 回归 -> CI -> 全部镜像完成 -> Release -> 通知更新 -> 线上验收。
发布门禁:CI 未通过不得进入 Release;全部镜像未完成不得通知更新。
模块职责
| 分类 |
责任 |
| 项目总览 |
统一编号、状态流转、批次确认、冲突协调、发布门禁 |
| 问题中心 |
问题收集、复现证据、影响面、严重度、完整历史 |
| 前端 |
Web 页面、交互、批量操作、权限可见性、前端构建 |
| 后端 |
API、鉴权、数据库、业务校验、后台任务 |
| 邮件核心 |
IMAP/SMTP、Postfix、Dovecot、Rspamd、Maildir、投递与同步 |
| 部署运维 |
install.sh、Docker、Compose、Nginx、CI/CD、服务器调查 |
| 质量复核 |
独立复核、回归测试、风险确认、验收建议 |
| 文档发布 |
版本说明、部署说明、Release 文案、更新通知 |
问题列表
| 编号 |
日期 |
状态 |
模块 |
现象 |
严重度 |
目标版本 |
发布状态 |
| NSX-20260804-001 |
2026-08-04 |
已完成 |
前端主责;后端、邮件核心协作 |
全部邮箱批量移动到自定义文件夹失败 |
S2 |
v1.2.14 |
随 v1.2.14 发布 |
| NSX-20260804-002 |
2026-08-04 |
已完成 |
前端/UI/响应式布局 |
邮箱选择器展开后宽度变窄 |
S3 |
v1.2.14 |
随 v1.2.14 发布 |
| NSX-20260805-003 |
2026-08-05 |
已完成 |
前端/UI/布局稳定性 |
邮箱页与设置页侧栏宽度/边框位置不一致 |
S3 |
v1.2.14 |
随 v1.2.14 发布 |
| NSX-20260806-004 |
2026-08-06 |
已完成 |
前端/UI/响应式布局 |
“全部邮箱”选择器右侧存在复制按钮空白占位 |
S3 |
v1.2.15 |
随 v1.2.15 发布 |
| NSX-20260806-005 |
2026-08-06 |
已完成 |
后端/通知;前端/设置;部署运维/CI |
Telegram 私聊邮件通知与 Release 频道通知 |
S3 |
v1.2.16 |
随 v1.2.16 发布 |
| NSX-20260806-006 |
2026-08-06 |
已完成 |
后端/通知;邮件核心;前端/设置;质量复核 |
Telegram 邮件通知安全、验证码复制和可靠性复核 |
S2 |
v1.2.17 |
随 v1.2.17 发布 |
| NSX-20260806-007 |
2026-08-06 |
已完成 |
前端/UI;后端/通知;部署运维/CI |
邮箱下拉层越界、验证码漏识别、邮件与版本通知链接样式 |
S3 |
v1.2.18 |
随 v1.2.18 发布 |
| NSX-20260807-008 |
2026-08-07 |
已完成 |
前端/UI;邮件发送;部署运维/安装 |
全部邮箱写信无法选择发件邮箱且默认项错误,写信窗口过宽;安装管理员邮箱流程需明确 |
S3 |
v1.2.19 |
随 v1.2.19 发布 |
| NSX-20260807-009 |
2026-08-07 |
已完成 |
部署运维/安装;文档;质量复核 |
一键安装主菜单未按安装状态区分,命令前置条件和状态显示需复核 |
S2 |
v1.2.19 |
随 v1.2.19 发布 |
| NSX-20260807-010 |
2026-08-07 |
待验收 |
邮件投递;DKIM;部署运维;质量复核 |
Rspamd 在域名密钥变化后继续使用旧私钥,导致外发邮件 DKIM 验证失败 |
S2 |
v1.2.19 |
已发布,待线上实发验收 |
| NSX-20260807-011 |
2026-08-07 |
已完成 |
后端/通知;验证码识别;质量复核 |
邮件地址中的字母数字片段触发验证码候选冲突,导致 Telegram 不显示验证码与复制按钮 |
S3 |
v1.2.19 |
随 v1.2.19 发布 |
| NSX-20260807-012 |
2026-08-07 |
已完成 |
前端/UI;域名管理;质量复核 |
DNS 记录复制按钮把类型、名称和值拼成整行,无法直接粘贴到域名服务商对应字段 |
S3 |
v1.2.19 |
随 v1.2.19 发布 |
| NSX-20260807-013 |
2026-08-07 |
已完成 |
邮件核心;前端/标签;数据迁移;质量复核 |
邮箱创建后没有常用默认标签,需要手动逐个建立 |
S3 |
v1.2.19 |
随 v1.2.19 发布 |
NSX-20260804-001
| 字段 |
内容 |
| 编号 |
NSX-20260804-001 |
| 日期 |
2026-08-04 |
| 状态 |
已完成 |
| 模块 |
前端主责;后端、邮件核心协作;质量复核待后续介入 |
| 现象 |
全部邮箱批量移动到自定义文件夹失败 |
| 截图 |
待用户补充 |
| 复现步骤 |
待补充。已知描述:选择全部邮箱后,批量移动到自定义文件夹失败。 |
| 影响 |
影响批量整理邮件,用户可能只能逐封或分批移动;是否造成数据错位或丢失待复现确认。 |
| 严重度 |
S2 |
| 根因 |
全部邮箱视图中批量移动沿用单邮箱移动路径,目标自定义文件夹没有按消息所属邮箱分别解析/创建,跨邮箱消息会出现 failed to move message。 |
| 关联提交 |
未提交;关联工作区文件:apps/api/internal/app/mail_handlers.go、apps/web/src/pages/mail.tsx、apps/web/src/lib/api.ts、apps/api/internal/app/app_test.go。 |
| 目标版本 |
v1.2.14 |
| 测试结果 |
已完成 Go 全量测试、go vet、前端 check/build、安装脚本测试和 ShellCheck;批量移动回归测试覆盖跨邮箱、自定义文件夹及部分失败结果。 |
| 发布状态 |
随 v1.2.14 发布。 |
分派
| 分类 |
处理方式 |
| 项目总览 |
已纳入本批实施,当前状态待验收,未进入发布。 |
| 问题中心 |
已补充根因和实现证据;等待完整回归和用户线上验收。 |
| 前端 |
已接入批量移动接口并展示中文成功/失败明细。 |
| 后端 |
已实现批量移动接口,按消息所属邮箱隔离处理目标文件夹和权限。 |
| 邮件核心 |
已保持消息所属邮箱和文件夹映射隔离,完整运行回归待主任务执行。 |
| 部署运维 |
暂无服务器动作;涉及线上日志或容器状态时再介入。 |
| 质量复核 |
修复后独立复核批量移动、部分失败、权限边界、回归风险。 |
| 文档发布 |
进入版本批次后整理发布说明;全部镜像完成后才可通知更新。 |
历史
| 时间 |
记录 |
| 2026-08-04 |
用户指定切换为精简单任务模式,并要求“全部邮箱批量移动到自定义文件夹失败”继续只调查不修改,等待汇总更多问题。 |
| 2026-08-04 |
项目总控建立唯一问题编号 NSX-20260804-001,状态设为待复现。 |
| 2026-08-05 |
用户确认本批继续实施;已实现可靠批量移动接口并接入前端批量移动入口,状态流转为待验收。 |
NSX-20260804-002
| 字段 |
内容 |
| 编号 |
NSX-20260804-002 |
| 日期 |
2026-08-04 |
| 状态 |
已完成 |
| 模块 |
前端/UI/响应式布局;质量复核待后续介入 |
| 现象 |
左侧栏选择具体邮箱账号后,顶部邮箱选择器和展开菜单比“全部邮箱”状态明显变窄,邮箱地址显示为 crrhuawei@new...,下拉项也被过早截断。右侧复制按钮占位后,选择器宽度发生变化。 |
| 截图 |
/var/folders/wg/mx262rx107b8j614sq2mnmy00000gn/T/codex-clipboard-fadc6a64-ce13-4a5e-ae8f-5de7e7756e62.png |
| 复现步骤 |
1. 打开邮箱左侧栏。 2. 从“全部邮箱”切换到具体邮箱账号。 3. 展开顶部邮箱选择器。 4. 观察选择器宽度、展开菜单宽度、邮箱地址截断和复制按钮出现后的布局变化。 |
| 影响 |
影响账号切换区域的可读性和稳定性;邮箱地址过早截断,复制按钮出现时造成布局跳变。 |
| 严重度 |
S3 |
| 根因 |
邮箱选择器右侧复制按钮只在具体邮箱状态占位,触发区域宽度随状态变化;下拉菜单宽度跟随被挤压后的触发区域,导致邮箱地址过早截断。 |
| 关联提交 |
未提交;关联工作区文件:apps/web/src/pages/mail.tsx。 |
| 目标版本 |
v1.2.14 |
| 测试结果 |
前端 check/build 通过;桌面浏览器验证“全部邮箱”和具体邮箱状态均保留复制按钮固定槽位,具体邮箱触发区宽 225px;390×844 移动端无横向溢出。 |
| 发布状态 |
随 v1.2.14 发布。 |
期望
邮箱选择器在“全部邮箱”和具体邮箱两种状态下保持原来的稳定长度;展开菜单宽度与选择区域协调,尽量完整显示邮箱地址;复制按钮出现时不能挤压选择器或造成布局跳变。
关联
与此前“全部邮箱选择器长度、复制按钮出现后布局变化”反馈关联;本条作为可复现回归继续保留,不合并归档。
分派
| 分类 |
处理方式 |
| 项目总览 |
已纳入本批实施,当前状态待验收,未进入发布。 |
| 问题中心 |
保留截图路径、现象、期望和关联背景;已补充根因和实现证据。 |
| 前端 |
已固定复制按钮占位和下拉菜单宽度,等待桌面/移动验收。 |
| 后端 |
暂无介入需求。 |
| 邮件核心 |
暂无介入需求。 |
| 部署运维 |
暂无介入需求。 |
| 质量复核 |
修复后复核“全部邮箱”和具体邮箱两种状态、展开菜单、长邮箱地址、复制按钮出现前后布局稳定性。 |
| 文档发布 |
进入版本批次后整理发布说明;全部镜像完成后才可通知更新。 |
历史
| 时间 |
记录 |
| 2026-08-04 |
用户新增“邮箱选择器展开后宽度变窄”待处理问题,要求只登记,不修改。 |
| 2026-08-04 |
项目总控建立唯一问题编号 NSX-20260804-002,状态设为待处理。 |
| 2026-08-05 |
用户确认本批继续实施;已固定复制按钮占位和下拉菜单宽度,状态流转为待验收。 |
NSX-20260805-003
| 字段 |
内容 |
| 编号 |
NSX-20260805-003 |
| 日期 |
2026-08-05 |
| 状态 |
已完成 |
| 模块 |
前端/UI/布局稳定性;质量复核待后续介入 |
| 现象 |
邮箱页面左侧栏明显更宽,设置页面侧栏变窄,垂直分隔边框与主内容起点改变;点击齿轮切换时产生页面左右跳动和“页面变来变去”的感觉。 |
| 截图 |
邮箱页:/var/folders/wg/mx262rx107b8j614sq2mnmy00000gn/T/codex-clipboard-e293b3f1-7797-49ec-b5f9-b7de08ba4c6c.png;设置页:/var/folders/wg/mx262rx107b8j614sq2mnmy00000gn/T/codex-clipboard-89b85640-d262-4b1c-8996-cd097036614e.png |
| 复现步骤 |
1. 打开邮箱页面。 2. 观察左侧栏宽度、垂直分隔线、顶部栏高度和主内容起点。 3. 点击齿轮进入设置页面。 4. 对比设置页侧栏宽度、分隔线位置和主内容起点。 5. 返回邮箱页,观察页面是否左右跳动。 |
| 影响 |
影响应用壳层稳定性和页面切换体验;邮箱页与设置页布局不一致会造成明显跳动,并可能影响邮箱选择器可用宽度。 |
| 严重度 |
S3 |
| 根因 |
邮箱页和设置页分别使用独立侧栏宽度,设置页硬编码宽度小于邮箱页,导致切换时分隔线与主内容起点变化。 |
| 关联提交 |
未提交;关联工作区文件:apps/web/src/index.css、apps/web/src/pages/profile.tsx、apps/web/src/pages/mail.tsx。 |
| 目标版本 |
v1.2.14 |
| 测试结果 |
前端 check/build 通过;桌面浏览器实测邮箱页与设置页侧栏均为 288px,页面宽 1440px 且无横向溢出;390×844 移动端邮箱和设置页面均无横向溢出、遮挡或控制台错误。 |
| 发布状态 |
随 v1.2.14 发布。 |
期望
邮箱和设置页面使用统一的应用壳层尺寸;侧栏宽度、垂直分隔线、顶部栏高度和主内容起点保持一致,只替换内部导航内容。后续方案需核对桌面与移动端,不允许使用会挤压邮箱选择器的临时宽度。
批次关联
纳入即将给用户确认的前端/UI/布局稳定性候选批次。与 NSX-20260804-002 均涉及邮箱页左侧区域布局稳定性,但本条关注跨页面应用壳层尺寸一致性,保持独立编号。
分派
| 分类 |
处理方式 |
| 项目总览 |
已纳入本批实施,当前状态待验收,未进入发布。 |
| 问题中心 |
保留两张截图路径、现象、期望和验收注意事项;已补充根因和实现证据。 |
| 前端 |
已统一邮箱页与设置页应用壳层侧栏宽度变量,等待桌面/移动验收。 |
| 后端 |
暂无介入需求。 |
| 邮件核心 |
暂无介入需求。 |
| 部署运维 |
暂无介入需求。 |
| 质量复核 |
修复后独立复核桌面与移动端页面切换稳定性,确认不会挤压邮箱选择器或造成新的布局跳变。 |
| 文档发布 |
进入版本批次后整理发布说明;全部镜像完成后才可通知更新。 |
历史
| 时间 |
记录 |
| 2026-08-05 |
用户新增“邮箱页与设置页侧栏宽度/边框位置不一致”待处理问题,要求只登记并纳入即将确认的批次方案,现在不要修改。 |
| 2026-08-05 |
项目总控建立唯一问题编号 NSX-20260805-003,状态设为待处理。 |
| 2026-08-05 |
用户确认本批继续实施;已统一应用壳层侧栏宽度变量,状态流转为待验收。 |
NSX-20260806-004
| 字段 |
内容 |
| 编号 |
NSX-20260806-004 |
| 日期 |
2026-08-06 |
| 状态 |
已完成 |
| 模块 |
前端/UI/响应式布局 |
| 现象 |
“全部邮箱”状态没有复制按钮,但选择器右侧仍永久保留一列空白区域,箭头与侧栏边框之间出现明显空块。 |
| 截图 |
/var/folders/wg/mx262rx107b8j614sq2mnmy00000gn/T/codex-clipboard-ae8ada7f-ba00-4036-9103-8cb76b9496a2.png;/var/folders/wg/mx262rx107b8j614sq2mnmy00000gn/T/codex-clipboard-80fb1ec3-9e98-4159-a8fb-b79a0b0e9a32.png |
| 根因 |
为避免具体邮箱状态出现复制按钮时选择器缩窄,旧实现始终保留 32px 复制按钮网格列;“全部邮箱”状态只是隐藏按钮,没有释放占位。 |
| 实现 |
选择器改为始终占满整行;只有具体邮箱状态才显示覆盖式复制按钮,并在选择器内容区预留图标空间。 |
| 目标版本 |
v1.2.15 |
| 测试结果 |
前端 check/build 通过;1280px 桌面端选择器宽度在两种状态下均为 263px;390×844 移动端侧栏选择器宽度均为 294px,页面无横向溢出;控制台无错误或警告。 |
| 发布状态 |
随 v1.2.15 发布。 |
历史
| 时间 |
记录 |
| 2026-08-06 |
用户反馈“全部邮箱”右侧存在空白块并要求修改。 |
| 2026-08-06 |
已移除永久占位列,改为具体邮箱状态覆盖显示复制按钮,状态流转为待验收。 |
NSX-20260806-005
| 字段 |
内容 |
| 编号 |
NSX-20260806-005 |
| 日期 |
2026-08-06 |
| 状态 |
已完成 |
| 模块 |
后端/通知;前端/设置;部署运维/CI;质量复核 |
| 需求 |
后台配置 Telegram 机器人,将新邮件排版后发送到管理员私聊;GitHub Release 成功后统一向版本频道发送一次更新通知。 |
| 边界 |
邮件通知由各部署实例独立配置;版本通知只由 GitHub Release 工作流发送,不依赖已部署邮局是否更新。 |
| 实现 |
新增 Telegram 通知设置、私聊 Chat ID 自动获取、测试发送、正文模式、持久化通知队列、去重与失败重试;Release 工作流在全部镜像和 Release 成功后发送频道消息。 |
| 安全 |
Bot Token 不通过设置查询接口返回,不写入仓库;频道密钥使用 GitHub Actions Secrets;Telegram 失败不阻塞收件或版本发布。 |
| 兼容性 |
数据库只新增表和设置项;默认关闭;现有配置、邮件、证书和在线更新方式不变。 |
| 目标版本 |
v1.2.16 |
| 测试结果 |
Go 全量测试和 vet、前端 check/build、安装脚本语法/ShellCheck/回归、工作流 YAML、密钥扫描、桌面和移动端页面检查均通过。 |
| 发布状态 |
随 v1.2.16 发布。 |
历史
| 时间 |
记录 |
| 2026-08-06 |
用户确认后台只保留机器人私聊邮件通知,版本频道通知交由 GitHub Release 工作流统一发送。 |
| 2026-08-06 |
已配置仓库频道通知密钥并完成频道实发测试;真实 Bot Token 未写入源码。 |
| 2026-08-06 |
完成密钥隐藏、网络错误脱敏、通知失败隔离和 Release 重跑去重复核,状态流转为已完成。 |
| 2026-08-06 |
v1.2.16 检查、六个 Docker 镜像、GitHub Release 和 Telegram 频道通知全部成功。 |
NSX-20260806-006
| 字段 |
内容 |
| 编号 |
NSX-20260806-006 |
| 日期 |
2026-08-06 |
| 状态 |
已完成 |
| 模块 |
后端/通知;邮件核心;前端/设置;质量复核 |
| 现象 |
原自动获取 Chat ID 可能匹配错误私聊;通知范围默认覆盖全部本地邮箱;关闭后重开可能补发旧任务;收件邮箱、正文编码、长度预算、错误重试和验证码复制不完整。 |
| 根因 |
通知功能首版只覆盖基础发送,没有建立安全配对、显式邮箱范围、发送租约、Telegram 错误分类和统一的 MIME/正文规范化流程。 |
| 实现 |
使用 10 分钟一次性绑定码;通知范围改为显式邮箱和未知收件选择;目的地或范围变化时事务清理旧任务;增加发送租约、Telegram 消息编号、送达后正文清除、400 纯文本降级、429 retry_after、401/403 停止重试;新增验证码评分与 copy_text 按钮、全消息长度预算、附件清理、GBK 等正文字符集解码和伪 HTML 清理。 |
| 收件链路 |
修正实际收件地址解析;本地互发、未知收件和后续外部 IMAP 新邮件统一通知;首次外部 IMAP 历史导入不通知;收信规则先执行,垃圾邮件和已删除邮件不通知。 |
| 兼容性 |
数据库仅增加可空闲迁移列和设置项;现有 Bot Token 保留且不回传;升级后管理员邮箱自动成为默认通知范围,已开启通知的实例继续包含未知收件。 |
| 目标版本 |
v1.2.17 |
| 测试结果 |
Telegram 专项测试、Go 全量测试、go vet、竞态检测、前端 shadcn 检查和生产构建通过;桌面端与移动端页面视觉验收通过。 |
| 发布状态 |
随 v1.2.17 发布。 |
历史
| 时间 |
记录 |
| 2026-08-06 |
完成通知全链路复核,确认安全绑定、旧队列、收件地址、来源覆盖、长度预算、错误分类和 MIME 处理问题。 |
| 2026-08-06 |
用户确认继续修改,并明确保留现有机器人 Token。 |
| 2026-08-06 |
完成实现和自动化回归,状态流转为待验收。 |
| 2026-08-06 |
完成桌面端与移动端页面验收及最终回归,状态流转为已完成。 |
NSX-20260806-007
| 字段 |
内容 |
| 编号 |
NSX-20260806-007 |
| 日期 |
2026-08-06 |
| 状态 |
已完成 |
| 模块 |
前端/UI;后端/通知;部署运维/CI;质量复核 |
| 现象 |
邮箱选择器展开层超过侧栏边框;含日期年份的验证码邮件未显示复制按钮;邮件长链接难以阅读;Release 通知底部按钮需改为正文文字链接。 |
| 根因 |
展开层固定为 21rem,未跟随触发按钮;年份与真实验证码同时进入评分后触发歧义保护;正文仅转义未生成显式链接;Release 工作流使用 inline keyboard。 |
| 实现 |
展开层宽度跟随触发按钮;排除年份和紧凑日期候选;正文 URL 安全转义并生成链接,长追踪地址缩短显示;Release 移除按钮并在正文末尾加入“查看本次更新”链接。 |
| 目标版本 |
v1.2.18 |
| 测试结果 |
Gate 转发邮件验证码与链接专项测试、Telegram 全部竞态测试、Go 全量测试和 vet、前端 check/build、工作流 YAML、差异格式检查均通过;桌面端“全部邮箱”和具体邮箱状态下触发按钮与下拉层均为 263px,左右边界一致且无控制台错误。 |
| 发布状态 |
随 v1.2.18 发布。 |
历史
| 时间 |
记录 |
| 2026-08-06 |
用户提供三张截图并确认本批修改范围,问题进入处理中。 |
| 2026-08-06 |
完成实现、自动化回归和桌面端视觉验收,状态流转为待验收。 |
| 2026-08-06 |
v1.2.18 检查、六个 Docker 镜像、GitHub Release 和 Telegram 频道通知全部成功,状态流转为已完成。 |
NSX-20260807-008
| 字段 |
内容 |
| 编号 |
NSX-20260807-008 |
| 日期 |
2026-08-07 |
| 状态 |
已完成 |
| 模块 |
前端/UI;邮件发送;部署运维/安装;质量复核 |
| 现象 |
“全部邮箱”状态写信时固定使用列表第一项,无法选择发件邮箱;写信窗口在桌面端过宽;安装时邮件服务器域名、邮箱地址域名和管理员邮箱前缀的关系不够直观。 |
| 根因 |
全部邮箱状态直接将邮箱列表第一项传入写信组件,组件只支持只读展示单个邮箱;窗口最大宽度为 82rem。 |
| 实现 |
“全部邮箱”写信默认优先匹配当前登录邮箱,并可在全部有效邮箱中切换;回复、转发沿用原邮件所属邮箱;发送、定时发送和草稿自动保存统一使用当前选择的发件邮箱;桌面写信窗口参照 Seek 收窄至最大 72rem;表单仅在新写信会话开始时初始化,切换邮箱或加载签名不会清空已填写内容;安装脚本回归测试明确覆盖 mail.newszxcn.com 对应 admin@newszxcn.com。 |
| 目标版本 |
v1.2.19 |
| 测试结果 |
前端 check/build、Go 全量测试与 go vet、安装脚本测试、bash 语法检查、ShellCheck、git diff 检查均通过;本地双邮箱页面实测默认选择登录邮箱,下拉项完整,切换邮箱后收件人、主题、正文均保留,数据库确认草稿保存到新选择的邮箱;桌面截图确认写信窗口无溢出和遮挡。 |
| 发布状态 |
随 v1.2.19 发布。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户反馈全部邮箱写信的默认发件箱、邮箱选择和窗口宽度问题,进入处理中。 |
| 2026-08-07 |
完成写信邮箱选择、默认项、回复/转发邮箱、草稿归属、窗口宽度和安装管理员邮箱交互修改;自动化与页面验收通过,状态流转为待验收。 |
| 2026-08-07 |
v1.2.19 检查、六个 Docker 镜像、GitHub Release 和 Telegram 频道通知全部成功,状态流转为已完成。 |
NSX-20260807-009
| 字段 |
内容 |
| 编号 |
NSX-20260807-009 |
| 日期 |
2026-08-07 |
| 状态 |
已完成 |
| 模块 |
部署运维/安装;文档;质量复核 |
| 现象 |
空白服务器仍显示更新、回滚、重启等不可用操作;已安装菜单没有运行状态和实际版本;部分直接命令缺少统一安装前置检查;安装残缺时没有明确修复入口。 |
| 根因 |
主菜单只根据 .env 切换默认选项,所有状态共用一套菜单;运行状态、镜像版本和安装完整性没有独立判断;部分前置检查散落在菜单分发层。 |
| 实现 |
未安装服务器只显示一键安装和退出;已安装服务器按安装维护、服务管理、证书恢复、账号帮助、危险操作分组,动态显示运行状态、镜像版本和访问地址;安装残缺时默认进入修复;新增 repair 命令;服务命令统一校验 .env 与 Compose 文件;日志、状态、回滚和卸载的 Docker 检查收回各自函数;修复成功文案和缺失版本标签显示已纠正;README 加入两套主菜单示例。 |
| 兼容性 |
保持既有菜单编号 1–12 和 ns 快捷命令;现有配置、数据库、邮件、证书和更新流程不变。 |
| 测试结果 |
Bash 语法检查、ShellCheck、安装脚本全量测试、菜单渲染/范围/分发/状态/版本/残缺安装/前置条件测试、前端 check/build、Go 全量测试和 go vet 均通过。 |
| 目标版本 |
v1.2.19 |
| 发布状态 |
随 v1.2.19 发布。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户确认按安装状态拆分主菜单,并要求写入仓库介绍、复核全部命令逻辑。 |
| 2026-08-07 |
完成动态菜单、命令前置条件、残缺安装修复入口、README 和自动化回归,状态流转为待验收。 |
| 2026-08-07 |
随 v1.2.19 完成发布,状态流转为已完成。 |
NSX-20260807-010
| 字段 |
内容 |
| 编号 |
NSX-20260807-010 |
| 日期 |
2026-08-07 |
| 状态 |
待验收 |
| 模块 |
邮件投递;DKIM;部署运维;质量复核 |
| 现象 |
Gmail 显示 SPF 和 DMARC 通过,但 NewSzxcn 发出的邮件 DKIM 验证失败;同内容的 NodeSeek 对照邮件三项认证均通过。 |
| 诊断 |
NewSzxcn 邮件的 relaxed 正文哈希与 Gmail 收到的 bh 精确一致,排除正文传输修改;邮件签名无法由当前 DNS 公钥验证,说明发信时使用了不同私钥。key not secure 仅表示 DNSSEC 未验证,TXT 分段也属于正常 DNS 表示。 |
| 根因 |
DKIM 同步任务会覆盖容器内密钥文件,但 Rspamd 已载入的签名密钥不会随文件替换自动更新,域名重建或密钥变化后可能继续使用内存中的旧私钥。 |
| 实现 |
DKIM 同步改为先比较密钥内容;相同密钥不再重复替换,密钥新增或变化后立即重新载入 Rspamd;后台 DNS 检查从“仅判断 DKIM 记录存在”升级为核对实际 p= 公钥,明确区分缺失与公钥不一致;新增密钥同步和 DNS 公钥匹配回归,并纳入 CI 与发布检查。 |
| 兼容性 |
不轮换现有 DKIM 密钥、不修改 DNS;已有数据库、邮件和域名配置保持不变。 |
| 测试结果 |
DKIM 同步专项测试、DNS 公钥匹配测试、Go 全量测试与 vet、安装脚本回归均通过;线上仍需升级后重新发信,确认 Gmail 原始邮件显示 dkim=pass。 |
| 目标版本 |
v1.2.19 |
| 发布状态 |
已随 v1.2.19 发布,待服务器升级后实发验收。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户提供 Gmail 原始邮件和 NodeSeek 对照邮件,完成正文哈希、签名公钥和认证结果比对。 |
| 2026-08-07 |
完成 DKIM 密钥热更新修复和专项回归,等待服务器实发验收。 |
| 2026-08-07 |
修复已随 v1.2.19 发布;保留待验收状态,需升级后确认 Gmail 原始邮件显示 dkim=pass。 |
NSX-20260807-011
| 字段 |
内容 |
| 编号 |
NSX-20260807-011 |
| 日期 |
2026-08-07 |
| 状态 |
已完成 |
| 模块 |
后端/通知;验证码识别;质量复核 |
| 现象 |
爱奇艺邮件的主题和正文均包含验证码 825534,Telegram 通知却没有独立验证码区域和“复制验证码”按钮。 |
| 根因 |
正文开头的收件地址 iqiyi02@newszxcn.com 被拆成 iqiyi02、newszxcn 两个候选;它们与主题中的“验证码”距离较近,触发多候选歧义保护后返回空结果。 |
| 实现 |
验证码评分前排除邮箱地址和 HTTP/HTTPS 链接范围内的字母数字片段,保留真实正文与主题候选;新增爱奇艺原始场景回归,同时检查独立验证码区域和复制按钮。 |
| 测试结果 |
爱奇艺原始场景、Gate 验证码与链接、Telegram 消息预算专项测试及 Go 全量测试均通过。 |
| 目标版本 |
v1.2.19 |
| 发布状态 |
随 v1.2.19 发布。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户提供 Telegram 实际通知截图,完成邮箱地址候选冲突复现。 |
| 2026-08-07 |
修复邮箱和链接候选排除逻辑,加入爱奇艺验证码专项回归。 |
| 2026-08-07 |
随 v1.2.19 完成发布,状态流转为已完成。 |
NSX-20260807-012
| 字段 |
内容 |
| 编号 |
NSX-20260807-012 |
| 日期 |
2026-08-07 |
| 状态 |
已完成 |
| 模块 |
前端/UI;域名管理;质量复核 |
| 现象 |
DNS 记录顶部“复制”会得到 TXT newszxcn.com v=spf1 mx -all,不能直接粘贴到域名服务商的主机记录和记录值输入框。 |
| 实现 |
删除整行复制;每条记录明确展示记录类型、主机记录、记录值和 TTL;主机记录与记录值分别提供图标复制和对应成功提示,TTL 仅展示。 |
| 测试结果 |
前端 check/build 通过;本地页面确认 SPF 主机记录和记录值分别复制为 lanqin.local 与 v=spf1 mx -all,DKIM 长记录正常换行且弹窗没有横向溢出。 |
| 目标版本 |
v1.2.19 |
| 发布状态 |
随 v1.2.19 发布。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户提供 DNS 弹窗截图并指出整行复制无法直接用于 DNS 面板。 |
| 2026-08-07 |
完成主机记录和记录值分离复制。 |
| 2026-08-07 |
随 v1.2.19 完成发布,状态流转为已完成。 |
NSX-20260807-013
| 字段 |
内容 |
| 编号 |
NSX-20260807-013 |
| 日期 |
2026-08-07 |
| 状态 |
已完成 |
| 模块 |
邮件核心;前端/标签;数据迁移;质量复核 |
| 需求 |
邮箱默认增加个人、家人、朋友、工作、重要五个常用标签,并按名称使用容易辨认的颜色。 |
| 实现 |
新邮箱创建时由后端事务生成五个标签;已有邮箱升级时一次性补齐;固定顺序为个人、家人、朋友、工作、重要,颜色依次为绿色、玫红、青色、蓝色、橙色;用户后续删除标签不会在重启时恢复;“全部邮箱”按名称合并同名标签并汇总数量,点击或导出时覆盖用户名下所有邮箱。 |
| 兼容性 |
使用 INSERT OR IGNORE 保留已有同名标签及其颜色和邮件关联;不修改用户自建标签。 |
| 测试结果 |
新邮箱创建、旧邮箱补齐、删除后不重建、多邮箱同名汇总与跨邮箱筛选专项测试,以及 Go 全量测试和 vet 均通过;页面确认五个标签各显示一次、顺序正确,颜色与侧栏宽度正确且无越界。 |
| 目标版本 |
v1.2.19 |
| 发布状态 |
随 v1.2.19 发布。 |
历史
| 时间 |
记录 |
| 2026-08-07 |
用户提供标签侧栏参考并指定五个默认标签。 |
| 2026-08-07 |
完成新邮箱默认生成、已有邮箱一次性补齐、固定排序和颜色回归;页面复核时发现全部邮箱重复显示,继续完成同名汇总、跨邮箱筛选与导出回归。 |
| 2026-08-07 |
随 v1.2.19 完成发布,状态流转为已完成。 |