Repository navigation
v0.1.2 — 诊断钩子硬化 + bundle 版本自查方法
把「到底在跑哪一版」变成两端都能自查的事。
为什么需要:上一轮排查里,我确认了 Host 已经在发新 bundle,而页面 Console 的 __MCR_DEBUG__ 是 undefined —— 这两件事同时成立只有一种解释:页面没重载。但如果诊断钩子在提前返回时什么都不写,undefined 就有两种读法(没跑到 / 跑了但放弃了),排查就会往错的方向走。
改了什么
__MCR_MOUNTED__:控制器一渲染就打标,值是版本戳。__MCR_DEBUG__:现在连早退路径也会写,带blocked: "no sessions service" | "no document"。于是undefined只剩一种含义 —— 这份 bundle 没在跑。- README 新增「服务器到底在发哪一版 / Which build is the server actually sending」:Host 用 combo 路由
/plugins/??<id>/client.js&rev=<rev>发插件客户端,rev是sha1("plugin-artifact" \0 mtimeMs ctimeMs size)的前 12 位(dsh-client-modules的artifactRevision,只取文件元数据、不哈希内容)。据此能把「Host 没重读文件」和「页面没重载」这两种完全不同的原因分开,不用再靠截图争。
功能面与 v0.1.1 一致:遮蔽区间仍以事件自带的协议字段 surfaceOp.startSeq/endSeq 为准,source.removed 只作补充。
自检:node scripts/verify.mjs 与 node scripts/verify-client.mjs 全绿。