Skip to content

EcoPaste-Sync v0.8.0.beta (重构测试版)

Pre-release
Pre-release

Choose a tag to compare

@Ruszero01 Ruszero01 released this 28 Jan 06:54

更新说明

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

⚠️ 重要提示:由于数据结构有较大变更,建议在更新前手动备份重要数据,并确保本地数据已同步至最新。新用户首次运行会创建新版数据库。


🌟 主要更新

1️⃣ 窗口管理模式(新增)

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

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

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


2️⃣ 数据流优化

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

3️⃣ 数据结构优化

本地数据库变更

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

保留的字段:

  • 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": "内容",       // 所有数据保存在这里
  "favorite": false,     // 是否收藏
  "note": "备注内容",    // 备注(可选)
  "time": 1700000000000  // 时间戳
}

主要变化:

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

4️⃣ 数据迁移

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


5️⃣ 新增后端模块

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

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

📋 变更总结

✨ 新增

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

🔄 优化

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

❌ 问题修复

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

⚠️ 不兼容变更

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

感谢使用 EcoPaste-Sync!