# 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%,主要是次级页预取当天星语的键函数)。