跳转到内容

验收记录 ​

按时间记录各版本实际执行过的验证,最新的在最后。本文件随实际验证更新,不把测试样例通过等同于兼容所有网站。

v0.2.0 ​

已验证 ​

  • 新增管理界面端到端验收通过:视图偏好、RSS 频道名称、批量创建及备份下载。

  • 两个用户指定公开网站回归通过:上科大科研进展识别 14 项,Pepper 博客主列表识别 10 项,均返回高可信推荐。

  • 37 项单元、DOM、集成测试通过,包括批量自动创建/确认/重试去重、跨主密钥备份恢复、失败事务回滚和频道名称持久化。

  • 新管理 API 专项测试通过:登录边界、空名称、RSS 缓存更新、批量部分失败、配置重复跳过、备份错误密码、恢复后撤销会话。

  • 完整 13 项端到端测试通过(含原有 11 项):自动识别、Cookie 隔离、恶意重定向、手动字段保持、历史保留、复制及密钥轮换。

  • Compose 语法检查、TypeScript 检查和生产构建通过。

容器与反向代理 ​

GitHub Actions 54903f9 验收 在 amd64 / arm64 原生 runner 上通过:镜像构建、非 root 运行、Chromium 沙箱启动、自动识别、实际抓取、RSS 与数据库重启持久化。两架构均通过 Nginx HTTPS 的 Secure 登录 Cookie、来源校验、抓取、RSS、加密备份预览/恢复及容器重启。

HTTPS 验收使用 CI 自签名证书;真实域名的 DNS 与 Certbot ACME 签发依赖用户服务器,未替用户执行。ARM runner 的临时主机显式允许无特权用户命名空间,应用和 Chromium 沙箱保持启用;部署主机需要相应兼容配置。

本机没有运行中的 Docker 引擎;本机容器运行未执行,上述证据来自 CI。本地已有实例已备份后原位升级,管理员初始化状态保留。

最终发布检查 ​

12ebfb7 完整 CI 已通过:37 项单元/集成测试、13 项端到端测试、amd64/arm64 原生镜像、Nginx HTTPS,以及按文档运行 Compose 后强制重建的数据卷保留。最后的批量错误提示和逐条复制改动再次运行本地全套回归;版本标签发布流程会重新执行全部检查后才上传镜像和部署包。

真实域名 DNS、ACME 签发以及第三方阅读器是否自动更新名称,仍取决于用户部署环境和阅读器实现。

v0.2.1 修正验证 ​

本地通过 38 项单元/集成测试和 13 项浏览器测试,覆盖改名后列表与 RSS 一致、地址与历史及调度不变、旧版自定义名称升级、跨实例备份恢复。Compose 配置通过解析检查。发布流程在 amd64、arm64 上分别验证仅复制两个部署文件即可启动、日志中提供首次设置码、卷持久化及 Nginx HTTPS;以对应标签 CI 的完成状态为准。

v0.5.1 本地验证(2026-09-15) ​

  • pnpm typecheck、pnpm build 通过;完整 pnpm test 117 项通过,完整 pnpm test:e2e 28 项通过。
  • 验证普通用户个人 Bark、脱敏和地址保留/清除、仅按所有者发送及独立取消;测试发送器全部为模拟实现,不向真实设备发送通知。
  • 验证改名与 RSS 地址稳定、角色升降级和会话撤销、最后管理员并发保护、其他管理员密码验证、删除数量预览及永久删除。
  • 验证跨用户资源和凭据隔离、管理员目标工作台、停用目标静态编辑、运行任务取消与禁止回写、代管翻译停用/恢复及降级后重新重试。
  • 验证旧数据库升级至 v8、新旧备份恢复、多管理员个人通知保留,以及本机重置时选择管理员。
  • 已检查桌面与 390px 手机界面:个人通知、工作台提示与切换、角色编辑及删除确认。README 本机访问链接改为明确 Markdown 链接,并拆分部署说明段落。

本次交付仅提交并推送 main 与 v0.5.1 标签;标签触发现有 Release 流程,推送后不持续监测流程,也不声称远端构建已经完成。

v0.5.1 之后的加固与维护(2026-10-17) ​

每个改动都经 CI 验证后合并:type check、build、单元和集成测试、Playwright 端到端测试,以及 amd64、arm64 原生容器检查。合并时共 126 项单元/集成测试和 28 项端到端测试通过。

  • 依赖:pnpm audit --prod 由 12 个已知漏洞降到 0;升级后重新启动实例,检查了登录页和主界面的图标渲染。
  • 容器:用 node --import tsx 直接启动,容器内只有一个主进程,docker stop 不到 1 秒正常退出;镜像带 HEALTHCHECK,本机 arm64 容器在 15 秒内变为 healthy,scripts/container-smoke.ts 通过。
  • 备份:用一台真实部署的数据库副本复现了「翻译缓存超过 20000 行导致导出失败」,修复后用同一份数据校验通过,快照约 34 MB,未超过恢复接口上限。该实例已升级到修复后的镜像。
  • 数据库体积:在本地构造 263 万条翻译事件的库,新的清理约 5.7 秒完成;压缩脚本把测试库从 439 MB 压到 1.6 MB。真实部署的数据库用该脚本从 639.5 MB 压到 85.8 MB,完整性检查通过,停机约 2 分钟。

未验证:真实域名的 DNS 与证书签发、第三方阅读器的行为,以及 amd64 容器在本机的运行(由 CI 的 amd64 runner 覆盖)。

基于 MIT 许可证开源 · 在自己的服务器上部署