EcoPaste-Sync v0.8.0.beta (重构测试版)
Pre-release
Pre-release
更新说明
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_language、is_code:代码类型现在通过type='code'标识,不再需要单独字段
云端数据结构变更
云端同步数据采用更紧凑的格式:
{
"id": "xxx",
"type": "text", // 数据类型
"subtype": "markdown", // 子类型(可选)
"value": "内容", // 所有数据保存在这里
"favorite": false, // 是否收藏
"note": "备注内容", // 备注(可选)
"time": 1700000000000 // 时间戳
}主要变化:
- 移除了
deleted字段:已删除的项目直接从云端移除,不保留删除标记 - 移除了
search字段:搜索关键词自动从value中提取 - 移除了
count字段:粘贴次数不再同步 - 移除了
code_language、is_code字段:代码类型通过type标识 - 移除了
source_app_name、source_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!