Pin frontend main after the expanded preview layout fix #203

Merged
weichen merged 6 commits from fix/preview-expanded-hidden into main 2026-10-05 05:40:36 +00:00
2 changed files with 29 additions and 1 deletions
+28
View File
@@ -0,0 +1,28 @@
# fix/preview-expanded-hidden 任务卡
任务主记录:https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/203 ;Frontend https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Frontend/pulls/47(已合入 main `50c7244`);状态:进行中;owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= 49f536bd1a33066d9368cd1fa2894664237672b2
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-fix-preview-expanded-hidden(worktree);分支:fix/preview-expanded-hidden
- 授权与交付终点:修复展开预览后对话列未隐藏、预览栏被挤压的布局缺陷;Frontend 子仓 PR 合入后在本仓推进 gitlink。不改 previewfit 的 available<=0 分支。
## 目标与非目标
- 目标:`.main[hidden]` 真正隐藏对话列,使 `.preview-slot.expanded` 铺满主区;docx 纸张在栏宽于纸时居中,栏窄于纸时仍贴左,不改变 `transform-origin: top left` 的缩放。
- 非目标:不条件渲染卸载 `Conversation`;不改 `previewfit.ts` 在可用宽 ≤ 0 时返回 1 的行为(低优先级,另开任务)。
- 居中落点:未使用 `width: fit-content`。纸张 min-content 等于页宽,fit-content 在窄栏不会缩回栏宽,缩放后布局盒仍是整页宽,会多出横向溢出。改为 `section.docx { margin-inline: auto }`,包装层继续铺满栏宽。深色 `--bg-inset` 桌面仍铺满预览栏,纸张在宽栏居中,符合 DESIGN.md 表面阶梯。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | 49f536bd1a33066d9368cd1fa2894664237672b2 | 49f536bd1a33066d9368cd1fa2894664237672b2 | 2026-10-05T05:32:51Z |
| 同步前验收 | 49f536bd1a33066d9368cd1fa2894664237672b2 | 54cc922adee4d8c6bccb435e1f4610e4f86bcbb1 | 2026-10-05T05:38:59Z |
## 结果与验证(完成后填写)
- 结果:Frontend `styles.css` 增加 `.main[hidden] { display: none !important }` 与 `.docx-wrapper > section.docx { margin-inline: auto }`。本仓 gitlink `modules/frontend` `0a0b556` → `50c7244`。
- 验证:工作区 `make test` 通过(2026-10-05):boundaries、pins、libs、core、backend、frontend(vitest 17 files / 82 tests,含 previewfit 与 design-guard)、ui(103 tests)、agentcmd。`npm ci` 之后先前因缺 `dompurify` 而无法加载的 `test/notice.test.ts` 一并通过。Headless Chromium 1512×900:展开态 `.main` 为 `display:none`、预览槽 1184px、纸张 center delta 0;420px 与 640px 时包装层宽度等于栏宽、纸张贴左。
- 影响与剩余项:运行中的应用里再点一次展开/还原、拖分隔条,属人工回归,静态复现已覆盖同一几何。`previewfit` 极窄栏仍返回 1。