Skip to content

Releases

TrayClip v0.3.3

Choose a tag to compare

@github-actions github-actions released this 08 Nov 05:17

更新内容

本次主要优化 OCR 下载体验与引擎版本管理,未更新 OCR 识别引擎。

优化

  • 新增 取消下载 按钮。取消后可重新下载,或通过浏览器下载引擎包后导入。
  • 支持下载期间关闭 OCR 弹窗,再次打开时继续查看下载进度。
  • 相同版本 OCR 引擎可跨应用版本复用,避免升级应用后重复下载安装。
  • OCR 组件安装成功后,自动清理其他引擎版本,减少磁盘占用;已安装的有效模型继续保留复用。
  • 完善应用降级场景,按当前应用所需版本安装兼容引擎。取消或安装失败时,不清理原有引擎。

修复

  • 修复 OCR 下载期间关闭并重新打开弹窗,可能出现 Another OCR request is running 的问题。
  • 修复下载缓慢时无法主动停止、影响切换至离线导入的问题。

说明

  • 本版本继续使用 OCR 引擎 0.1.0,复用 v0.3.2 中的引擎资产,因此本次 Release 不重复提供 OCR 引擎包。
  • 首次使用可在应用内下载,或通过“浏览器下载”获取对应引擎包后导入。
  • 关闭弹窗会继续后台下载;停止下载请使用“取消下载”。校验及安装阶段不支持强制取消。

Release Notes

This update focuses on optimizing the OCR download experience and engine version management. The OCR recognition engine itself has not been updated.

Improvements

  • Added a Cancel Download button. If a download is cancelled, you can restart it or download the engine package via your browser and import it manually.
  • You can now close the OCR window while a download is in progress; the download progress will be preserved and visible when you reopen the window.
  • OCR engines of the same version can be reused across different application versions, preventing the need for redundant downloads and installations after an app update.
  • Once an OCR component is successfully installed, the system will automatically clean up other engine versions to save disk space, while retaining and reusing any valid, already-installed models.
  • Improved handling for application downgrades: the system will install an engine version compatible with the current app version. Existing engines will not be removed if a download is cancelled or an installation fails.

Fixes

  • Fixed an issue where closing and reopening the OCR window during a download could trigger an "Another OCR request is running" error.
  • Fixed an issue where a slow download could not be manually stopped, which previously prevented users from switching to the offline import method.

Notes

  • This version continues to use OCR engine 0.1.0 and reuses the engine assets from v0.3.2; therefore, no separate OCR engine package is provided in this release.
  • For first-time use, you can download the engine directly within the app, or download the required package via your browser and import it.
  • Closing the OCR window will not stop the download—it will continue in the background. Please use the "Cancel Download" button to stop the process. Note that forced cancellation is not supported during the verification or installation phases.

TrayClip v0.3.2

Choose a tag to compare

@github-actions github-actions released this 07 Nov 16:20

TrayClip v0.3.2

本次更新新增离线 OCR 文字识别,采用按需下载的独立引擎,兼顾主安装包体积与离线使用体验;同时修复 Windows 卸载数据清理问题,并完善多平台构建流程。

新增功能

  • 图片文字识别:支持从剪贴板图片中提取文字,识别结果可编辑、复制。
  • 本地离线处理:引擎和模型准备完成后,识别过程无需联网,图片不上传至云端。
  • 按需安装 OCR:首次使用时下载独立引擎和模型,不将推理运行库捆绑进主安装包。
  • 离线导入引擎:支持从 GitHub Releases 手动下载 OCR 引擎 ZIP 后导入,方便自动下载不畅时使用。
  • 下载与完整性校验:提供下载阶段提示、失败重试,并校验引擎和模型文件的完整性。

优化调整

  • OCR 引擎和模型版本由 TrayClip 版本统一管理,避免自动追随上游更新带来的兼容性问题。
  • 减少重复校验逻辑和无用状态字段,提升代码及测试脚本的可维护性。

