Skip to content

v0.8.10-alpha — human_dom ProseMirror 标题 locate + fill 回读

Pre-release
Pre-release

Choose a tag to compare

@qin-jiangli qin-jiangli released this 04 Jul 09:59
59fe476

human_dom ProseMirror 修复 (AgentHub #100 E2E 轮29)

公众号发布员用 human_dom 填 ProseMirror 编辑器标题/正文反复失败。创始人真编辑器 DOM 取证定位真根因,本版修复:

  • R1(主因) content.js visibleText 补读 data-placeholder/aria-placeholder,逐项先 trim 再判真假取第一个非空白来源。修复 code-review 抓出的短路隐患:真编辑体 innerText"\n"(truthy),若整条 || 链最后统一 trim 会在 innerText 处短路、永远读不到 data-placeholder → 标题永远 locate 不到。仍只读、不改 DOM。
  • R2(安全网) human_dom_fill 加回读校验:按填入片段本身再 locate 确认真落字才 ok:True/verified:True;没落字→ok:False/reason:fill_verify_failed/suggest vision,不再假成功。
  • R3(加固) locate 候选按真可编辑(ce=true/input/textarea)排在 ce=false 占位 widget 前;输出补 editable 字段。
  • 部署加固 meta.json 存 content.js 模板 tpl_hash,模板变更时重烤已有 profile 副本。
  • iframe 穿透(R4)按需求文档降为普适非阻塞,不为 #100 先做。

验证

  • test-win11 真机(Chrome 149)合成页端到端全过:①标题(innerText="\n"+data-placeholder)按占位文本 locate 命中、editable=true ②fill 标题真落字、回读 verified:true ③fill 打在 ce=false 只读壳→回读抓空→ok:False+suggest vision ④R3:同命中真编辑体与占位 widget 时 candidates[0] 为 editable。
  • 249 common pytest + content.js node --check + test_content_js_visibletext.mjs(node vm 载入真实源码测逐项 trim)全过;CI 四检全绿;自派 code-reviewer 审核抓出并修复 1 项 Critical,复验闭环。

平台:platforms/common 改动 win/mac 自动共享;OS fill 机制未改。

PR #73 · 待 AgentHub 侧烤进桌面跑 #100 轮30 真机验收(草稿箱标题逐字一致 + 更新时间)。