Skip to content

feat(updates): 按日期里程碑重整更新记录与编辑体验 - #217

Merged
fxbin merged 3 commits into
mainfrom
issue-214-release-notes
Nov 2, 2026
Merged

fxbin merged 3 commits into
mainfrom
issue-214-release-notes

Conversation

@fxbin

@fxbin fxbin commented Nov 2, 2026

Copy link
Copy Markdown
Owner

变化

旧更新页混合技术流水、未来规划与历史记录,版本顺序及编辑时间也容易误导读者。改为日期版本、更新主题、摘要和具体条目,共整理 12 个里程碑、43 条变化;前台只展示已发布记录,支持搜索、分类和折叠,后台补齐主题与摘要编辑。

复用现有数据库列,无 schema 迁移。历史日期为 Git 阶段归档日期,不能证明生产上线;未知的 shipped_at 保持为空。数据库仍是唯一展示事实源,JSON 仅为可审阅导入稿,启动不会自动覆盖管理员编辑。重建/恢复工具要求完整备份、记录指纹和事务保护。

Closes #214

分支:issue-214-release-notes。后端、前端和长期维护合同分为三个提交。新建 owning note:.agents/notes/implemented/feature/2026-11-02-release-notes-editorial-contract.md;截图、数据库备份和过程证据仅留本地 .vidt/。AGENTS 稳定约定未改变。

Verification

  • TEST_PG_PORT=5554 bash backend/scripts/test_full_local.sh -k 'test_product_feedback_api or test_release_notes_rebuild':9 项通过,一次性 PostgreSQL;覆盖替换、完整记录恢复、过期指纹、日期规范化查重及事务回滚。
  • cd frontend && npm run test:coverage:54 文件、406 项通过;npx tsc --noEmit、npm run build 与改动文件 ESLint 通过。
  • 8 个改动 Python 文件 Ruff 0.6.9 check/format、make layering、notes 校验及 git diff --check 通过。
  • 真实浏览器检查桌面、390px、搜索/空态、展开折叠和后台编辑;无溢出。预览仅 product-feedback 路由加载本次代码,其余只读请求转发已有本地服务,未作完整生产集成验收。
  • 独立复核 /root/ui_review 对最终 20 文件范围通过,无阻塞意见;历史归档误标规划、自动补上线时间及日期规范化查重问题均已修复并回归。未重复跑已有绿色测试。
  • G4/G4.5 产物边界通过,长期合同的维护职责和独立复核已在 issue 记录。

数据与边界

本地开发库的 16 条旧记录已完整备份后替换为 12 条;完整 PG dump 通过可读检查,精确记录恢复在隔离库测试。未对开发库执行真实回滚,未实际恢复完整 dump。生产数据未替换,本 PR 合并不会自动导入这套记录;生产采用整理稿需单独执行受控导入。前后端应同版部署。

测试脚本临时容器归属问题另由 #216 跟踪,不混入本 PR;开发库未被 pytest 使用。

fxbin added 3 commits November 3, 2026 00:12
复用主题与摘要字段,归档日期与实际发布时间分开;受控导入和恢复核对备份、指纹并保持事务。9项一次性PG针对性回归通过。
前台仅展示已发布更新,支持主题、条目、日期搜索与分类折叠;后台编辑主题摘要并区分历史归档与规划。406项前端测试、类型检查、构建和真实浏览器检查通过。
@fxbin
fxbin merged commit 1bdb821 into main Nov 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

重整版本更新内容与前后台阅读、编辑体验

1 participant