截断与遮挡修复¶
历史记录 / Historical record:本文保留当时的计划、研究或验收证据,不代表 0.11 当前能力全集。现行说明见 文档入口;英文入口见 English overview。
2026-10-17,基于 exp 的工作台界面继续修复实际布局问题。
修复范围¶
- 待办下半页不可达:移除过时的一屏高度锁定和外层隐藏溢出。此前 900×600 的标签面板高 384、正文高 428;844×390 横屏面板高 234、正文高 442,下方内容没有滚动入口。长页现在随文档增长,保留桌面的双栏布局。
- 后台标签干扰当前页:旧
:has(.tasks-body)会匹配已经隐藏但仍挂载的待办页,取消这条高度约束。各标签保存各自窗口滚动位置,切回首页不继承上一页的滚动偏移。 - 首页重复滚动与高度反馈:移除画布面板的第二个整屏限高。画布测量读取窗口可用高度,隐藏标签保留上次有效尺寸,避免 ResizeObserver 把自身高度反复反馈到画布尺寸。
- OH 头部重叠:模式选择与操作按钮分行,窄屏允许操作区换行。搜索路径完整换行;结果列表自行滚动。
- OH 超高、旋转与键盘遮挡:按真实导航栏位置和 VisualViewport 计算可用高度,已保存的超高值、拖动高度都受可用空间限制;观察 VisualViewport 的缩放/移动事件。
- 设置与插件挤压:页头操作区在空间不足时换行;设置行控件能够折行,说明文字取消两行截断。插件/OH 内容增加统一边距,移除重复的三段导航。
- 手机页面标题消失:旧逻辑假设顶部已显示页面标题,但工作台顶部现在显示 OneTHU 品牌;恢复页内标题。
- 横屏抽屉只剩标题:半屏档同时满足最小可用高度,保留正文阅读区;全屏档不超出屏幕,手机入场不再弹跳到屏幕上方,完成按钮独立靠右。
- 边角菜单与浮钮遮挡:标签页右键菜单按实际尺寸夹取在视口内;画布浮钮给刷新/回到顶层按钮留位;首页标签使用适合图标槽的小房子。
- 画笔造成空白溢出:空且关闭的画笔层不再制造 2400px 的隐形溢出。已有笔迹或打开画笔时,父画布包含完整画笔范围;画笔保持固定 2400px 高度,缩放和卡片变化不会拉伸笔迹归一化坐标。
已有白板卡片坐标与笔迹存储格式保持不变。
验证¶
真实浏览器回归脚本:node tools/layout-browser-test.mjs(先运行 Vite;需要 Playwright 与 Chrome)。默认覆盖 1280×720、900×600、390×844、844×390、320×568。验证长页末尾可达、后台标签隔离、窗口和按钮范围、按钮互不覆盖、全部设置栏目、抽屉半屏/全屏、屏幕边角菜单,以及模拟键盘后的 VisualViewport。画笔回归实际绘制一笔、缩放、关闭、清空,并比较已保存白板数据。
五档视口共 223 条浏览器断言通过,0 运行时异常,结果见 report.json。另通过 OneGUI 专项检查、桌面类型检查/构建、CSS 结构、分端布局、白板模型/迁移/尺寸/拖动/不重叠检查。
已核对两项旧静态检查在修改前 HEAD 就失败:modal-shell-test.mjs 的五项旧插件浮层选择器/接线检查,以及 tabstrip-layout-test.mjs 的两项旧 .plg-tab 检查。现有总护栏仍有上一轮记录的八处文案问题;本次没有宣称所有旧检查全部通过。
浏览器使用未登录预览数据;真实校园服务长列表、原生移动 WebView 与真机软键盘仍需要设备验证。
截图¶
搜索前后对比 · 搜索修复前 · 搜索修复后 · 设置 · 插件 · 日程标题 · 横屏待办底部 · 横屏抽屉 · 边角菜单