更新日志
✨ 新功能与配置
- ⚙️ 元数据恢复超时配置:新增
MetadataRestoreTimeoutMinutes设置项(默认 5 分钟,范围 1-30)- 控制当 strm 文件大小被重置时,后台恢复任务的最大等待时间
- 防止任务挂起,确保资源及时释放
- 配置页面新增对应 UI 和本地化文本
🐛 关键修复
- 🔧 依赖注入修复:
ExtractTask现在向LibraryScanListener和ItemUpdateListener传递共享的MediaInfoCache实例,避免重复创建缓存管理器 - 🔧 Instance 赋值顺序:修复
Plugin构造函数中Instance赋值过早的问题,移到构造函数末尾确保完全初始化后才赋值 - 🔧 任务创建顺序:修复
ItemUpdateListener中任务创建和添加的顺序,先检查是否在处理中,再原子性添加,最后启动任务,避免竞态条件 - 🔧 信号量模式:移除
ExtractTask中不正确的lockTaken模式,SemaphoreSlim直接使用 try-finally 即可 - 🔧 Dispose 死锁修复:
ItemUpdateListener.Dispose改用Task.Run().Wait()实现异步等待,避免同步阻塞导致的潜在死锁 - 🔧 空引用处理:修复
LibraryScanListener中路径检查逻辑,明确处理 null 情况