Files
Jyotisha/docs/tasks/PROGRESS-chart-subject-table-fix-20261022.md
T
Jesse_Chen 28dd8df333
Independent Staging Quality Gate / validate (push) Successful in 15m56s
Independent Staging Quality Gate / publish (push) Successful in 3m36s
Merge codex/chart-subject-table-20261021 (#86) into staging
# Conflicts:
#	CHANGELOG.md
#	docs/BUG_HISTORY.md
2026-10-22 03:23:59 +08:00

5.0 KiB
Raw Blame History

进度:星盘页就地编辑 / 报告表换行(issue #86 第 1 次打回)

修复单 docs/tasks/TASK-chart-subject-table-fix-20261022.md。分支 codex/chart-subject-table-20261021。开工先合入 origin/staging 2806bd5b75bd701e62e837fae70eda87d6d796ac(只含文档,无冲突)。被打回的提交是 885bd5665。

改了什么

  • F1 报告里只有表头含「速度 / Speed / 度数 / 黄经」的数值表加 personal-report-table-numeric,单行和按内容撑宽只挂在这个类上。作用说明、建议这类表恢复换行。打印时所有表都是页宽,单元格可以换行。打印块里不再出现按内容撑宽和禁止换行。
  • F2 「保存他人」收到 frontend/src/lib/other-profile-save.ts 的 saveOtherProfile。请求、409 reported_birth_time_is_immutable 的文案、成功后清星盘和星历缓存都在这里。星盘编辑框和档案页都调它。档案页以前只刷新名单,改完别人再看星盘仍是旧盘,记为 BUG-1411。
  • F3 编辑框只在点击落在框外(遮罩)时关闭。点内边距、或拖选文字后松手落在内边距上,不关闭、不丢掉未保存内容。Esc 仍关闭。记为 BUG-1412。
  • 测试文件改名为 frontend/tests/chart-birth-editor-and-report-table.test.tsx。仓库里没有别的测试按源码断言旧文件名;BUG-1410 的验证路径已改成新名字。
  • 「填报的出生时间保存后不能再改」只留在时间旁边那一行。表单说明里不再写。档案页编辑已经保存过出生时间的他人时,也锁住这一项,所以同一句仍然会出现,但只从这一处来。

断言改动

位置 原值 新值 原因
本单测试里的表格 CSS .personal-report-table-wrap 的单元格含禁止换行;打印表按内容撑宽,单元格也不换行 这两条只出现在 .personal-report-table-numeric 下;打印块里没有;普通表宽 100% 整句表和打印被数值表的单行规则带走了
同上,星宿英文名 .report-nakshatra-en 自己禁止换行 仍是浅色小字;单行靠数值表单元格 禁止换行只留给数值表。数值表的格子已经不会从中间拆开英文名
同上,锁定提示 渲染结果里出现「填报的出生时间保存后不能再改」即可 锁定时正好一次,写在时间旁边;说明、编辑框源码、档案页源码里都没有这句 同一句原来在说明和锁定提示各出现一次
chart-library-other-profile.test.ts /method: editingOther ? "PUT" : "POST"/ 写在人物页 /method: id ? "PUT" : "POST"/ 在 saveOtherProfile 星盘编辑框和档案页共用这一处请求
同上 catch { 后 180 字内「保存失败,请重试」 catch (caught) 后仍有这句 409「填报的出生时间不能再改」要从共用函数原样提示,不能一律盖成保存失败

没有删测试,也没有放宽「保存失败不得假装成功」「不写本地星盘库」这些断言。

检查

检查 命令 结果
类型 frontend 里 node_modules\.bin\tsc --noEmit -p . 退出码 0
lint npm run lint 0 个错误,122 条警告(与打回验收记录的基线相同)。这次改过的前端文件再跑 eslint,0 条警告
本单测试 tsx --test tests/chart-birth-editor-and-report-table.test.tsx 8 通过,0 失败
星盘页、档案页、报告表、CSS 合同 同一条 tsx --test 加上 chart-page-view.test.tsx、people-archive-view.test.tsx、people-archive-regressions.test.ts、self-edit-people-20260928.test.tsx、profile-gender-ui-20260927.test.tsx、chart-library-other-profile.test.ts、settings-mvp-contract.test.ts、report-reader-polish.test.tsx、report-fact-table-print.test.ts、personal-report-markdown-view.test.ts、personal-report-longform-md.test.ts 105 通过,0 失败,0 取消
阅读版速度 pytest tests/test_report_chart_blank_columns.py -q(本工作树没有 .venv,用了 agent-loop 工作树的解释器) 16 通过,退出码 0
全量 npm test / next build 修复单约定交给验收 未跑

偏离

  • 整句表用自动列宽加页宽,单元格可换行,没有退回改前的固定列宽。固定列宽是行星表被从中间拆开的原因。
  • 档案页在别人已经保存过出生时间时也锁住这一项。这样「保存后不能再改」只留在时间旁边,档案页不会把这句丢掉。
  • 开工时 BUG_HISTORY 去重后的最大号是 1404。新增 BUG-1411(档案页缓存)和 BUG-1412(点内边距关闭)。修复单写明 #85 占用 1404~1408,合入前会重编。没有再用 1404。
  • 没有在浏览器里点已登录的星盘页、档案页和报告页。

未做

  • 没有 push。

  • 没有跑全量 npm test,没有 next build。

  • 合入 staging 时 Claude 把本分支的 BUG-1404~1406 改为 BUG-1410~1412(1404~1408 归 #85,1409 归 #90)。