fix(reports): one opening screen, one-row phone bar, roomier export sheet, keep the chapter across editions (BUG-1106..1108)
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 9m19s

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
Jesse_Chen
2026-09-30 00:38:17 +08:00
co-authored by Claude Opus 5.5
parent c3162cdc4e
commit 94fbf37674
15 changed files with 238 additions and 34 deletions
+37
View File
@@ -14905,3 +14905,40 @@
- 相关记录:BUG-1040、BUG-1052
- 复发自:无(BUG-1040 的覆盖缺口)
- 修复版本:分支 `codex/new-chat-prewarm-20260929`
## BUG-1106 | 打开报告详情先闪一个卡在顶部、没有顶栏的转圈,再换成居中的另一个转圈
- 状态:resolved(代码 + 回归测试 + 本机 Chromium 手机视口截图;iPhone 真机欠)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`app/(app)/reports/[reportId]/loading.tsx`、`personal-report-page.tsx`。
- 根因:路由级 `loading.tsx` 自成一套(裸 `<main className="personal-report-state">`,无 `SecondaryHeader`,高度不在面板网格里所以贴顶),页面代码到位后换成阅读页自己的加载态,两套外观。
- 修复:新增 `ReportOpening`(顶栏 +居中转圈 +「正在加载报告…」),路由 fallback 与阅读页首个请求都只渲染它。
- 验证:`surface-feedback-20260929.test.tsx`;本机 390×844 截图只有一个加载态。
- 防复发:路由级 fallback 必须与页面自身的等待态是同一组件。
- 相关记录:BUG-1094
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1107 | 手机上报告操作栏约 120px 高;分块导出弹窗头部占掉大半,分块列表看不见
- 状态:resolved(代码 + 回归测试 + 本机 Chromium 手机视口实测;iPhone 真机欠)
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`report-actions.tsx`、`report-export-drawer.tsx`、`globals.css`(767px 断点)。
- 用户现象(产品真机截图):「返回报告中心」折两行、「中文 / English」与「导出」上下叠放;导出弹窗说明两行、统计两行、套餐折行,下面的分块只露出一格。
- 根因:BUG-1094 / 英文版加入按钮时只按桌面宽度排版;导出统计把字数与大小并列成长句。
- 修复:手机上返回只留箭头(读屏名不变),语言切换与导出压成一行(实测 119px → 53px);导出弹窗手机上隐藏说明句、统计改一行「已选 n/N 块 · 约 X KB(全篇约 Y KB)」、套餐单行横滑、关闭改 × 图标(读屏名「关闭分块导出」),窄屏上限 70 → 85dvh(列表可见高度 255px → 503px)。
- 验证:`surface-feedback-20260929.test.tsx`、`report-export-drawer.test.tsx`(三条断言按三栏更新)。
- 相关记录:BUG-1094、TASK-report-english-edition-20260929
- 修复版本:分支 `codex/surface-feedback-20260929`
## BUG-1108 | 报告切到 English 后画面仍是中文(真机),且切换会丢失阅读位置
- 状态:investigating(真机现象本机未复现);阅读位置问题 resolved
- 首次发现 / 最近更新:2026-09-30 / 2026-09-30
- 影响面:`personal-report-page.tsx`、`personal-report-markdown-view.tsx`。
- 用户现象:iPhone Safari 上点 English 后按钮显示已选 English,屏幕上的章节仍是中文;一分钟后打开导出弹窗,分块已是英文章节名。
- 已确认事实:staging 下发的前端代码与本机相同(核对了线上 JS 包);本机 Chromium 手机视口用引擎真实中英 golden 复现同一路径(滚到第二、三章后轻点 English),正文立即变英文,无额外网络请求。WebKit 本机缺系统库无法运行。
- 推断(未证实):切换会整篇换稿,后面的章节先以占位渲染,阅读中段时页面高度骤减,Safari 可能短暂保留旧画面。
- 修复(阅读位置):切换前记下当前章节序号,新版本从第一章到该章立即渲染,再滚回同一章;本机实测中英两版该章停在同一位置。
- 防复发:真机复测后更新本条状态;若仍复现需真机录屏与 Safari 版本。
- 相关记录:TASK-report-english-edition-20260929
- 修复版本:分支 `codex/surface-feedback-20260929`
@@ -37,3 +37,19 @@
## 环境缺口
- 气泡的真实几何、手机轻点手感、「新建对话」真实耗时:无登录态与 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、关闭按钮按读屏名查找;统计行格式断言改为新格式。原值 / 新值 / 原因写在测试里。
+10
View File
@@ -15,3 +15,13 @@
| 9 | 在「星盘」页刷新浏览器,等 3 秒,再点侧栏「新建对话」 | 直接进入首页,不出现加载动画 | |
| 10 | 同上但换成「我的报告」页刷新后等 3 秒再点「新建对话」 | 同上 | |
| 11(可选) | 电脑打开开发者工具 Performance 面板录一次第 9 步 | 能看到 `jyotisha:new-chat (warm)` 标记及耗时 | |
## 第二轮(2026-09-30)
| # | 操作 | 应该看到 | 结果 |
|---|---|---|---|
| 12 | 手机打开「我的报告」 | 生成卡片离顶栏有明显间距 | |
| 13 | 手机点开一份已完成的报告 | 只出现一个加载画面(顶栏在、转圈居中),不先闪一个贴顶部的转圈 | |
| 14 | 报告打开后看顶部 | 一行:左边一个返回箭头,右边「中文 / English」和「导出」并排 | |
| 15 | 滚到「强度、关系与 Ashtakavarga 技术页」,点 English | 页面停在同一章,标题变成「Strength, Relationships and Ashtakavarga」,下面的表格、说明都是英文。**如果仍是中文,请录屏发我,并告诉我 iOS 版本** | |
| 16 | 点「导出」 | 顶部只有标题、×、一行「已选 … 块 · 约 … KB(全篇约 … KB)」、一行可左右滑的按钮,下面能看到多个分块 | |