Files
Jyotisha/docs/tasks/PROGRESS-surface-feedback-20260929.md
T

7.9 KiB
Raw Blame History

PROGRESS · 星盘 / 报告 / 新建对话 晚间反馈 · 2026-09-29

产品 2026-09-29 晚反馈(截图两张)。执行:Claude 直接执行(第 1~5 条)+ fork 子代理(第 6 条),Claude 合并复验。分支 codex/surface-feedback-20260929,基线 origin/staging = 0120765f。BUG-1100~1104。 产品选定:报告卡片「标题写内容、按钮写动作」;星图外框「卡片贴合星图」。

# 反馈 根因 修复 BUG
1 星图外框难看 64aa0ec2 把 440px 上限加在外框内的绘图区,外框仍随列拉宽 上限移到外框(含内边距与边框),手机不设上限 1100
2 悬浮要气泡、手机怎么设计、去掉提示句 64aa0ec2 实现为盘下状态行 + 默认提示句 锚定气泡(上方优先 / 近顶翻下 / 左右夹在框内 / 不接收指针);手机轻点出现、点外或 3 秒关;删提示句;等待骨架的文字改为叠在空盘中央,揭幕不跳高 1101
3 天空按钮慢一秒、不明显 按钮等封面 PNG 画好才渲染 星盘就绪即显示;早点击被记下、画好即开播;星芒 + accent 浅底 1102
4 卡片贴顶栏 BUG-1094 漏上外边距 --space-6 1103
5 标题与按钮重复 文案 「完整本命报告」+ 说明一句 + 「生成报告」 1103
6 新建对话要等两三秒 BUG-1040 暖快照只在首页冷启动过一次后才有;从次级页开始的标签页第一次必冷启动 次级页空闲时只读预取模型目录与校正入口摘要,走冷启动同一套函数写暖快照;本机性能标记 jyotisha:new-chat 1104

既有断言改动(原值 / 新值 / 原因)

文件 原值 新值 原因
chart-page-mobile-width-20260929.test.ts 桌面 .chart-page-vedic-plot max-width 440px;.chart-page-vedic-stage 全局不得有 max-width 桌面外框 .chart-page-vedic-stage max-width = 440px + 内边距 + 边框;桌面绘图区不设上限;外框在桌面以外仍不设上限 BUG-1100
birth-sky-replay-20260929.test.ts onClose={() => setOpen(false)} onClose={() => setWanted(false)},另断言 open = wanted && cover !== null BUG-1102
sidebar-contract.test.ts(子代理) 新建对话点击处理函数名 新函数名(记录耗时起点) BUG-1104,说明写在测试内
测试宿主 react-client-lifecycle-test-support.ts 无 getBoundingClientRect 返回全零矩形 让按矩形定位的组件能在宿主里运行

chart-symbol-help.test.tsx 原 4 条断言一字未改,全部通过(读屏 role="status" 仍给出同一句话)。

验证(Claude 实跑,Linux,Node 22.14)

项 结果
tsc --noEmit 0 错
npm run lint 0 error,126 warning(与基线相同)
npm test 全量 基线 0120765f:4,391 / fail 24;本分支:4,405 / fail 24,失败名单逐条相同(无 Docker 的数据库 / 部署套件);新增 14 条,消失 0 条
过程中发现 等待骨架原来在盘下预留说明行(chart-page-symbol-note),成品去掉说明行后该类名无样式、且揭幕会跳高;改为叠在空盘中央(b19d0bbf)
next build / 仍 ○ Static
首屏 gzip-9 644,398 B → 645,218 B(+820 B,+0.13%;主要是次级页预取模块,BUG-1104)

环境缺口

  • 气泡的真实几何、手机轻点手感、「新建对话」真实耗时:无登录态与 Chrome、无实体手机,清单见 docs/testing/surface-feedback-20260929.md(第 11 步可在开发者工具看 jyotisha:new-chat 耗时标记)。

第二轮:产品 2026-09-30 00:17–00:21 真机反馈(iPhone Safari)

注:反馈时 staging 仍是 0120765f(本轮第一批 a29fbe03 00:24 才部署完),截图里的生成卡片是旧版。

