Files
Jyotisha/docs/tasks/PROGRESS-mobile-touch-and-breakpoints-20260915.md
T
jesse-ux ff5023a282
Independent Staging Quality Gate / validate (push) Successful in 9m19s
Independent Staging Quality Gate / publish (push) Successful in 11m32s
test(chat): restore two-layer markdown contract counts
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.
2026-09-15 13:27:17 +08:00

55 lines
3.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-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.2860 **保留**。目录是 1120 阅读页第三栏,768–860 若并入 1023 会让抽屉和宽正文抢同一段。
- 任务 3.3430 并入 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 失败不是回归,无需处理。