fix: keep western labels near their planets and chats on the current person
Cap planet captions at 30 degrees with a third ring, fall back only within the current person's sessions, and load self when the people catalog fails.
This commit is contained in:
@@ -13827,3 +13827,60 @@
|
||||
- 相关记录:BUG-906、BUG-1016、BUG-1017;BUG-1025旧入口文档本轮按历史与现状分开更正。
|
||||
- 复发自:西洋盘改版的布局覆盖不足。旧单盘golden缺少轴点附近拥挤情形,估算字框未覆盖真实字体。
|
||||
- 修复版本:`codex/chart-western-fix-20260925`工作树,未提交、未推送、未部署。
|
||||
|
||||
## BUG-1034 | 西洋盘标签为避让离开行星所在星座
|
||||
|
||||
- 状态:待验收(代码已落地,未部署)
|
||||
- 首次发现 / 最近更新:2026-09-25 / 2026-09-25
|
||||
- 影响面:`western-wheel-layout.ts`、`western-wheel-svg.tsx`。不改黄经、宫头或接口。
|
||||
- 用户现象:标签只写星座内度数。避让把标签推到另一个星座扇区后,读者会按标签位置读错星座。验收抽样里 48% 的盘有标签偏离行星超过 30°,最大 115°。
|
||||
- 触发条件:`4d801e53` 起,两圈放不下时在 ±180° 内搜索位置,并用长引线连回行星。
|
||||
- 根因:字形碰撞框、同环最小间距和命中圆中心距叠在一起,搜索又没有偏移上限。
|
||||
- 修复:显示角与真实黄经相差不超过 30°,且必须落在本星座或相邻星座。两圈放不下时使用更内侧的第三圈。文字盒和命中圆中心仍要避开已占位置。相交的点击圆按最近圆心归属。
|
||||
- 验证:Node 22 定向测试里,1990-01-01 夹具、64 张真实引擎虚构盘重叠为 0,且每张标签偏移 ≤30°、不越过相邻星座。固定种子分散盘重叠率 ≤1%。45° 内塞进 11 颗星的几何压力盘不再要求零重叠。
|
||||
- 防复发:渲染结果上的 `data-longitude` / `data-display-longitude` 被测试断言 30° 与相邻星座。真实引擎 64 盘仍要求重叠为 0。
|
||||
- 相关记录:BUG-1033。
|
||||
- 复发自:BUG-1033 的避让搜索没有偏移上限。
|
||||
- 修复版本:`codex/round-0925-followup-20260925`,未部署。
|
||||
|
||||
## BUG-1035 | 删除当前人物的对话后打开另一个人的对话
|
||||
|
||||
- 状态:待验收(代码已落地,未部署)
|
||||
- 首次发现 / 最近更新:2026-09-25 / 2026-09-25
|
||||
- 影响面:会话删除回退、首页当前会话推导、咨询保存失败回退、人物列表合并。
|
||||
- 用户现象:当前看的是 B 时,删掉 B 的最后一条对话,会打开 A 的对话。
|
||||
- 触发条件:内存里的会话列表按人保留、侧栏按人过滤,但回退选择取的是整份列表里第一条非校正会话。
|
||||
- 根因:三处回退没有用 `sessionMatchesSubject`。列表合并只增改,服务端已删除的行会留在内存里。
|
||||
- 修复:回退先按当前人物过滤。这个人没有其他会话时新建一段空对话。某个人的列表被完整刷新时,服务器不再返回的行从内存移除;未保存的空草稿和其他人的行保留。
|
||||
- 验证:定向测试锁住回退过滤、首页第二条查找,以及完整刷新会丢掉该人物已不在返回里的有内容会话。
|
||||
- 防复发:源码合同要求回退调用带 `sessionMatchesSubject` 的过滤。
|
||||
- 相关记录:BUG-1030。
|
||||
- 修复版本:`codex/round-0925-followup-20260925`,未部署。
|
||||
|
||||
## BUG-1036 | 人物列表接口失败时整页聊天不可用
|
||||
|
||||
- 状态:待验收(代码已落地,未部署)
|
||||
- 首次发现 / 最近更新:2026-09-25 / 2026-09-25
|
||||
- 影响面:首页会话加载、人物目录、顶栏切换器。
|
||||
- 用户现象:`/api/chart-profiles` 失败后,首页进入可恢复错误屏,历史和聊天都打不开。同一次打开里 `/api/account` 被请求两次。
|
||||
- 触发条件:会话列表先读账户,再串行读人物目录;人物目录失败被当成整个列表失败。
|
||||
- 根因:`loadSubjectCatalog` 失败会抛出,会话列表把它写成 `session_list_unavailable`。账户读取没有共享。
|
||||
- 修复:人物目录失败时按本人加载历史和对话,不进错误屏。切换器写「暂时读不到其他人」,只列出本人。目录恢复后自动刷新。同一次加载里的账户请求共享同一个进行中的结果。
|
||||
- 验证:会话列表生命周期测试里,人物目录 503 不再产生 `session_list_unavailable`,账户仍在,且不是登出。
|
||||
- 防复发:该用例改为断言降级后的 boot,不再把目录故障当成整页失败。
|
||||
- 相关记录:BUG-1032。
|
||||
- 修复版本:`codex/round-0925-followup-20260925`,未部署。
|
||||
|
||||
## BUG-1037 | 年运命令里的年主辅助函数调用了不存在的名字
|
||||
|
||||
- 状态:待验收(死代码已删除,计算路径未改,未部署)
|
||||
- 首次发现 / 最近更新:2026-09-25 / 2026-09-25
|
||||
- 影响面:`scripts/jyotish_engine.py` 的 `cmd_tajika`。年运命令的实际返回仍走 `calc_year_lord`。
|
||||
- 用户现象:没有用户可见变化。未定义的 `calc_panchadhikari_year_lord` 包在从未被调用的 `_resolve_tajika_year_lord` 里,外面的 `except Exception` 会在一旦被接上时吞掉异常。
|
||||
- 触发条件:该辅助函数没有调用点。基线即如此。
|
||||
- 根因:上游辅助函数被嵌进来,但依赖的函数不在本仓,调用又被宽泛异常吞掉。
|
||||
- 修复:删除这段没有调用点的辅助函数。`year_lord` 结果仍由 `calc_year_lord` 产生。
|
||||
- 验证:源码中不再出现 `calc_panchadhikari_year_lord` 与 `_resolve_tajika_year_lord`。未改年运命令的返回字段。
|
||||
- 防复发:BUG 记录写明这是死代码删除,不是年运算法变更。
|
||||
- 相关记录:BUG-1028。
|
||||
- 修复版本:`codex/round-0925-followup-20260925`,未部署。
|
||||
|
||||
Reference in New Issue
Block a user