# 反馈 处理 BUG
1 生成卡片上边距仍不够 24 → 40px 1103 追加
2 进报告先有一个卡顶部的转圈,再换另一个 路由 loading.tsx 与阅读页共用 ReportOpening 1106
3 报告详情顶部操作区太高 手机一行:箭头返回 + 语言切换 + 导出;本机 390×844 实测 119 → 53px 1107
4 点 English 不管用 / 英文报告里还有中文 本机 Chromium 用引擎真实中英 golden 复现不出(正文即时变英文,无额外请求);线上 JS 包与本机相同;WebKit 本机跑不起来。先修切换丢阅读位置(新版本立即渲染到当前章并滚回),真机状态留 investigating 1108
5 分块导出头部占满,看不见分块 手机隐藏说明、统计一行、套餐横滑、× 关闭、上限 85dvh;列表可见高度 255 → 503px 1107

本机浏览器验证方式:生产构建 + next start,Playwright 驱动本机 Chromium(390×844、触摸、深色),/api/** 由脚本拦截返回虚构报告(引擎真实 golden 中英对),不连任何真实账号。

既有断言改动(本轮):report-export-drawer.test.tsx 三处——窄屏 70 → 85(d)vh、桌面不继承窄屏上限的断言值 70 → 85、关闭按钮按读屏名查找;统计行格式断言改为新格式。原值 / 新值 / 原因写在测试里。

第三轮:导出面板重设计(产品 2026-09-30「分块导出太丑,需要重新设计」,选定「两步:整篇 / 自选」)

  • report-export-drawer.tsx 重写:语言分段(面板内独立,不切整页)→ 整篇 / 自选单选卡 → 自选时分组清单(三态组复选框、分盘与核对表默认收起)→ 按钮上显示大小。report-actions.tsx 只在面板打开时为中英两版各建一次导出块;阅读页把两版都传进来。
  • CSS:删除套餐、网格卡片、统计行、提示条等旧类;桌面面板宽 720 → 520px。
  • 本机 390×844 与 1280×860 截图检查(整篇、自选、部分勾选的 − 状态)。
  • 既有断言改动:report-export-drawer.test.tsx 7 条测试名全部保留、主体按新设计重写(每条开头写原值 / 新值 / 原因);report-english-edition.test.tsx「the export drawer suggests English…」、surface-feedback-20260929.test.tsx 手机面板断言、report-buttons-scope-20260928.test.ts 选中态不得用 action-soft 的约束迁到新选中态,均写明三栏。

验证(第二、三轮合并,Claude 实跑):tsc 0;lint 0 error / 126 warning(同基线);全量 4,408 / fail 24,失败名单与基线逐条相同;新增测试名 3 条均为 BUG 号改号(1105~1107 → 1106~1108,另一会话已预留 1105)后的同一组测试,无其他名单变化;/ Static;首屏 gzip 645,198 B(较上一轮 +20 B)。

第四轮:产品 2026-09-30 01:00 反馈

# 反馈 处理 BUG
1 首页「上次那次校正还没完成……」去掉 rectificationEntryHint(rectificationForSelf),本人一律无提示 1111
2 星盘类型格子文字溢出 / 显示不全 说明行行高 1.4、最多两行,格子 56 → 64px 1112
3 星盘加载不要写「这一张盘还没拿到」,做加载动效 共用 OrbitWaiting(首页轨道环 40px),句子只给读屏器 1113
4 星历页同样问题 同上(SecondaryPageShell 的 waiting,报告列表一并) 1113
5 「那一刻的天空」图标换掉 自绘小星座(产品选定) 1114
6 今日星语不走大模型,设计一套 fork 子代理:句库 lib/daily-starlanguage-library.ts,审阅表见 PROGRESS-daily-line-library-20260930.md 1109
7 跳转时突然变一下 fork 子代理:暖启动没有当天星语 → 先占位句后换;后台模型改写又会换句。预取当天星语、去掉后台改写 1110

既有断言改动(本轮 Claude 部分):starter-home-polish-20260926.test.tsx 三处、rectification-agentic-entry.test.ts 一处(未完成校正提示删除)、chart-type-picker.test.tsx 一处(56 → 64px),均写三栏。