问题修复

  • 修复 Windows 卸载时勾选“清理应用数据”后,安装目录中的历史记录、图片及 OCR 缓存仍被保留的问题。
  • 未勾选清理时继续保留数据,自动更新不主动清理数据。
  • 修复 Linux、macOS 测试构建中 Windows 专用函数导入失败的问题。
  • 修复 CI 中前端产物缺失、Windows 链接器冲突,以及 OCR manifest 路径格式不兼容导致的构建失败。

使用与升级说明

  • OCR 首次使用需要下载引擎和模型,耗时取决于网络状况;准备完成后可离线使用。
  • OCR 引擎通过 GitHub Releases 分发,也可下载对应平台的引擎 ZIP 后手动导入。
  • Windows 清理修复的生效范围:首次从旧版升级时仍会调用旧版卸载器,清理选项可能依然无效。安装本版本后,后续调用新版卸载器时该修复才会生效。

TrayClip v0.3.2

This update introduces offline OCR (Optical Character Recognition) capabilities. By utilizing an on-demand, separately downloaded engine, we maintain a compact main installation package while enabling offline functionality. Additionally, this release addresses data cleanup issues during uninstallation on Windows and refines the multi-platform build process.

New Features

  • Image-to-Text (OCR): Extract text from images stored in the clipboard; the recognized text can be edited and copied.
  • Local Offline Processing: Once the engine and models are set up, recognition occurs entirely offline—no images are uploaded to the cloud.
  • On-Demand OCR Installation: The OCR engine and models are downloaded only when first needed, keeping the inference runtime libraries out of the main installation package.
  • Offline Engine Import: Users can manually download the OCR engine ZIP file from GitHub Releases and import it—a useful fallback if automatic downloading fails.
  • Download Management & Integrity Verification: Includes progress notifications, retry logic for failed downloads, and integrity checks for engine and model files.

Improvements & Adjustments

  • OCR engine and model versions are now managed in sync with the TrayClip version, preventing compatibility issues that could arise from automatically tracking upstream updates.
  • Reduced redundant verification logic and unnecessary state fields, improving the maintainability of the codebase and test scripts.

Bug Fixes

  • Fixed an issue on Windows where historical records, images, and OCR cache files remained in the installation directory even when the "Clean up application data" option was selected during uninstallation.

  • Data is now preserved if the cleanup option is not selected; automatic updates will not trigger data deletion.

  • Resolved import failures for Windows-specific functions during Linux and macOS test builds.

  • Fixed build failures caused by missing frontend artifacts in the CI pipeline, Windows linker conflicts, and incompatible path formatting in the OCR manifest. ### Usage and Upgrade Notes

  • Upon first use, the OCR feature requires downloading an engine and a model; the time required depends on your network conditions. Once set up, it can be used offline.

  • The OCR engine is distributed via GitHub Releases; alternatively, you can download the engine ZIP file for your specific platform and import it manually.

  • Scope of Windows Cleanup/Repair Fixes: When upgrading from an older version for the first time, the legacy uninstaller will still be invoked, meaning cleanup options may remain ineffective. The fix will only take effect during subsequent uninstallation processes, once the new version's uninstaller is used.

TrayClip v0.3.1

Choose a tag to compare

@github-actions github-actions released this 06 Nov 12:36
  • Default to focusing the clipboard list when the main window is opened, while preserving existing search terms and group filters.
  • Add keyboard shortcuts (Ctrl/Cmd + 1–9) to quickly copy the clipboard item corresponding to the given number.
  • Improve keyboard event handling: filter out specific key combinations and prevent shortcuts from triggering while typing in input fields.
  • Support Ctrl/Cmd + F to focus and select text within the search box.
  • Implement keyboard event blocking for overlays such as pop-ups, menus, and editors.
  • Update help documentation, the README, and multilingual instructions to detail the new shortcuts and interaction rules.
  • Change the default focus upon window launch from the search box to the clipboard list.
  • Add unit tests for keyboard-driven operations to ensure consistent behavior across platforms.
  • 主窗口打开时,默认将焦点置于剪贴板列表,同时保留现有的搜索词和分组筛选条件。
  • 新增键盘快捷键(Ctrl/Cmd + 1–9),用于快速复制对应编号的剪贴板条目。
  • 优化键盘事件处理:过滤特定按键组合,防止在输入框内打字时意外触发快捷键。
  • 支持使用 Ctrl/Cmd + F 将焦点移至搜索框并选中其中的文本。
  • 在弹窗、菜单和编辑器等覆盖层中,实现对键盘事件的拦截。
  • 更新帮助文档、README 文件及多语言说明,详细介绍新增的快捷键和交互规则。
  • 将窗口启动时的默认焦点从搜索框更改为剪贴板列表。
  • 为键盘操作添加单元测试,确保在不同平台上表现一致。

