R7.2: the settings window draws no app menus or update banner

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-10-16 11:43:20 -04:00
1 parent b12858c7f0
commit 03e8e9bcb3
9 files changed
+88 -6

No files matched your search

+1 -1
View File
@@ -277,7 +277,7 @@
## R7 0.1.6(用户 2026-10-16 定:Gitea #3 至 #6 与 ElyMark 正文块;合集安装包;修完发 0.1.6,逐条答复,功能建议另开 [FEATURE REQUEST])
- [x] R7.1 合集安装包(§4,用户定):macOS 一个公证的 dmg 装六个 .app 与“应用程序”替身,用户拖入所要的;Windows 一个安装程序,组件页勾选六个应用,每个与单独安装程序装得一样;Linux 不做合集;单个应用的包照旧(`release.sh` 的 `dmg` 单个与合集共用,Mac mini 上以两个假应用核对卷内内容;`bundle.nsi` 逐个以 `/S` 运行所选的安装程序,某个退出码非零即停下并写明;`windows-bundle.sh` 三个假应用:都装上,第二个被拒时退出码 2、第三个不运行;真包随 R7.7 建出 — 第 1 轮:被拒的是最后一个,去掉 `Abort` 测试仍过;加第三个应用后去掉即失败;第 2 轮 PASS)
- [ ] R7.2 设置窗口多出一行应用菜单(#6,§5):设置窗口沿用主窗口的外壳 `Shell`,Windows 与 Linux 上随之画出菜单栏与更新横幅;设置窗口不画这两者
- [x] R7.2 设置窗口多出一行应用菜单(#6,§5):设置窗口沿用主窗口的外壳 `Shell`,Windows 与 Linux 上随之画出菜单栏与更新横幅;设置窗口不画这两者(`Shell::secondary`;测试量内容起点距标题栏底,五种变体各自失败 — 第 1 轮:只查标记容器;第 2 轮:主窗口两者合计;第 3 轮 PASS)
- [ ] R7.3 装了宋体仍报缺少(#4,§7、§8):内核按 `宋体` 找到 SimSun,缺字检查却比较原名与所用字体的英文名,报为缺失;查明 Linux 上的版面是否真用 SimSun,一页变两页的根因
- [ ] R7.4 打开 PDF 总说已损坏(#5,§11):画图块时 MuPDF 的任何警告都算损坏,未嵌入的中日韩字体(“non-embedded font using identity encoding”)即触发;损坏只认结构修复、读不出的对象与流、画不出的图片与内容
- [ ] R7.5 ElyMark 打开的正文块变成一块深色框(§14,用户定):按下的段落保持原样,不加底色与内边距,不挪位置;代码块仍有自己的底板
+3
View File
@@ -0,0 +1,3 @@
FAIL
crates/ely-ui/src/settings/tests.rs:72 — 回归测试只断言 `shell-menus` 标记容器是否存在,没有检查实际菜单,也没有安装带可见更新状态的 updater,因而不能验证 R7.2 要求隐藏的两种控件。具体复现:在隔离副本中保留该容器及其 `self.main` 条件,把 `.children(crate::updates::updater(cx))` 和 `.children(menu_bar(cx))` 移回无条件绘制的 header,设置窗口便恢复重复菜单,并会在有更新时显示横幅,但新增测试及全部 41 个 ely-ui 单元测试仍通过(原代码的 `cargo test -p ely-ui --lib` 也为 41 项通过;证据在 `.work/R7.2-r1-review/mutation.diff.log` 与 `mutation-test.log`)。修复方向:断言实际菜单内容,并注入可见更新状态,分别核对主窗口保留、设置窗口隐藏;恢复任一控件时对应测试必须失败。
+3
View File
@@ -0,0 +1,3 @@
FAIL
crates/ely-ui/src/settings/tests.rs:85 — 主窗口断言只要求标题下方的总间距大于零,菜单和更新横幅任留一个即可通过,仍未落实第 1 轮要求的“主窗口分别保留两者”。设置窗口恢复任一控件现在确实会使测试失败,但在 Windows 的隔离副本中,分别删除 `shell/mod.rs:140` 的 updater 子节点或 `:141` 的菜单子节点,主窗口分别失去更新下载入口或整行应用菜单,每种变体的全部 41 项测试仍通过。原树的 `cargo build -p ely-ui` 与 `cargo test -p ely-ui --lib` 均通过;变体证据在 `.work/R7.2-r2-review/main-update-removed-test.log`、`main-menu-removed-test.log` 及对应的 `.diff.log`,副本与构建目录已删除。修复方向:分别验证主窗口实际渲染菜单和更新横幅,例如分开设置菜单与更新状态后各自断言;删除任一控件必须使对应测试失败,不能以两者合计的间距代替。
+1
View File
@@ -0,0 +1 @@
PASS