Opening the export sheet now says once, at the top, why English is unavailable. Selected borders, radios and checks use the theme color while fills stay neutral. Co-Authored-By: Grok (agent loop) Co-authored-by: Cursor <cursoragent@cursor.com>
4.0 KiB
4.0 KiB
进度:导出弹窗提示与选中态(2026-10-21)
英文不可用时,打开导出弹窗会在顶部提示一次,弹窗里不再留那两句。选中态的描边、圆点和勾选框改用主题色,底色保持中性。英文可用时,「建议选 English」仍在语言选项下面。页面顶栏的中英切换没有改。
基线
- 开工时
origin/staging=9812f31737b9e9fdecc75952b1bac1558333c685。任务书里写的bd3ce0e7b之后,staging 上又有纯文档提交。 - 分支
codex/report-export-dialog-polish-20261021,工作树.worktrees/report-export-dialog-polish-20261021。 - 另开一份干净基线工作树没有成功:路径过长,写不下
sealed_holdout_rerun_cross_midnight_2026_09_20.final.freeze.json。所以没有单独的基线测试数字。本分支上没改过的用例是通过的。
断言三栏
| 文件 | 原值 | 新值 | 原因 |
|---|---|---|---|
frontend/tests/report-buttons-scope-20260928.test.ts |
范围卡和语言分段 doesNotMatch(/--color-action-soft|--color-action\b/),并且 match(/--color-ink|--color-canvas/) |
四条选中规则不得含 --color-action-soft / --color-action-fill;描边、圆点、勾选框和语言分段用 --color-action-strong(文字用 --color-action);底色只许 transparent / --color-canvas*,勾选框小方块的底可以是 --color-action-strong |
issue #90 推翻 DESIGN 那一句。旧正则会把 --color-action-strong 判成违规。BUG-1078「不得用 soft / fill 深色块」仍在 |
frontend/tests/report-english-edition.test.tsx |
legacy 时弹窗正文含「重新生成即可获得中英两版」 | 正文不含该句;toast.info 一次,文案为该句,id 为 report-export-english;仍没有 English 选项;英文可用时仍有「建议选 English」 |
说明改成打开时的顶部浮层 |
BUG 编号
这份 docs/BUG_HISTORY.md 在 staging 上的最大号是 BUG-1403。#85 未合入分支已经写到 BUG-1407,任务书把 1404 起留给 #85。#86 未合入分支另写了一个内容不同的 BUG-1404。本单用 BUG-1408,追加在文件末尾。文件约第 18099 行还有一份重复的 Bug History,按任务书没有去重。
检查
| 检查 | 命令 | 结果 |
|---|---|---|
| tsc | frontend\node_modules\.bin\tsc --noEmit -p frontend |
退出码 0 |
| lint | 在 frontend 下 npm run lint |
0 error,122 warning。改过的四个文件单独 lint 没有输出 |
| 导出弹窗 | node node_modules/tsx/dist/cli.mjs --test tests/report-export-drawer.test.tsx |
8 pass,0 fail |
| 英文版 | 同上 tests/report-english-edition.test.tsx |
10 pass,0 fail |
| 选中态 | 同上 tests/report-buttons-scope-20260928.test.ts |
6 pass,0 fail |
| 类名 | 同上 tests/class-name-definition-contract.test.ts |
3 pass,0 fail |
| 深色 | 同上 tests/dark-theme-contract.test.ts |
5 pass,0 fail |
| 色板 | 同上 tests/design-token-contract.test.ts |
4 pass,1 fail |
| 隐私 | .worktrees/agent-loop/.venv 的 python -m pytest tests/test_repo_privacy_markers.py -q |
62 passed |
六份前端测试是一次一起跑的:37 条里 36 过、1 失败、0 cancelled。失败的那条是 design-token-contract.test.ts「every color token used as a Tailwind utility is exposed through @theme」。sourceFiles 把 URL.pathname 再交给 path.join,Windows 上拼成 G:\G:\Ferti\...,打开 chart/page.tsx 时 ENOENT。这条测试和 chart/page.tsx 本单都没改,token 值也没改。Linux 上由 Claude 复验。
全量 npm test 和 next build 按分工没有跑。没有动数据库,test:db 没跑。
偏离
- 真机清单只加了一句核对说明,九步没有改。
- 工作树的
frontend/node_modules是指到主检出的目录联接,没有单独安装。 - 本工作树没有
.venv,隐私测试用的是.worktrees/agent-loop/.venv。
没做
浅色、深色和手机宽度的真机走查。清单在 docs/testing/report-export-dialog-20261021.md。