Skip to content

2.3.3

Choose a tag to compare

@github-actions github-actions released this 15 Jul 17:18

✨ 新功能

✨ NEW FEATURES

  • 新增分享有效期设置选项,并增加分享管理控制台。
  • Added sharing validity period setting options and added sharing management console.
  • 新增同步失败项视图,支持“仅看失败”筛选、错误原因展示、失败项淘汰上限及状态栏红点提示。
  • Added a new synchronization failed item view, which supports "see only failures" filtering, error cause display, failed item elimination limit, and status bar red dot prompt.
  • 新增离线超墓碑期保护机制,防止设备长期离线后,误将服务端已清理的失效文件作为新增文件重新上传。
  • Added an offline over-tombstone protection mechanism to prevent the device from mistakenly re-uploading invalid files that have been cleaned by the server as new files after the device has been offline for a long time.
  • 新增写盘前校验,在服务端推送落盘前检查本地是否存在未同步的编辑,避免覆盖本地改动。
  • Added verification before writing to the disk. Check whether there are unsynchronized local edits before pushing to the disk on the server side to avoid overwriting local changes.

🛠 修复

🛠 Fix

  • 修复移动端(iOS/Android)同步配置(API、Token、Vault)使用一段时间后丢失的 Bug。
  • Fixed the bug that the synchronization configuration (API, Token, Vault) of the mobile terminal (iOS/Android) is lost after a period of use.
  • 修复离线超墓碑期保护在点击取消后仅单轮生效的 Bug。
  • Fixed the bug that the offline over-tombstone period protection only takes effect in one round after clicking Cancel.
  • 修复附件上传与重命名并发冲突导致的竞态问题。
  • Fixed a race condition problem caused by concurrent conflicts between attachment uploading and renaming.
  • 修复断线重连时,因旧同步会话网络响应迟到异常清空新会话状态的 Bug。
  • Fixed the bug that caused the new session status to be cleared abnormally due to late network response of the old synchronization session when disconnected and reconnected.
  • 修复大文件跳过通知在移动端重复弹出的 Bug。
  • Fixed a bug that caused large file skip notifications to pop up repeatedly on the mobile side.
  • 修复移动端每次启动时全量重新计算哈希的问题。
  • Fixed the issue of fully recalculating the hash every time the mobile terminal is started.
  • 修复分页进度乱序或重复导致同步卡死的问题,超时保底分支不再对未完成下载静默报成功。
  • Fixed the problem of synchronization being stuck due to out-of-order or repeated paging progress. The timeout guarantee branch no longer silently reports success for unfinished downloads.
  • 修复并发限制器清理时可能导致队列任务永久悬挂死锁的 Bug。
  • Fixed a bug that may cause queue tasks to hang permanently in deadlock when concurrency limiter is cleared.
  • 修复配置增量扫描时可能丢失本地未推送改动的 Bug。
  • Fixed a bug where local unpushed changes may be lost when configuring incremental scanning.
  • 修复写盘失败时未正确计数,导致同步完成通知中将失败项误统计为成功的 Bug。
  • Fixed a bug that caused incorrect counting of disk writing failures, causing the failed items to be mistakenly counted as successful in the synchronization completion notification.
  • 修复插件卸载后未清理定时器与同步任务导致的残留/内存泄漏问题。
  • Fixed the residual/memory leak problem caused by not clearing timers and synchronization tasks after plug-in uninstallation.
  • 修复同步日志中不显示上传消息的 Bug。
  • Fixed a bug where upload messages are not displayed in the synchronization log.

⚡️ 优化与改进

⚡️ Optimization and improvement

  • 优化文件下载流程,支持流式写入,消除大文件下载时的双份内存峰值。
  • Optimize the file download process, support streaming writing, and eliminate the double memory peak when downloading large files.
  • 优化大文件哈希计算,改用头/中/尾三段采样,避免哈希计算卡顿。
  • Optimize the hash calculation of large files and use three-segment sampling of head/middle/tail to avoid hash calculation lag.
  • 优化冷建哈希映射与缓存未命中扫描,改用最多 6 路有限并发读取和哈希计算。
  • Optimize cold-built hash mapping and cache miss scanning, using up to 6-way limited concurrent reads and hash calculations instead.
  • 优化扫描循环,使用 yieldToMain (MessageChannel) 替代 sleep(0) 规避 Chromium 4ms 延迟。
  • Optimize the scan loop and use yieldToMain (MessageChannel) instead of sleep(0) to avoid Chromium's 4ms delay.
  • 优化路径哈希与快照删除,改用防抖保存而非同步整表写盘。
  • Optimize path hashing and snapshot deletion, use anti-shake saving instead of synchronizing the entire table writing to disk.
  • 优化哈希/快照缓存写入,改用脏​​标记 + 防抖落盘,避免高频写入 LocalStorage 导致白屏。
  • Optimize hash/snapshot cache writing, use dirty mark + anti-shake disk to avoid white screen caused by high-frequency writing to LocalStorage.
  • 优化数据传输协议,引入上行分批发送的滑动窗口状态机,支持下行分页按索引归账与 ACK 水位线推进。
  • Optimize the data transmission protocol, introduce a sliding window state machine for upstream batch transmission, and support downstream paging based on index accounting and ACK water level advancement.
  • 移除文件夹同步的 30 秒等待限制,支持四类清单并发发出,大幅缩减同步前准备时间。
  • Remove the 30-second waiting limit for folder synchronization and support concurrent issuance of four types of lists, greatly reducing the preparation time before synchronization.
  • 默认开启并发限流控制。
  • Concurrent current limiting control is enabled by default.
  • 减少大库同步时的日志磁盘写入,跳过高频接收消息的成功日志持久化,降低 I/O 开销。
  • Reduce log disk writing during large database synchronization, skip successful log persistence of high-frequency received messages, and reduce I/O overhead.
  • 优化启动延迟逻辑,确保首次启动延迟只在加载后首次连接生效,重连不再重复延迟。
  • Optimize the startup delay logic to ensure that the first startup delay only takes effect on the first connection after loading, and reconnection will not repeat the delay.
  • 优化同步日志性能,采用 Map 结构消除高频更新时的 O(n²) 查找开销,并为状态栏和日志更新加入节流控制。
  • Optimize synchronization log performance, use Map structure to eliminate O(n²) search overhead during high-frequency updates, and add throttling control for status bar and log updates.
  • 优化目录删除同步逻辑,超时后放弃强删,避免误删未下载完或新建的文件。
  • Optimize directory deletion synchronization logic and give up forced deletion after timeout to avoid accidentally deleting undownloaded or newly created files.

💄 其他/体验

💄 Other/Experience

  • 调整同步日志界面布局。
  • Adjust the synchronization log interface layout.
  • 暂时下线文件差异可视化功能,等待后续改进。
  • The file difference visualization function is temporarily offline, waiting for subsequent improvements.
  • 调整并发控制默认开启的相关国际化文案。
  • Adjust the relevant internationalization text that concurrency control is turned on by default.
  • 修正未连接状态下发送消息的日志文案,准确提示为直接丢弃。
  • Corrected the log copy of messages sent when not connected, and the correct prompt is to discard them directly.