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

2.2 KiB

FAIL

apps/ely-mark/web/src/diagrams.js:44 — 主题重绘复用同一个 record,结果校验只检查占位和对象身份,旧主题任务仍能回填;R2 的首次绘制期间换主题缺陷仍有残留,违反 PRD §17.3 的主题同步要求。复现:真实 CEF 中渲染验收探针同款 150 节点 Mermaid,在副本中仅将首次 SVG 生成到返回之间延迟 800 毫秒以固定交错,此时把 --ely-surface 改为 #ff00ff。首次回填的可见 SVG 节点仍为 rgb(27, 25, 23),滚入视口后的命中与可见性检查均通过,旧色持续 1129.5 毫秒后才被新色覆盖;tests/scripts/mark-content.sh:98 只检查最终颜色,原脚本仍退出 0。修复方向:为每次绘制记录代次,主题变化立即使旧结果失效,回填校验当前代次;验收覆盖换主题后的首次回填。副本加入代次校验后,同一交错的首次可见填充为 rgb(255, 0, 255)。证据:/tmp/ely-c141-r3-logs/recheck.log、repair.log、gate.log。

apps/ely-mark/web/src/diagrams.js:47 — 全局 Promise 队列在调用 Mermaid 前无存活检查,release 清空记录后,排队闭包仍持有源码和回调并逐个执行旧图渲染,导致已经切到源码模式的页面持续处理失效文档,违反 PERF-02 的交互要求。复现:真实 CEF 中将首个异步绘制暂挂以固定交错,连续 20 次显示验收探针同款 Mermaid 后切回源码,再放行队列。此时渲染记录与属主均已为 0、页面只有一个源码编辑器,队列仍完成全部 20 个旧图,其中 19 个在源码模式下开始,耗时 37784.6 毫秒,页面 16 毫秒定时器的最大间隔达 1819 毫秒。修复方向:销毁或替换编辑器时使待执行任务失效,并在调用渲染器前检查当前属主、占位和绘制代次,跳过失效任务;增加待渲染时销毁的回归断言。副本增加执行前校验后,同一交错只完成已进入渲染器的一项,其余 19 项均被跳过。证据:/tmp/ely-c141-r3-logs/queue.log、queue-repair.log、verification.log。独立构建、基础内容验收、包内离线渲染和隐藏公式变异验证均已执行;审查副本、独立 target 与临时缓存已删除,原范围 24 个文件散列保持一致。