Skip to content

EcoPaste-Sync v0.8.0

Choose a tag to compare

@Ruszero01 Ruszero01 released this 03 Feb 11:44

更新说明

EcoPaste-Sync v0.8.0 是一个重构版本。版本最大的变化是:核心功能从 TypeScript 前端迁移到了 Rust 后端

⚠️ 重要提示

  • 测试版可直接更新。(由于版本号没有改变,安装程序需要选择先卸载再安装,无需清理数据)
  • v0.7.0更新由于数据结构有较大变更,建议在更新前手动备份重要数据,并确保本地数据已同步至最新。
  • 新用户首次运行会创建新版数据库。

🌟 主要更新

窗口管理模式

现在可以根据自己的使用习惯,选择不同的窗口关闭行为:

模式 说明 适合人群
常驻模式 窗口关闭后仍在后台运行,下次打开秒开 需要频繁打开剪贴板的用户
轻量模式 窗口关闭后完全退出,释放内存 内存有限或很少使用剪贴板的用户
自动回收 窗口隐藏后等待一段时间再退出 想要平衡内存和响应速度的用户

📌 设置位置:偏好设置 → 通用 → 窗口行为模式


图片悬停预览

  • 新增图片鼠标悬停预览功能,将鼠标悬停在图片条目上即可快速预览
  • 相较测试版增加 500ms 延迟,避免竟态
  • 可在设置中开启/关闭此功能

快捷键黑名单

  • 新增实时窗口监控,为自动粘贴提供明确反馈,用户可直观看到当前捕捉的窗口进程
  • 可在主窗口快速将当前进程加入黑名单,避免快捷键冲突
  • 偏好设置 - 快捷键 页面可将黑名单应用移除

界面优化

  • 新增 URL 预览模块,可显示网站图标、链接显示更直观
  • 优化图片预览模块,现在图片会铺满项目预览空间
  • 优化文件预览模块布局
  • 优化颜色预览模块布局

数据流优化

  • 剪贴板监听到存储流程完全由后端负责,优化去重逻辑在数据插入时执行,从源头避免重复项目
  • 本地数据状态跟踪由专用跟踪器负责,追踪从数据插入到字段更新的所有变更,保证状态一致性

数据结构优化

本地数据库变更

新版数据库结构更加精简高效:

保留的字段:

  • id:唯一标识
  • type:数据类型(文本、图片、文件等)
  • value:内容值
  • search:纯文本内容,用于搜索、去重、OCR、纯文本格式粘贴
  • group:分组标签
  • favorite:是否收藏
  • time:时间戳
  • note:备注
  • subtype:子类型(如代码语言)
  • source_app_name:来源应用名称
  • source_app_icon:来源应用图标

简化的字段:

  • code_languageis_code:代码类型现在通过 type='code' 标识,不再需要单独字段

云端数据结构变更

云端同步数据采用更紧凑的格式:

{
  "id": "xxx",
  "type": "text",        // 数据类型
  "subtype": "markdown", // 子类型(可选)
  "value": "内容",       // 所有数据保存在这里
  "search": "功能性内容" // 纯文本粘贴、搜索、OCR、RGB 容差去重
  "favorite": false,     // 是否收藏
  "note": "备注内容",    // 备注(可选)
  "time": 1700000000000  // 时间戳
}

主要变化:

  • 移除了 deleted 字段:已删除的项目直接从云端移除,不保留删除标记
  • 移除了 count 字段:粘贴次数不再同步
  • 移除了 code_languageis_code 字段:代码类型通过 type 标识
  • 移除了 source_app_namesource_app_icon:来源信息不再同步(本地保留)
  • 所有元数据现在统一保存在 value 字段中(JSON 格式)

数据迁移

⚠v0.7.0 之前版本首次运行 v0.8.0 时,应用会自动检测旧版本数据并进行迁移,仍建议备份重要数据⚠


新增后端模块

为了更好地组织代码,将一些核心功能拆分成了独立的模块:

模块 功能
common 公共工具库,包含音频播放、文件操作、ID 生成等
window 窗口管理,支持多种窗口行为模式
migration 数据迁移,兼容旧版本数据格式
detector 内容检测(颜色、代码、链接、Markdown 等)

📋 变更总结

✨ 新增

  • 窗口管理模式(轻量/常驻/自动回收)
  • 活跃窗口指示器,为自动粘贴提供明确的UI反馈
  • 快捷键黑名单,可通过窗口指示器快速添加黑名单
  • 数据迁移模块,支持旧版数据库迁移,仍建议备份数据防止数据丢失
  • 统一窗口控制命令

🔄 优化

  • 云端数据字段精简,改用紧凑结构Json,占用更低
  • 本地数据库结构精简
  • 优化类型,将HTML、RTF、Markdown统一为格式文本类型
  • 内存占用降低
  • 代码组织更清晰
  • 规范权限配置
  • 优化 webdav 错误处理
  • 暂时移除了mica效果,在某些webview版本上好像有BUG
  • 优化内部复制检测
  • OCR调用改为纯后端
  • 优化RTF格式预览
  • 优化失焦窗口关闭速度
  • 收藏分组改为收藏开关,支持与分组、书签组合过滤数据,定位更精准

❌ 问题修复

  • 修复快速粘贴快捷键问题
  • 修复粘贴为纯文本快捷键问题
  • 增加颜色容差去重策略,修复颜色转换微小偏差导致的去重失败

⚠️ 不兼容变更

  • 云端数据结构有变更,旧版本无法读取新格式数据,建议清空云端数据后再执行新版本同步,或更改同步路径
  • 请确保所有设备都更新到 v0.8.0 或更高版本后再进行同步

感谢使用 EcoPaste-Sync!