fix(home): fill missing saved-person fields before the home page reads them
Accounts that already saved another person crashed on the home page because the chart list left birthTimeClue out. The list entry now starts from an empty profile, then keeps every field the API sent. Checks: tsc exit 0; lint 0 errors (122 existing warnings); chart-library-normalize 2 pass; related tests 38 pass; npm test 5268 tests, 5235 pass, 33 fail, 0 cancelled. Those 33 are the existing Windows set, including the 13 names in windows-known-failures.txt. Co-Authored-By: Grok (agent loop)
This commit is contained in:
co-authored by
Grok (agent loop)
parent
e34dc6b665
commit
5289afbbfe
@@ -0,0 +1,34 @@
|
||||
# 进度:存过别人的账户首页崩溃(issue #115,2026-10-27)
|
||||
|
||||
- 任务书:`docs/tasks/TASK-home-crash-saved-people-20261027.md`
|
||||
- 分支:`codex/home-crash-saved-people-20261027`(从 `origin/staging` `e34dc6b66` 新建;任务书基线 `941effe80`,其上只有这份任务书)
|
||||
- 执行:Grok。BUG-1464。开工时最大号 BUG-1463,本单用 1464。
|
||||
|
||||
## 做了什么
|
||||
|
||||
人物列表从接口拿回来时,先铺一份空的个人资料,再盖上接口给的字段。缺的 `birthTimeClue` 和 `rectificationCaseId` 变成空字符串,首页不再因为读不到长度而整页报错。接口已经给了的名字、日期、时段、关系保持原样。没有改数据库,也没有改接口。
|
||||
|
||||
首页用的那条「找一个还没填完的别人」没有单独渲染整页 hook。崩溃就发生在这条查找上,测试直接跑同一条判断。渲染 hook 要整页账户状态,这一层已经能复现报错,也能证明补齐后不再报。
|
||||
|
||||
## 改动的既有断言
|
||||
|
||||
没有改既有断言。
|
||||
|
||||
## 验收数字
|
||||
|
||||
| 检查 | 命令 | 结果 |
|
||||
| --- | --- | --- |
|
||||
| 类型 | `frontend\node_modules\.bin\tsc --noEmit -p frontend` | 退出码 0 |
|
||||
| 规范 | `frontend` 下 `npm run lint` | 0 error,122 warning(原有,未改) |
|
||||
| 新测试 | `node node_modules/tsx/dist/cli.mjs --test tests/chart-library-normalize-20261027.test.ts` | 2 通过,0 失败,0 cancelled |
|
||||
| 相关测试 | 同上,外加 `chart-library-other-profile`、`daily-starlanguage`、`people-archive-regressions` | 38 通过,0 失败,0 cancelled |
|
||||
| 全量 | `frontend` 下 `npm test` | 5268 项,5235 通过,33 失败,0 cancelled |
|
||||
|
||||
33 条失败里,13 条与 `tools/agent-loop/windows-known-failures.txt` 的测试名逐条相同(数据库套件在 Windows 上的已知失败)。另外 20 条是 Windows 环境:路径变成 `G:\G:\`、shell / 部署脚本、docker 参数过长、临时目录被占用、三个「新建对话」预取超时。没有一条落在这次改的人物资料入口上。失败总数仍是先前 Windows 干净跑的 33。
|
||||
|
||||
`npm run test:db` 本单不要求,未跑。没有登录态,没有在浏览器里打开首页。真机步骤写在 `docs/testing/ui-kit-migration-20261023.md` 的「首页进不去」一节。
|
||||
|
||||
## 偏离
|
||||
|
||||
- 分支从执行时的 `origin/staging` `e34dc6b66` 新建。任务书写的基线是 `941effe80`,两者之间只有这份任务书。
|
||||
- 没有渲染 `useProfileOnboarding`。首页崩溃发生在它每次渲染时的人物查找上,测试直接跑同一条判断。
|
||||
@@ -541,4 +541,4 @@
|
||||
| `TASK-lagna-precheck-fix-20261027.md` | — | **#112 第 1 次打回**:已有进行中的校正时点链接报冲突(应走首页续上);别人的星盘页不该给校正链接 | 待执行 | `codex/lagna-precheck-20261027` |
|
||||
| `TASK-voice-reading-20261027.md` | `PROGRESS-voice-reading-20261027.md` | **#113 选 R1 C1**:报告前面加一段模型写的「解读」(八节,素材只用引擎事实,失败不影响报告);对话依据写进正文、宫位带生活领域、时间最多三件(BUG-1460、BUG-1461) | Claude 直接执行,待验收 | `codex/voice-reading-20261027` |
|
||||
| — | `PROGRESS-chart-ui-114-20261027.md` | **#114 星盘页一页铺开**:南北印度可点盘、检视、深读四页、对话右栏完整盘面(直接执行) | 待推 staging | `codex/chart-ui-114-20261027` |
|
||||
| `TASK-home-crash-saved-people-20261027.md` | — | **#115 首页崩溃**:存过别人的账户一进首页就「页面出错了」——人物列表的资料缺两个字段,启程引导一读就报错;入口补齐默认值(BUG-1464) | 待领取 | `codex/home-crash-saved-people-20261027` |
|
||||
| `TASK-home-crash-saved-people-20261027.md` | `PROGRESS-home-crash-saved-people-20261027.md` | **#115 首页崩溃**:存过别人的账户一进首页就「页面出错了」——人物列表的资料缺两个字段,启程引导一读就报错;入口补齐默认值(BUG-1464) | 待验收 | `codex/home-crash-saved-people-20261027` |
|
||||
|
||||
Reference in New Issue
Block a user