| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix(engine): cross-thread event snapshot + root-node dom-op serialization click-drop(多卡片共享引擎组,后建 scope DOM 在独立 dom_worker): - v2: hop 时刻快照 (currentId/id/eventPhase) 以 Object.defineProperty 写成 Event 实例 own data 属性遮蔽原型 getter-only accessor——v1 用 SetProperty ([[Set]]) 在 getter-only 原型 accessor 上静默失败,JS 仍读到漂移到 rootViewId 的 currentId 而 drop。flexui_141 真机验证 0 drop,外卖链路 list→detail→confirm 走通。 偶发 SIGSEGV(dom_worker2 内 UpdateDomNodes→DomNodeStyleDiffer::Calculate 哈希已释放内存): - RootNode 增加 operation_mutex_(recursive),统一串行化 JS 线程 inline sceneBuilder DOM 操作/EndBatch/布局 与 卡片 dom_worker 的 ReceivedEvent→ HandleEvent、native 布局及监听表读写(root_node.cc/h、dom_node.cc); - 锁内不跨线程等待,hop 回调仅 PostTask。 其他: - event_module:节点过期 getter 返回 undefined(原 CreateException+nullptr 防御) - 引擎配置透传 domManagerConcurrentNum(FlexUIEngineConfig),TwoScopeTest 冷启动开 2 构造跨 dom_worker 复现场景;JSFWK_MARKER 保留、清理本轮诊断日志 - 新增双 scope 复现页/卡片(TwoScopeTest、root-tap-card) | 14 小时前 |