Files
ElyOffice/tasks/reviews/C14.1-r2.md
T

12 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FAIL
apps/ely-mark/web/src/code.js:32 — 异步结果只核对 Mermaid 请求编号,代码块切换语言后旧请求仍有效,导致 Rust 代码块显示旧 Mermaid 图。复现:真实 CEF 页面显示 `graph TD\n A --> B` 的 Mermaid 代码块,渲染完成前用 ProseMirror 的 `setNodeMarkup` 将语言改为 `rust`;等待后文档属性和语言按钮均为 `rust`,旧 SVG 仍可见,`checkVisibility(...)` 为 true,预览面板仍显示。修复方向:将当前代码块的语言、原文和存活状态纳入结果校验,在语言变化、清空和销毁时使旧渲染失效。证据:`/tmp/ely-c141-r2-logs/recheck-summary.log`、`logic.log`。
apps/ely-mark/web/src/code.js:45 — 主题观察器把正在渲染、尚无 `data-diagram` 元素的有效请求当作已脱离页面的记录删除,随后旧主题 SVG 仍能回填,违反 §17.3 的主题同步要求。复现:真实 CEF 中开始显示 Mermaid,在副本中仅将生成 SVG 到回填之间延迟 800 毫秒以固定交错;此时把 `--ely-surface` 改为 `#ff00ff`,最终节点填充仍为旧色 `rgb(27, 25, 23)`,渲染记录已被删至 0。上一轮的已显示图形换主题场景通过,本场景覆盖首次渲染期间换主题。修复方向:按代码块生命周期区分待渲染和已销毁状态,主题变化使旧主题结果失效并调度当前源码重绘。副本修复后同一交错得到 `rgb(255, 0, 255)`。证据:`/tmp/ely-c141-r2-logs/recheck-summary.log`、`repair-summary.log`。
apps/ely-mark/web/src/code.js:61 — 全局 `drawn` 强引用每次渲染的源码和回调,编辑器销毁及模式切换缺少相应释放;清理依赖下一次主题变化,导致固定主题下持续积累失效记录,违反 PERF-08 的资源释放要求。复现:真实 CEF 页面连续 20 次显示 Mermaid 预览并切回源码,等待所有渲染结束后缓存由 2 项增至 22 项,22 项对应的图均已脱离 DOM;回调和源码继续由 Map 持有。修复方向:让每个编辑器或代码块拥有其渲染记录,在替换、清空和销毁时释放源码及回调,并取消失效任务。副本加入生命周期释放后,同一 20 次循环回到 0 项。证据:`/tmp/ely-c141-r2-logs/recheck-summary.log`、`repair-summary.log`。
tests/scripts/mark-content.sh:14 — EXIT trap 在 `set -e` 下终止已经由 `wait` 回收的探针,`kill` 返回 1 使成功验收变成失败,并跳过临时目录清理。复现:独立构建后运行原脚本,全部内容断言通过,打印 `ok: mark content (background share 0.9422)`,最终退出码为 1,工作目录仍存在;最小 Bash 复验同样在打印 success 后返回 1,清理语句未执行。修复方向:只终止仍在运行的探针,保证清理总能执行,并保留验收本身的退出状态。证据:`/tmp/ely-c141-r2-logs/gate.log`、`gate-report.log`、`trap.log`。
tests/scripts/mark-content.sh:72 — 块公式验收只检查 KaTeX 节点存在,整块公式完全透明仍满足“公式已显示”的断言,属于 C14.1 的弱测试。复现:在独立副本中仅修正上述 EXIT trap,再给样式追加 `.milkdown-code-block .preview .katex { opacity: 0; }`;三种模式的内容检查全部通过,脚本退出 0,打印 `ok: mark content (background share 0.9427)`,预览中的块公式实际不可见。隐藏整个正文的变异已按预期失败,背景占比为 0.9991。修复方向:将块公式滚入视口后核对实际可见性,并要求隐藏块公式的变异触发失败。证据:`/tmp/ely-c141-r2-logs/hidden-math-gate.log`、`hidden-math-report.log`、`hidden-body-gate.log`;`cargo test -p ely-mark` 独立运行通过,当前为 0 项单测,打包构建及内容比对通过。审查副本、独立构建目录和本轮 CEF 缓存均已删除,原始范围内 22 个文件散列保持一致,见 `verification.log`。