mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-08-30 04:27:40 +08:00
插件重载 stop 阶段清除 sys.modules 缓存后,若广播事件命中注册表中残留的旧类方法声明, EventBindingResolver.owner_class 因 inspect.getmodule 返回 None 而解析失败,原实现会 直接返回原始函数并绕过实例绑定,旧签名无 event 参数时抛出 TypeError 并刷屏通知。 - binding.py:owner_class 解析失败时区分类方法声明与自由函数;类方法声明记入 unresolved 诊断并跳过执行,等待重载完成后新 handler 按标识覆盖自愈; 自由函数保持直调路径不变。 - 收敛 binding-miss 与新路径的未命中记账逻辑到 _record_unresolved,首次未命中才告警。 - 新增回归测试:模块卸载后残留类方法被跳过、自由函数直调不受影响。 Closes #6351