Repository navigation
v6.11.0
✨ 新功能(2)
- (65bbb6b) feat(matcher):单元素失败诊断 — 保持 depth 优先、资源交叉验证、fail-closed 不变,记录首个失败原因(路径/可见性/资源名/结构字段),同规则+同视图状态去重,支持资源锚点失败与缺定位字段诊断。
- (5bb84cf) feat(ipc):补全 6 类结果码中文诊断 — WRITE_FAILED / STALE / EXPIRED / OWNER_MISMATCH / ALREADY_UNDONE / INVALID 给原因+可执行动作,forResultStatus 补映射,同步更新单测中断言。状态逻辑不动。
🐛 修复(11)
运行时/稳定性:
- (40352a0) fix(hooks):隔离可选安装与宿主事件返回 — 生命周期/Touch/Key Hook 独立维护安装状态、可独立重试;编辑器与 repeatable 规则逻辑 gate,观察回调异常只记录、保持宿主默认返回。
- (3c1acdb) fix(recycler):按 ClassLoader 隔离绑定钩子 — notify/bind/recycle 独立安装状态;仅 bind/recycle 成对可用且有 repeatable 规则时走 item 快速路径,保留回收清理与 bindingEpoch 语义。
- (2ece30a) fix(runtime):仅物理写入后标记布局 — 去掉批量匹配入口对 mSelfTriggeredLayout 的无条件设置;新增包内批量写入回调,ViewController 仅在 applier 真改 View 后通知基线监听,避免 NO_MATCH/异常吞掉后续真实布局。
- (18e8cc4) fix(runtime):保留异常前的布局写入标记 — 批量应用已有物理写入后异常退出时只清 applying 守卫,保留自身布局标记以覆盖已发生的布局反馈。
编辑器:
- (4851ab2) fix(editor):丢弃过期 Activity 编辑回调 — 复用 Activity 引用+会话代次,切页/销毁后停旧会话的覆盖层与撤销更新;保存期关闭请求延迟到统一收尾,校验 Activity/DecorView root/目标 View 身份。
- (1f02a78) fix(editor):保存/取消后保留修改模式并恢复遮罩 — 显式回 MODIFY 模式并恢复当前选中遮罩;saving 期整面板关闭延迟执行;移除提交改视图同一性+选择版本投影,防飞行中切选中被旧索引覆盖。
- (12c0378) fix(editor):预览经作用域控制器 — PreviewHandler 两方法加 Activity 入参,经 getViewController 解析作用域实例(单例兜底),4 处调用点传 Activity,dismiss 用跟踪引用;无 Activity 时行为不变,避双 applier 互踩。
- (ca10673) fix(editor):屏蔽遮罩跟随本地乐观应用 — Completion/OnBlockListener 加 onFrontApplied(default 空实现);动画启动处本地应用成功即推进选中与遮罩,提交到达靠 revision 守卫幂等;失败路径纠正遮罩,账本仍只在 onCommitted 处理。
- (3d55cfb) fix(editor):修改保存遮罩跟随本地应用成功点 — 本地 applyRule 成功后立即 notifySession 刷遮罩,不等后端写入;失败走 finishSaveFailure/abort 纠正。
备份:
- (d85511e) fix(backup):写出改走 withImagePath,守不可变契约 — 单行替换,copyWith 逐字保留其余 15 字段。
- (3c1937b) fix:备份解码切严格标准 — decodeRequiredImage 改 decodeFileStrict,与 IPC 写入口对齐,超大图走既有按条目拒绝;clearCache 联动清 BITMAP_CACHE。
♻️ 重构(6,零语义变更)
- (70fb01d) refactor(rule):切除 AppRules/ActRules 的 Parcelable 残留 — AIDL 层已删对应 parcel,6.10 全走 SharedMemory+JSON,全仓零调用;保留 Map 继承、null 过滤与 Gson 路径。
- (126192e) refactor:新增 engine Closeables 并收敛静默关闭 — Closeable/PFD/SharedMemory/Os 四重载替代 catch-ignored 空块;迁移 Client/GmGlideModule/Server 共 5 处,删 Server 私有重复。
- (40e86fa) refactor:业务异常吞没处补分级日志与注释 — 租约回调 4 处补同级注释(该类无 Logger 系既有设计);Hook 热路径与诊断路径补单行注释防刷屏;ImageLoadState 上报回调异常加 w 日志;其余 10 处 verified-keep。
- (7587d54) refactor(ui):设置页复用 ToolbarPrefsManager 解析 — 删 SettingsFragment 私有 parseHiddenItems,legacy 迁移与读写链不动,格式错多得 w 日志。
- (b1a8f9e) refactor(ipc):Contract 收纳结果码语义分类 — 新增 isTerminalSuccess/isRetryableTransient/isUncertain 纯静态分类器;Client 替换裸比较,BUSY/REJECTED 提 warning,reconcile 抽四个命名函数。
- (49e8913) refactor(ui):编辑态收敛为单快照工厂 — 新增不可变 EditModeSnapshot(available/active 唯一派生);QS 点击三读与磁贴谓词、通知切换与观察者共 5 处改读快照。
📝 文档与测试(3)
- (c1b2760) docs(runtime):记录正交稳定性边界 — Hook gate、编辑器会话、Recycler 配对安装、基线 self-layout 标记的行为约束;明确不改 Direct 匹配、规则格式、IPC 权威合同。
- (d041a0c) docs:补分工禁区类级注释 — 6 组互补设计(资源访问器/注入器、日志门面/落盘、三处基线与索引、相等语义四套、编辑快照与运行时基线、双备份路径)。纯注释。
- (dc7812e) test:新增反向 golden 与桩掩码特征测试 — WireBoundaryNegativeTest 锁 SlotKey/基线禁持久化;RuntimeVsDisplayEqualityTest 锁展示变更不驱动运行时 diff;StubMaskingCanaryTest 为 returnDefaultValues 掩码立字据。