Files
ElyOffice/tasks/reviews/R4.3-r2.md
T

12 lines
3.2 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
- `../Ely-GPUI-Components/src/documents/document/place.rs:202` — [P2] 同名标题的出现序号不能标识原来按下的标题。可视模式打开 `before\n\n[toc]\n\n# A\n\ntext\n\n## B\n`,将首块改成 `## B`,重绘后 Ctrl+按原目录中的 B:写回后实际跳到新 B(第 1 行),而不是按下的原 B(第 9 行)。Split 模式在等待解析时插入同名标题也会跳错。两个 GPUI 探针均失败,且按下前、按下与松开之间均有绘制;普通写回对照通过。应通过实际编辑映射原目标的位置或身份,不能仅按标题文字、层级与旧序号重选;补插入、删除同名标题的回归测试。证据:`.work/R4.3-r2-review/toc-tests.log`、`toc-probe-source.log`。
- `../Ely-GPUI-Components/src/documents/tree/blocks.rs:178` — [P2] 新增的空白结算循环每次遍历全部未关闭元素,重新引入平方复杂度。输入为 `<div>` 加重复 N 次的 `<div>a ` 再加 `</div>`;直接编入实际解析模块的 release 探针中,N=8000、16000、32000、64000 分别约 10、43、217、989 ms;980011 字节的输入耗时 7.07 秒,父提交同输入仅 34 ms。新增增长测试没有带文字、空白与不断增长的栈,因而仍通过。应只更新当前位置确实需要移位的元素,避免每次空白结算扫描全栈,并用此类输入检验增长率。证据:`.work/R4.3-r2-review/growth.log`、`base-growth.log`、`growth-1mb.log`、`base-growth-1mb.log`。
- `../Ely-GPUI-Components/src/documents/tree/mod.rs:159` — [P2] 被过滤标签的原文进入 `push_text` 后仍会替换表情短码,违反本轮“照原文显示”的规则。`a <script title=":smile:">x</script> c` 在 GitHub API 中保留 `:smile:`,本实现却显示 `<script title="😄">`;HTML 块里的 `run.words(written)` 也有同一问题。应将过滤标签作为不进行表情替换的字面文本输出,补行内与块内属性值的回归测试。GitHub 对照与失败断言见 `.work/R4.3-r2-review/github-probes-extra.log`、`parser-tests.log`。
- `../Ely-GPUI-Components/src/documents/tree/blocks.rs:119` — [P2] 标签过滤使用被截短的名称,误把其他标签当成九种过滤标签。`html::tag` 遇到冒号或感叹号便停止读取名称,所以 `<div>a<script:custom>x</script:custom>b<script!>y</script!>c</div>` 实际显示这些标签原文;GitHub API 输出为 `<div>axbyc</div>`,符合其余标签只显示文字的要求。应按完整标签名及 GFM 的合法名称边界判断是否过滤,不能接受名称前缀;补这些反例。证据:`.work/R4.3-r2-review/github-probes.log`、`parser-tests.log`。
- `../Ely-GPUI-Components/src/documents/tree/blocks.rs:125` — [P2] 块开始标签只压栈,没有执行 HTML 的隐式闭合,内部格式仍会越出容器。`<ul><li><mark>x<li>y</ul>z` 将 `x\ny` 都标记为 Mark,GitHub 只标记 x;`<div><p><mark>x<div>y</div>z</div>` 则把 `x\ny\nz` 全部标记,GitHub 同样只标记 x。kbd 也会跨过新的 p。应在打开 li、p 或会结束 p 的块元素时,先按 HTML 规则结束前一容器及其内部元素,保留必要的格式重开规则,并补隐式闭合测试。GitHub 输出与样式范围断言见 `.work/R4.3-r2-review/github-probes.log`、`parser-tests.log`。