星盘页、档案页不再一打开就加载城市表和改资料弹窗 #120

Open
opened 2026-10-28 06:01:44 +08:00 by Claude · 2 comments
Collaborator

来自 #118 代码体检(体检第 12 条),清单第 1 单。由 Claude 直接实现,不交 Grok。

问题

星盘页首次加载静态带着「改出生资料」弹窗(chart-page-view.tsx 静态 import ChartBirthEditor),连带城市表、选地点、日历;档案页为了显示「城市」一列整表 import(people-archive-view.ts peopleCityLabel)。BUG-1130 在次级页复发。实测 4 个块合计 108 KB gzip,占 /chart 首载 19%。

改法

改资料弹窗点铅笔时再加载(无占位动画,按 §6 规矩);城市名列不再需要整表(用档案里已存的城市名或按需查)。

验收标准

/chart 首载 gzip −100 KB 以上(next build 后实测);点铅笔照常弹出、能改能存;档案页城市列显示不变;首页首屏 ±2%、仍 Static;tsc/lint 0;npm test 与基线逐条比对无新失败、无消失。

规矩

  • 基于 origin/staging,独立工作树 codex/*;只改这一件事。
  • BUG 号开工时按 docs/BUG_HISTORY.md 全文件取最大号 +1。
  • 同时改 frontend/src/app/(app)/page.tsx 的单按清单顺序串行。
  • 体检报告:docs/research/code_health_audit_2026_10_28.md(staging a31b6dda3)
来自 #118 代码体检(体检第 12 条),清单第 1 单。**由 Claude 直接实现,不交 Grok。** ## 问题 星盘页首次加载静态带着「改出生资料」弹窗(`chart-page-view.tsx` 静态 import `ChartBirthEditor`),连带城市表、选地点、日历;档案页为了显示「城市」一列整表 import(`people-archive-view.ts` `peopleCityLabel`)。BUG-1130 在次级页复发。实测 4 个块合计 108 KB gzip,占 `/chart` 首载 19%。 ## 改法 改资料弹窗点铅笔时再加载(无占位动画,按 §6 规矩);城市名列不再需要整表(用档案里已存的城市名或按需查)。 ## 验收标准 `/chart` 首载 gzip −100 KB 以上(`next build` 后实测);点铅笔照常弹出、能改能存;档案页城市列显示不变;首页首屏 ±2%、仍 Static;tsc/lint 0;npm test 与基线逐条比对无新失败、无消失。 ## 规矩 - 基于 origin/staging,独立工作树 `codex/*`;只改这一件事。 - BUG 号开工时按 `docs/BUG_HISTORY.md` 全文件取最大号 +1。 - 同时改 `frontend/src/app/(app)/page.tsx` 的单按清单顺序串行。 - 体检报告:`docs/research/code_health_audit_2026_10_28.md`(staging `a31b6dda3`)
Claude added the agent/试点agent/排队 labels 2026-10-28 06:01:47 +08:00
Claude added agent/规划中 and removed agent/排队 labels 2026-10-28 06:04:15 +08:00
Author
Collaborator

已改完并推上 staging 142595f81,正在部署。部署好了我再 @你。

页面 第一次打开要下载(压缩后) 变化
星盘页 703.5 KB → 587.2 KB −116 KB
星盘档案页 662.9 KB → 551.6 KB −111 KB
首页 703.0 KB → 704.3 KB +0.19%(允许 ±2%),仍是静态页
  • 星盘页:「改出生资料」弹窗点那一行时才加载,鼠标移上去就预取。
  • 档案页:「添加 / 编辑人物」表单在页面出来后在后台取;城市一列改读按需加载的城市表。
  • 检查:类型检查、代码规范 0 问题;全量前端测试与 staging 逐条比对,没有新失败、没有测试消失,新增 4 条。新测试沿代码引用一路查,确认两个页面都走不到城市表;放到改动前的代码上会失败,并打印出完整引用链。
  • 记为 BUG-1469:BUG-1130 在其他页面复发,当时只防了首页。
  • 真机:docs/testing/code-health-118-20261028.md 第 1~4 条。
<!-- agent:claude review sha=142595f8103a1d969f2a0a94aa89947c156ca6dc verdict=pass staging=142595f8103a1d969f2a0a94aa89947c156ca6dc checklist=docs/testing/code-health-118-20261028.md --> 已改完并推上 staging `142595f81`,正在部署。部署好了我再 @你。 | 页面 | 第一次打开要下载(压缩后) | 变化 | | --- | --- | --- | | 星盘页 | 703.5 KB → 587.2 KB | −116 KB | | 星盘档案页 | 662.9 KB → 551.6 KB | −111 KB | | 首页 | 703.0 KB → 704.3 KB | +0.19%(允许 ±2%),仍是静态页 | - 星盘页:「改出生资料」弹窗点那一行时才加载,鼠标移上去就预取。 - 档案页:「添加 / 编辑人物」表单在页面出来后在后台取;城市一列改读按需加载的城市表。 - 检查:类型检查、代码规范 0 问题;全量前端测试与 staging 逐条比对,没有新失败、没有测试消失,新增 4 条。新测试沿代码引用一路查,确认两个页面都走不到城市表;放到改动前的代码上会失败,并打印出完整引用链。 - 记为 BUG-1469:BUG-1130 在其他页面复发,当时只防了首页。 - 真机:`docs/testing/code-health-118-20261028.md` 第 1~4 条。
Claude added agent/部署中 and removed agent/规划中 labels 2026-10-28 06:18:27 +08:00
Author
Collaborator

@jesse 已部署到 staging(线上版本 584a72454,上线检查、数据库迁移、部署三步都成功)。可以真机看了:docs/testing/code-health-118-20261028.md 第 1~4 条。没问题请关单,有问题直接在这里说。

<!-- agent:claude deployed sha=584a72454b1aec34eab895981428d785f93bfb08 --> @jesse 已部署到 staging(线上版本 `584a72454`,上线检查、数据库迁移、部署三步都成功)。可以真机看了:`docs/testing/code-health-118-20261028.md` 第 1~4 条。没问题请关单,有问题直接在这里说。
Claude added agent/待真机 and removed agent/部署中 labels 2026-10-28 07:01:40 +08:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: root/Jyotisha#120