Spoken and report layers each keep a message-markdown shell and both must call renderProse; login hard-jumps drop from 4 to 3 after the onboarding suggestion effect went away. No product code.
3.2 KiB
PROGRESS · 消息操作触控目标 + 断点错位(2026-09-15)
- 执行分支:
codex/mobile-touch-and-breakpoints-20260915 - 工作树:
.worktrees/mobile-touch-and-breakpoints-20260915 - 基线:任务书写
41473261;实际按串行依赖用合入后的origin/staging@8144fca2
做了什么
BUG-695:细指针几何不变(26×26 视觉,27×34 热区,gap 1px,底边 8px)。(pointer: coarse) 下 gap 与底边距改为 --space-5(20px),热区 44×44。代码块复制按钮粗指针 min-height: 44px。注释改为说明为什么现在 44×44 不会抢 follow-up。
BUG-696:max-width: 900px 的 @media 全部改为 1023px。主题卡留下的 .starter-list > button 孤儿规则删除。width: min(900px, 100%) 是栏宽不是切点,未动。JS sidebarViewportForWidth 未动。
BUG-697:报告中心 720、阅读区 760 并入 767。目录 860 保留,就地注释第三栏内容宽度。会员 639/640 改为 640/641。录入卡 620 并入 640。toast / 校正面 430 并入 480。
测试数字
test( 声明(git grep -E '^test\(' -- frontend/tests) |
|
|---|---|
基线 8144fca2 |
3208 |
| 改后 | 3213(+4 viewport-breakpoint-contract,+1 touch-target-contract 粗指针) |
定向(本机):
| 套件 | 结果 |
|---|---|
touch-target-contract |
3 pass |
viewport-breakpoint-contract |
4 pass |
chat-stream-layout |
6 pass |
membership-page 本轮改的 640/641 栅格 |
pass |
membership-page「login redirects…」 |
本机失败:未改的 page.tsx 工作区是 CRLF,正则要 \n。不是本单回归。 |
./node_modules/.bin/tsc --noEmit |
0 错 |
npm run lint |
0 error / 120 warning(既有,未动) |
本机 next build 仍受 Windows SKILL.md symlink EPERM 限制,不作为通过证据。/ Static 与首屏 gzip 留给 Gitea 门禁。浏览器 / 真机项见 docs/testing/mobile-touch-and-breakpoints-20260915.md,不得写成通过。
既有断言三栏
| 位置 | 原值 | 新值 | 原因 |
|---|---|---|---|
touch-target-contract 热区 |
只锁 27×34 | 细指针仍 27×34,另锁粗指针 44×44 | BUG-695 |
membership-page 栅格 |
min-width: 640 / max-width: 639 |
641 / 640 |
BUG-697 与校正那组对齐 |
偏离
- 任务 3.2:860 保留。目录是 1120 阅读页第三栏,768–860 若并入 1023 会让抽屉和宽正文抢同一段。
- 任务 3.3:430 并入 480、620 并入 640,未看到必须保留原值的理由。
- 任务 1 未走让步 3(热区高度仍是 44,不只加宽)。
- 浏览器 / 真机项见
docs/testing/mobile-touch-and-breakpoints-20260915.md,不得写成通过。
验收补正(2026-09-15)
Linux 门禁实测:tsc --noEmit 0 错;npm run lint 0 error / 120 warning;测试声明 3232;npm run build exit 0,/ 为 ○ Static;首屏 gzip −0.27%。全量失败 29 条里,多出来的 2 条属于上一轮 8144fca2 的契约漂移,不是本单回归;本单的断点 / 触控合同在 Linux 上绿。
membership-page「login redirects…」在 Linux 上通过。本机 Windows 记的那条 CRLF 失败不是回归,无需处理。