Skip to content

fix(parser): render text and JSON documents without HTML side effects - #729

Closed
lanyue-llk wants to merge 1 commit into
codex/browser-engineering-reliabilityfrom
codex/text-document-parsing
Closed

lanyue-llk wants to merge 1 commit into
codex/browser-engineering-reliabilityfrom
codex/text-document-parsing

Conversation

@lanyue-llk

@lanyue-llk lanyue-llk commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

JSON 响应被当作 HTML 解析,文本节点不符合预期;编码处理还可能损坏文本。文本响应应呈现内容,而不是触发脚本、元素或资源预加载。

修复机制

在文档构造边界依据响应类型选择文本模式,并统一设置 decoder、parser 和预加载策略。主文档与子文档使用同一语义,流式分块不会改变最终文本。

JSON 文档的文本解析

以上图片为原报告中的机制示意,非本 PR 的实测截图,也不代表本 PR 已通过验收。来源:五方法报告解读。图片链接固定到证据提交,避免报告更新改变 PR 内容。

对应验收

历史 1.1.9 失败 case:784

这些编号描述验收责任,不代表已证明本 PR 独立修复。原大 PR 的历史 90/90 不作为本 PR 的测试结果。

功能回归覆盖:JSON/text MIME、编码与 BOM、分块边界、主/子 frame、伪 HTML、脚本与预加载负对照。

原报告 case 784 在本轮 main 基线仍失败;随修改提交 MIME、编码、主文档与子文档及解析副作用测试。

验证项 范围与状态
当前 HEAD 05c84841
直接基线 #725 · f13e9f42;其 main 基线为 72413280
格式 / Clippy / 全量 Rust 测试 本 PR CI 验证当前 HEAD
历史真实任务对照 main@de109 完整基线:55/90;原 1.1.9 的 34 个失败均仍失败
本分区真实任务 尚未重复执行;上列 case 是明确验收责任,不宣称已经独立通过

后续真实任务仅针对历史失败集合,保留固定动作与评分规则。功能验收范围为原 1.1.9 的 34 题加 1.1.8 已失败的 386,共 35 题;历史 67 的传输超时另存证据,不归因本 PR 修复。原 11 类分组与原测试改名/替代对应可供审查。

范围与依赖

从 #640 拆出,原 PR 和原分支保留。本 PR 以工程前置 #725 的分支为目标,因此 diff 只显示本功能分区,其他五个功能分区不是当前代码依赖。已随前置 rebase 到 main@72413280。每个分区独立触发 CI;前置合入后可再将本 PR rebase/retarget 到 main。验收发现功能依赖时,先调整边界或明确依赖,再确认 case 归属。

完整对应关系:拆分 PR 索引、逐 case 历史失败及归属。

@lanyue-llk

Copy link
Copy Markdown
Contributor Author

由 #740 替代:基于 main@2793b2407,PR 作者和所有新增提交的 GitHub author/committer 已核验关联 lanyue-llk。原分支、提交和本 PR 的讨论保留;这里只关闭被替代的 PR,不删除分支。新的 CI 与逐 case 验收记录归属替代 PR,旧版本测试结果不冒认为新版本结果。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant