fix(rectification): show mobile natal board as a covering bottom sheet

BUG-330: the compact board sat in the same layer as the composer, so peek copy overlapped the sheet title. Overlay only below 768px; desktop stays a side column.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Jesse_Chen
2026-08-20 21:35:48 +08:00
parent 237c7b9d37
commit 9670b661c4
6 changed files with 101 additions and 18 deletions
+18 -2
View File
@@ -4950,11 +4950,27 @@
- 根因:窄屏用 `showModal()` 对话框加不透明 backdrop,并把聊天设为 `inert`;高度约 86dvh / 100dvh,聊天被遮死。
- 修复:窄屏改为工作区分栏下半屏 sheet(约 46% 高),聊天留在上半屏可继续阅读;关闭改为 44px 图标按钮,Escape 仍可关闭。
- 验证:`frontend/tests/rectification-agentic-entry.test.ts`
- 防复发:窄屏盘面不得再用 modal dialog / backdrop 盖住聊天;关闭控件必须是独立 44px 目标并带 `aria-label="关闭盘面"`
- 相关记录:BUG-322、BUG-326
- 防复发:关闭控件必须是独立 44px 目标并带 `aria-label="关闭盘面"`窄屏分层策略以 BUG-330 为准:必须用高于输入框的覆盖层,不得再与输入框做同层网格分栏。
- 相关记录:BUG-322、BUG-326、BUG-330
- 复发自:BUG-322(分栏后窄屏改成对话框,聊天被挡住)
- 修复版本:994f0583
## BUG-330 | 移动端盘面与输入框同层叠字,无法作为弹出层使用
- 状态:resolved
- 首次发现:2026-08-20
- 最近更新:2026-08-20
- 影响面:生时纠正窄屏盘面、`rectification-board`、输入框
- 用户现象:点开“当前盘面”后,盘面标题与输入区“当前盘面”文案叠在一起;宫位表像嵌在输入框同一层,而不是从下往上盖住聊天列表和输入框。
- 触发条件:窄于分栏阈值的视口打开宫位表。
- 根因:BUG-328 把窄屏盘面改成工作区第二行(约 46% 高)且未设叠层;输入框 `.composer-wrap` 仍是 `position: relative; z-index: 2`。盘面与输入框在同一工作区网格里重叠时,输入框画在盘面标题之上。
- 修复:仅在视口宽度小于 768px 的移动端,把盘面改成工作区内 `z-index: 20` 的底部 sheet 覆盖层;桌面网页仍是右侧分栏,不出现底部弹出。遮罩点击、Escape、44px 关闭按钮可关;聊天列在打开时 `inert`
- 验证:`frontend/tests/rectification-agentic-entry.test.ts`
- 防复发:底部 sheet 只允许 `matchMedia(max-width: 767px)` 触发,不得用聊天区 `clientWidth` 把桌面侧栏挤窄误判成移动端;桌面必须保持 `grid-template-columns: minmax(0, 1fr) minmax(18rem, 22.5rem)`。窄屏盘面必须是覆盖层(absolute、高于输入框的 z-index、不透明背景)。
- 相关记录:BUG-322、BUG-326、BUG-328
- 复发自:BUG-328(当时为了露出聊天改成下半屏分栏,叠层低于输入框)
- 修复版本:待发布
## BUG-329 | 生时纠正 Agent 回答在结算后一次性出现,推理中无法停止
- 状态:resolved