Skip to content

Second Desk v1.3.1

Choose a tag to compare

@github-actions github-actions released this 24 Jun 13:24
· 5 commits to master since this release

v1.3.0 - 多文件夹监控 & 性能优化

✨ 新功能

多文件夹监控

  • 支持同时监控多个文件夹,一键切换查看
  • 聚合视图:合并显示所有文件夹的内容
  • 每个文件夹独立的收藏、排序、虚拟分组配置
  • 重复文件名自动添加来源文件夹后缀
  • 懒加载机制:同一时刻只有一个活跃的文件监控器

⚡ 性能优化

Rust 后端

  • tokio 运行时按需加载,减少 1-3MB 内存占用
  • 图标缓存尺寸优化(256→192px),每图标节省约 44% 存储
  • 环境变量 OnceLock 缓存,避免重复系统调用
  • 文件排序使用缓存键,减少临时内存分配
  • 文件分类返回静态字符串,零分配
  • 移除不必要的 Mutex 锁,消除无意义的锁竞争
  • image 库关闭未用格式支持,减小二进制体积

Vue 前端

  • 7 个核心状态改为 shallowRef,减少 Vue 响应式代理开销
  • 文件路径查找从 O(n) 优化到 O(1)(Map 索引)
  • localStorage 写入防抖(500ms),降低序列化频率
  • 删除未使用的 autoCategories 计算属性
  • 拖拽状态非响应式字段提取,减少不必要的追踪

🔧 修复

内存泄漏修复

  • 修复 FileWatcher channel 发送端未释放导致的任务泄漏
  • 修复 ActiveWatcher 切换路径时旧任务未终止的泄漏
  • 修复 EdgeDetector 无限循环无法优雅退出(引入 CancellationToken)
  • 修复 App.vue 事件监听器和定时器未清理的泄漏(4处)
  • 修复 active_watcher 嵌套写锁的潜在死锁风险

其他修复

  • tray 图标生命周期管理改用 Box::leak(类型安全)
  • EdgeDetector 轮询频率优化(20FPS→10FPS),CPU 占用减半
  • 拖拽意图检测频率优化(50ms→100ms)

📦 构建优化

  • Vite 构建目标设为 ES2020,CSS 合并为单文件
  • Tauri 打包目标精简为 NSIS + MSI
  • 资源协议作用域收窄,提升安全性
  • 移除未使用的依赖(dashmap、notify-debouncer-mini)