ElyMark: a failed editor is told, leaves nothing, and can rebuild (M-13)
A failed build removes its holder. When both editors fail, the page tells the app and keeps the text; the next mode request rebuilds it. mark-broken.mjs breaks the editors through setAttribute and checks the fallback, the told failures, no leftover holders and the rebuild. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0d4dd64640
commit
ca5ac5bb45
6 files changed
+112
-5
No files matched your search
+1
-1
@@ -73,7 +73,7 @@
|
||||
- [x] M-10 关闭查找框只清当前标签的高亮 — 关闭查找框对每个标签的页面清除高亮(审查 1 轮)
|
||||
- [x] M-11 页面把搜索词写进应用日志 — 控制台的文字与来源都可由文档伪造,只记行号;页面自己的诊断经 elyQuery;R1 前缀可伪造、R2 data 来源、R3 sourceURL、R4 编码路径与目录、R5 缺回归测试:已补并经变异核对(五轮上限,未再审)
|
||||
- [x] M-12 浏览器创建完成前 `WebView` 已释放,浏览器泄漏 — 浏览器在泵里同步建好即登记,视图要么在建前已走、要么有浏览器可关;webprobe 加建前丢弃与 0–27 毫秒丢弃,35 页都在保持前释放(审查 4 轮)
|
||||
- [ ] M-13 编辑器构建失败时页面空白且不上报
|
||||
- [x] M-13 编辑器构建失败时页面空白且不上报 — 可视建不成退回源码并告知,两者都建不成即报失败、留下文字、模式请求重建、不留容器;新测 mark-broken.mjs(审查 2 轮)
|
||||
- [ ] M-14 `render_pdf` 在界面线程内嵌图片并写文件
|
||||
- [ ] M-15 打印与导出 PDF 的暂存页执行文档里的脚本
|
||||
- [ ] G-01 打开“文件历史”或“逐行追溯”后,中间区不再响应任何别的选择
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
FAIL
|
||||
|
||||
- apps/ely-mark/web/src/main.js:137:两种编辑器构建失败后,`current` 保持 `null`,且没有构建任务运行;`mode()` 在第 235–237 行仍把它当作正在构建,只记录 `asked`。Windows 与 WSL 均复现:按新测试的方式让两种编辑器失败,恢复 `setAttribute` 后请求源码模式,没有新的 `shown`,可见编辑器仍为零,模式切换无法恢复文档(MARK-02、UX-06)。区分构建中与构建失败,保留文本并允许源码模式重新构建;补充失败后恢复的回归断言。证据:`.work/m13-r1-review/windows-probe.log`、`linux-probe.log`。
|
||||
|
||||
- apps/ely-mark/web/src/main.js:134:构建失败后直接返回,未移除 `build()` 已挂入页面的隐藏容器,也未释放部分构建产生的监听器。沿用新测试的故障注入,初次打开失败后再重载四次,两端都留下五个隐藏容器和十个 `document.selectionchange` 监听器;恢复构建并成功打开源码后变为六个容器、十一个监听器,旧资源仍保留。失败重载会持续累积编辑器资源。构建失败时清理容器及已分配的编辑器资源,并在回归测试中检查连续失败、成功重开后的资源数量。证据同上述两份探针日志。
|
||||
|
||||
- tests/scripts/mark-broken.mjs:1:本行与第 35 行的注释各有 11 个词,违反 agents.md 第 5 条的十词上限;逐行按空白分词即可复现,记录见 `.work/m13-r1-review/comment-count.log`。将这两条注释缩短至十词以内。
|
||||
@@ -0,0 +1 @@
|
||||
PASS
|
||||
Reference in new issue
Block a user