Files
Jyotisha/docs/tasks/PROGRESS-surface-feedback-20260929.md
T
Jesse_ChenandClaude Opus 5.5 5208f19b76
Independent Staging Quality Gate / validate (push) Successful in 12m57s
Independent Staging Quality Gate / publish (push) Successful in 3m27s
docs(tasks): verification for the 09-30 01:00 feedback round
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-09-30 08:23:36 +08:00

81 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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),均写三栏。
验证(第四轮,含 fork 提交 `ab51e038` 合并后):tsc 0;lint 0 error / 126 warning(同基线);全量 4,418 / fail 24,失败名单与基线逐条相同,新增 10 条、消失 0 条;`/` Static;首屏 gzip 646,480 B(较上轮 +0.2%,主要是次级页预取当天星语的键函数)。