TrayClip v0.3.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 14:36
  • Added a parameter to ClipList and ClipCard components to display current timestamps, improving time presentation.
  • Enhanced icon display for different clipboard content types in ClipCard; added lazy loading for image thumbnails and logic for displaying file paths.
  • Introduced a control property for displaying group names for clipboard items, and refined the styling for group names and timestamps.
  • Optimized keyboard interactions within the clipboard list to prevent conflicts between the 'Enter' key and focus management.
  • Refined the logic for inserting clipboard records into the database by distinguishing how file path summaries are handled, ensuring that content summaries do not interfere with hash generation.
  • Ensured that the source application information is preserved during re-copying, preventing it from being incorrectly overwritten.
  • Added unit tests for clipboard hash compatibility (specifically for file paths) and the re-copying logic.
  • Implemented drag-to-scroll functionality in the GroupBar component to improve the user experience for the group tab bar.
  • Adjusted button sizes and styles in the GroupSelect component to ensure a consistent UI.
  • Added clip-actions styling to manage the opacity and clickability states of clipboard action buttons.
  • Updated Vite configuration to exclude the background source code directory from file-watching, preventing unnecessary rebuilds.
  • Added test scripts for the clip-time utility library to verify time formatting—covering Chinese/English localization and edge cases for relative time.
  • 在 ClipList 和 ClipCard 组件中新增了显示当前时间戳的参数,优化了时间信息的呈现方式。
  • 增强了 ClipCard 中针对不同剪贴板内容类型的图标显示;引入了图片缩略图的懒加载机制,并添加了文件路径的显示逻辑。
  • 新增了用于显示剪贴板项目所属组名称的控制属性,并优化了组名称与时间戳的样式。
  • 优化了剪贴板列表中的键盘交互逻辑,解决了“回车”键(Enter)与焦点管理之间的冲突。
  • 改进了剪贴板记录存入数据库的逻辑,区分了文件路径摘要的处理方式,确保内容摘要不会干扰哈希值的生成。
  • 确保在重新复制(re-copying)操作时保留来源应用程序信息,防止其被错误覆盖。
  • 针对剪贴板哈希兼容性(特别是针对文件路径)及重新复制逻辑增加了单元测试。
  • 在 GroupBar 组件中实现了“拖拽滚动”功能,提升了分组标签栏的用户体验。
  • 调整了 GroupSelect 组件中按钮的尺寸与样式,以保持界面(UI)的一致性。
  • 添加了 clip-actions 样式,用于管理剪贴板操作按钮的不透明度及可点击状态。
  • 更新了 Vite 配置,将后台源代码目录排除在文件监听范围之外,避免了不必要的重新构建。
  • 为 clip-time 工具库添加了测试脚本,用于验证时间格式化功能——涵盖了中英文本地化支持以及相对时间的各种边界情况。

TrayClip v0.2.13

Choose a tag to compare

@github-actions github-actions released this 28 Oct 16:06
  • Added a category filtering feature;
  • Optimized group display and interaction;
  • Removed the manual "check for updates" option from the About page; the update check function has been moved to the window menu bar;
  • Improved translation handling: underscores are now automatically replaced with spaces.
  • 新增类型筛选功能;
  • 优化分组展示和交互;
  • 移除了关于页面手动检查更新,检查更新迁移到窗口栏;
  • 优化翻译处理,自动将下划线替换成空格;

TrayClip v0.2.12

Choose a tag to compare

