Skip to content

Zotero TaskFlow 14.2.1

Choose a tag to compare

@groele groele released this 31 Oct 08:37
· 13 commits to main since this release

Zotero TaskFlow v14.2.1 发布说明

发布日期:2026-10-31
适用架构:纯净 TaskFlow 体系架构(交互流畅度优化、乐观 UI 更新与渲染管线防抖减负)

1. 核心改进

  • 任务与看板完成状态即时乐观反馈(Optimistic UI Updates):
    • 彻底解决点击任务复选框时等待磁盘 I/O、SQLite 事务及跨进程 IPC 导致的延迟卡顿(200ms–800ms 滞后)。
    • 点击复选框时立即更新 DOM 视觉状态(.checked、aria-checked、.completed 类名、just-checked 动画与彩花粒子),实现 0ms 零感知延迟;
    • 若底层持久化事务异常失败,自动安全回滚 DOM 状态并提示用户重试。
  • 子任务操作与删除即时响应:
    • 行内子任务复选框点击立即触发乐观状态切换、划线样式与进度条即时重算;
    • 行内子任务删除即时触发透明度渐变反馈,彻底消除等待后台保存时的滞后感。
  • 全链路冗余 DOM 重建消除:
    • 梳理并移除事件处理函数中在 TaskManager 变更队列 finally 渲染之后的二次冗余 this.render() 调用(包括任务勾选、子任务勾选、子任务删除、快捷添加、任务复制与看板拖拽调整);
    • Storage.acceptData 引入版本严格单调递增守护(revision >= data.revision),自动丢弃由于多消息广播发送的同版本重复事件,彻底杜绝单次点击触发 4–5 次连续全量 DOM 销毁与重建的性能风暴。
  • DOM 批量装配优化与局部渲染守护:
    • 任务列表渲染使用 DocumentFragment 一次性原子挂载,避免分段 appendChild 引起的浏览器连续样式回流(Reflow);
    • updateCategorySelect() 与 updateHeaderProgress() 增加数据指纹缓存比对,分类未变或完成率未变时直接跳过 innerHTML 销毁与重建;
    • updateSidebarFilterCounts() 优化为按需更新变更的计数文本,消除不必要的 DOM 操作。
  • 对象深拷贝性能提速:
    • Storage.clone 与 index.js:cloneData 优先采用现代平台原生的 structuredClone 高速内核,显著减少 JSON.stringify / JSON.parse 的 CPU 序列化开销。

2. 验证结果

  • 性能提升:自动化测试套件执行耗时从 26.3 秒显著降至 12.8 秒(执行速度提升逾 50%)。
  • 包构建:python scripts/build-package.py 构建通过,产物 zotero-taskflow-14.2.1.xpi(336,793 字节),SHA-256:4d3024c1de59ae019040f0ea8835b873f64ecd95697cf5b4ebb5bb4fa6feb3fc。
  • 单元测试:npm test 包含 154 项核心业务测试与 Python 打包测试 100% 全部通过(154 passed, 0 failed)。