@github-actions github-actions released this 26 Oct 15:05
  • Added getClipText to retrieve the full text of a clip, improving the accuracy of text operations.
  • Added allowImagePreview to determine whether previewing an image at a specified path is permitted.
  • Removed unused interfaces, including getSettings, getHotkeys, and loadImageDataUrl.
  • Updated the ClipCard component to use getClipText for fetching full text, ensuring the integrity of link opening and JSON copying operations.
  • Added logic to ClipCard to detect truncated preview text and trigger the loading of the full text when necessary.
  • Changed the ClipList type from ClipRecord to ClipListItem to align with structural adjustments.
  • Standardized the use of clip preview text throughout the codebase to minimize data transfer and enhance performance.
  • Removed the Badge UI component and its associated styles to reduce redundant code.
  • Implemented database initialization, snapshotting, and data truncation controls on the Rust side to ensure data integrity.
  • Enforced limits on image size and dimensions to prevent memory overflows and the loading of malformed data.
  • Refined clipboard image processing logic to ensure proper resource release and data reliability.
  • Removed dependencies on base64 and tauri-plugin-fs to streamline project dependencies.
  • Reorganized the database Clip data model by adding fields for clip previews and URL markers, optimizing list query efficiency.
  • Implemented various interaction improvements for ClipCard, including enhancements to features like translation and AI-generated summaries.
  • Refactored window-closing logic into a separate hook to improve code clarity and reusability.
  • 新增 getClipText 接口,用于获取剪贴板内容的完整文本,提升文本操作的准确性。
  • 新增 allowImagePreview 接口,用于判断是否允许预览指定路径下的图片。
  • 移除不再使用的接口,包括 getSettings、getHotkeys 和 loadImageDataUrl。
  • 更新 ClipCard 组件,改用 getClipText 获取完整文本,确保链接打开及 JSON 复制操作的数据完整性。
  • 在 ClipCard 中加入逻辑,用于检测预览文本是否被截断,并在必要时触发完整文本的加载。
  • 将 ClipList 的类型从 ClipRecord 更改为 ClipListItem,以适配结构调整。
  • 统一了代码库中剪贴板预览文本的使用方式,旨在减少数据传输并提升性能。
  • 移除 Badge UI 组件及其相关样式,以精简冗余代码。
  • 在 Rust 端实​​现数据库初始化、快照生成及数据截断控制,确保数据完整性。
  • 对图片大小和尺寸设置限制,防止内存溢出及加载异常数据。
  • 优化剪贴板图片处理逻辑,确保资源得到妥善释放,并保障数据可靠性。
  • 移除对 base64 和 tauri-plugin-fs 的依赖,精简项目依赖项。
  • 调整数据库 Clip 数据模型,新增剪贴板预览及 URL 标记字段,优化列表查询效率。
  • 改进 ClipCard 的交互体验,增强了翻译及 AI 生成摘要等功能。
  • 将窗口关闭逻辑重构为独立的 Hook,以提升代码清晰度与可复用性。

TrayClip v0.2.11

Choose a tag to compare

@github-actions github-actions released this 27 Sep 10:01
  • Added zoom support for preview images.
  • Added source information when copying content.
  • Fixed known issues.
  • 预览图片支持放大缩小
  • 增加复制内容来源
  • 修复已知问题

TrayClip v0.2.10

Choose a tag to compare

@github-actions github-actions released this 29 Aug 13:32
  • Fixed list pagination and optimized search
  • Added an image preview modal to the clipboard component, supporting multi-image browsing and copying images to the clipboard
  • Optimize package size
  • 修复列表翻页,优化搜索
  • 新增图片弹窗预览,支持多图预览
  • 优化打包空间大小

TrayClip v0.2.9

Choose a tag to compare

@github-actions github-actions released this 28 Aug 14:27
  • Fix macOS tray
  • 修复macOS托盘展示问题

TrayClip v0.2.8

Choose a tag to compare

@github-actions github-actions released this 05 Aug 13:54
  • Fix the issue of limited translation upstream
  • 修复上游翻译受限问题