Repository navigation
Releases
Zotero TaskFlow v16.0.0
Zotero TaskFlow 16.0.0
Zotero TaskFlow 正式发布 16.0.0 大版本,标志着全系统一大版本(Zotero Flow Unified Major Release 16.0.0)协同确立。
🌟 核心升级与特性
- 统一全系大版本号:跃升至 16.0.0,与 Zotero Flow 家族其余六大插件保持完全一致的版本号与契约;
- 纯净现代化架构底座:彻底拆除历史超大单例模块,建立涵盖 30 个 TypeScript 模块的纯净架构(全部 <= 360 行,0 债务);
- 架构守卫与自动化套件:建立严格的 architecture-guard 自动化守护套件,类型检查与静态测试 100% 通过;
- 双向 Fluent 本地化中英双语严格对称:设置面板 100% Fluent
data-l10n-id驱动,零硬编码; - 完整自动化测试验证:186 项单元测试与集成测试全量通过。
Zotero TaskFlow 15.0.1
Zotero TaskFlow v15.0.1 发布说明
发布日期:2026-11-06
适用架构:现代 esbuild + TypeScript 模块化编译流水线架构(架构治理与债务清零版本)
1. 架构债务彻底清零与版本升级概览
Zotero TaskFlow 正式发布 v15.0.1 版本。本次升级对 TaskFlow 全系架构债务进行彻底攻坚与重构清债,全面拆解历史超大单例模块,建立严格的架构守卫测试,并彻底移除历史版本的兼容包袱,实现 100% 现代化的纯净代码底座。
核心改进与技术亮点
-
历史超大单例模块彻底拆解与领域解耦:
-
src/itemPane.ts(原 848 行):拆分为 DOM 视图渲染、右键菜单、拖拽交互、快速新建、研读模板与任务调度子模块(src/itemPane/),各子文件控制在 60~260 行以内; -
src/modules/windowToolbar.ts(原 597 行):拆分为功能按钮工具组、快捷键与菜单组、宿主消息通信桥梁组(src/modules/toolbar/),主控制器瘦身至 131 行; -
src/preferences.ts(原 524 行):拆解为首选项数据模型(model.ts)与动态 UI 绑定控制器(uiBinding.ts),主入口精简至 74 行; -
src/modules/literature.ts(原 462 行):拆解为文献任务映射(literatureMapping.ts)、阅读计划规划(literaturePlan.ts)与子笔记状态同步(literatureSync.ts),主模块精简至 71 行。
-
-
建立架构基线与自动化守卫测试:
- 建立
scripts/architecture-baseline.json,声明debtCleared: true与 0 超限模块; - 建立
scripts/architecture-guard.mjs,纳入 14 项自动化架构约束测试(涵盖 360 行上限、状态标签规范、Fluent 对称性与零硬编码、首选项双向绑定、Gecko 废弃 API 扫描、版本对齐与 SHA-512 校验等); - 全系 30 个 TypeScript 源码文件全部控制在 302 行以内(严格遵守
$\le 360$ 行铁律)。
- 建立
-
彻底终结历史版本兼容包袱:
- 彻底移除对历史
[Todolist]笔记与标签的兼容检测与迁移代码,全面采用纯正[TaskFlow]标识与TaskFlow标签; - 清理设置面板启动绑定中的历史别名,直连现代控制器;
- 移除冗余的派发拦截与历史按钮探测逻辑,保证代码库的高效与纯净。
- 彻底移除对历史
-
XPCOM 原生现代化与生命周期健壮性:
-
bootstrap.js全面升级为现代 Gecko XPCOM 简写标识符(Cc/Ci),摒弃过时的全局对象调用。
-
2. 自动化验证数据
- TypeScript 类型检查:
npm run tsc0 error 严格通过。 - 架构守护套件:
npm run guard14 项架构守卫测试 100% 通过(0 fail)。 - 自动化测试套件:
npm test包含 158 项核心测试、14 项架构守卫测试及 6 项 Python 打包测试全部绿灯通过(0 fail)。 - 打包与哈希核验:
zotero-taskflow-15.0.1.xpi自动生成,update.json内sha512校验和精准吻合。
Zotero TaskFlow 15.0.0
Zotero TaskFlow v15.0.0 发布说明
发布日期:2026-11-05
适用架构:现代 esbuild + TypeScript 模块化编译流水线架构(Zotero Flow 统一工程标准里程碑大版本)
1. 里程碑大版本升级概览
Zotero TaskFlow 正式发布 v15.0.0 大版本更新。本次升级是 TaskFlow 发展历程中的核心架构里程碑,彻底完成从传统散装覆盖式加载结构向现代化 TypeScript + esbuild 模块化工程流水线的战略性演进,全面融入 Zotero Flow 统一架构标准。
核心改进与技术亮点
-
全入口 TypeScript 化与源码权威建立 (
src/):- 源码全面采用 TypeScript (ESM) 编写,彻底告别历史上游离在类型系统之外的手写 JS 脚本;
- 建立三大独立编译入口:
src/index.ts:宿主生命周期调度中枢与聚合根(单文件从 2484 行大幅瘦身至 183 行);src/preferences.ts:首选项设置面板动态表单控制器;src/itemPane.ts:条目详情侧边栏 Web Component 原生交互组件;src/utils.ts:文献序列化与 DOM 安全转义通用辅助函数集;src/types/zotero.d.ts:完备的 Gecko / Zotero 10 ~ 12 宿主环境类型体系。
-
全链路数据处理逻辑审计与健壮性闭环:
- 文献子笔记同步去重:增强
syncTasksToChildNote识别历史[Todolist]笔记与标签的能力,保障老版本平滑迁移且绝不生成重复子笔记; - 生命周期定时器防悬垂逃逸:在
shutdown()中彻底补齐条目详情侧边栏 8 秒撤销定时器(_paneUndoTimer)的清理与撤销缓冲区重置; - 打印窗口弹窗拦截防护:增强
printTasks()对win.open()返回空对象的安全防御; - 严格遵守单文件行数铁律:将持久化、文献研读与窗口管理进一步细分为单文件 100~300 行的强内聚领域模块。
- 文献子笔记同步去重:增强
-
强类型分层继承架构 (
src/modules/):- 严格遵守模块化铁律,将庞大单例按领域职责拆分为强类型继承链:
TaskFlowBase(src/modules/base.ts):基础环境感知、首选项读写与错误诊断中枢;TaskFlowStorage(src/modules/storage.ts):数据读写、原子持久化、代际并发乐观锁与跨格式灾备导出导入;TaskFlowLiterature(src/modules/literature.ts):文献研读流水线、精读里程碑与子笔记双向同步;TaskFlowWindow(src/modules/window.ts):窗口 UI 注入、多窗口生命周期与伴随独立窗口(Todolist_SubWindow,Todolist_Window)管理;TaskFlowHost(src/index.ts):宿主单例聚合根与启动初始化。
- 严格遵守模块化铁律,将庞大单例按领域职责拆分为强类型继承链:
-
设置面板与视图模板零硬编码文案(100% Fluent 覆盖):
- 为设置面板内全部 40 项动态表单控件补齐了中英双语对齐的 Fluent 本地化键值(
taskflow-pref-field-*); - 控件渲染全面挂载
data-l10n-id,使原生 Gecko 运行时自动根据系统语言无缝切换双语,彻底杜绝硬编码文本。
- 为设置面板内全部 40 项动态表单控件补齐了中英双语对齐的 Fluent 本地化键值(
-
现代化高速构建与统一命令契约:
- 配备严格的
tsconfig.json(目标ES2022/ESNext),编译期前置类型守卫; - 引入
esbuild现代高速编译流水线,面向 Firefox 140+ / Gecko 153+ 标准输出单一高性能自包含宿主 IIFE 主包与多上下文脚本; - 全系标准对齐统一 NPM 脚本:
npm run tsc:执行全量静态类型检查(0 error 严格通过);npm run build:source:执行 esbuild 模块编译打包;npm run build:一键自动执行类型检查、源码编译、哈希更新与 XPI 归档校验;npm test:运行全量 158 项自动化测试套件与打包测试。
- 配备严格的
2. 自动化验证数据
- TypeScript 类型检查:
npm run tsc0 error 严格通过。 - esbuild 模块编译:多入口编译输出符合 Firefox 140+ / Gecko 153+ 规范的纯净 IIFE bundle。
- 包构建与校验:
npm run build产物zotero-taskflow-15.0.0.xpi自动生成,update.json的sha512校验和 100% 吻合。 - 全套自动化测试:
npm test包含 158 项单元/集成测试与打包测试全部绿灯通过(0 fail)。
Zotero TaskFlow 14.4.0
Zotero TaskFlow v14.4.0 发布说明
发布日期:2026-11-05
适用架构:现代 esbuild + TypeScript 模块化构建流水线架构(全面对齐 Zotero Flow 统一构建工程标准)
1. 核心改进与技术架构升级
- 彻底告别覆盖式结构:全面迁移至现代 TypeScript + ESM 源码架构:
- 将原本分散在历史覆盖目录的宿主核心代码全面重构至
src/模块化目录体系; - 建立类型化领域模块:
src/config.ts:插件元数据、偏好设置默认值与运行时常量;src/taskRules.ts:纯函数学术任务规则引擎与状态机(并发代数锁、定时器指纹、备份清洗);src/literatureWorkflow.ts:文献关联、精读流程与学术日历流转规则;src/itemPane.ts:文献详情侧栏 Web Component 交互控制与原生 DOM 挂载;src/index.ts:现代化宿主主类与多窗口生命周期调度引擎。
- 将原本分散在历史覆盖目录的宿主核心代码全面重构至
- 构建命令与工程流水线统一(对齐全系 esbuild/TS 标准):
- 新增
tsconfig.json与全局 Gecko/Zotero 运行时代数声明src/types/zotero.d.ts,支持严格的静态类型检查; - 引入
esbuild现代高速编译流水线scripts/build-source.mjs,以src/index.ts为唯一宿主入口,自动打包并输出符合 Firefox 140+ / Gecko 153+ 标准运行时的单一自包含 IIFE 主包chrome/content/scripts/index.js; - 全面统一
package.json中的构建脚本体系:npm run tsc:执行全量 TypeScript 静态类型检查(0 错误通过);npm run build:source:执行 esbuild 模块化编译打包;npm run build:一键全自动完成 TypeScript 类型检查、esbuild 编译、XPI 归档生成与 SHA-512 校验和同步;npm test:构建前置自动化校验并运行全部 158 项自动化测试;
- 彻底解决了 TaskFlow 过去作为历史覆盖式项目“不能套用同一套构建命令”的异构问题,使其完全融入 Zotero Flow 全系统一工程基准。
- 新增
- 现代化无重启生命周期与动态 Chrome 注册闭环:
bootstrap.js全面遵循无重启契约规范,通过aomStartup.registerChrome动态注册chrome://taskflow/命名空间,在插件卸载/禁用时通过chromeHandle.destruct()干净销毁,不再强依赖旧式静态chrome.manifest覆盖注入;bootstrap.js的startup()优雅收敛为仅加载打包生成的统一主脚本index.js,告别历史多文件散装脚本注入。
2. 验证结果
- TypeScript 类型检查:
npm run tsc0 error 严格通过。 - esbuild 模块编译:
npm run build:source编译src/index.ts输出 188KB 纯净 IIFE bundle。 - 包构建与校验:
npm run build产物zotero-taskflow-14.4.0.xpi自动生成,update.json的sha512校验和 100% 吻合。 - 全套自动化测试:
npm test包含 158 项单元/集成测试与打包测试全部绿灯通过(0 fail)。
Zotero TaskFlow 14.3.0
Zotero TaskFlow v14.3.0 发布说明
发布日期:2026-11-04
适用架构:纯净 TaskFlow 体系架构(生命周期闭环、4.2 栅格对齐、只读防护与安全加固)
1. 核心改进
- 设置页 Fluent 文案深度治理 (零硬编码) [P1]:
- \preferences.xhtml\ 全量重构为 100% \data-l10n-id\ 驱动,文本节点与属性中文硬编码全部清零(0 处遗留),严格遵循零硬编码规范;
- \locale/zh-CN/taskflow.ftl\ 与 \locale/en-US/taskflow.ftl\ 全面扩充并实现 104 对 Fluent 词条严格双向对称无缺失。
- 代码架构深度解耦与大模块拆分 [P1]:
- 宿主入口拆分:将 \chrome/content/scripts/index.js\(原 3,477 行)中条目侧栏渲染与生命周期逻辑完全抽离为高内聚独立模块 \chrome/content/scripts/itemPane.js\,宿主入口缩减至 2,692 行(大幅精简近 800 行);
- UI 模块拆分:将 \chrome/content/js/ui.js\(原 1,980 行)中任务卡片 DOM 构建逻辑解耦为专用卡片渲染器 \chrome/content/js/taskCard.js\,UI 核心精简至 1,757 行。
- 生命周期闭环:独立伴随窗口与重试定时器纳管 [P1]:
- 穿透枚举所有独立窗口(
Services.wm.getEnumerator(null)),在shutdown()时关闭所有通过Services.ww.openWindow打开的Todolist_SubWindow与Todolist_Window,彻底根除卸载/禁用后的孤儿窗口泄露问题; - 纳管
openStandaloneWindow()中的递归重试投递定时器(mainWin.setTimeout),登记 timer ID 并在窗口关闭(unload)或插件 shutdown 时自动注销清理。
- 穿透枚举所有独立窗口(
- 设置页面板 CSS 类名修复与 4.2 网格标准对齐 [P1]:
- 彻底解决
preferences.xhtml与preferences.css类名不匹配问题,双向统一支持.todolist-pref-actions/.todolist-action-group与.todolist-pref-release-info/.todolist-release-info,使底部版本信息卡片与导出/操作按钮恢复标准边框与网格排版; - 将高级卡片内部的备份导出和自定义标签子控件(
.todolist-pref-tags-container、.todolist-tag-creator-bar、.todolist-export-grid、.todolist-import-bar、.todolist-shortcut-help、操作按钮组等)统一声明margin-inline-start: 24px,精准对齐 40px 黄金基准线。
- 彻底解决
- 只读条目子笔记交互假阳性修复 [P2]:
- 条目详情侧边栏在检测到文献条目处于只读群组或不可编辑状态(
!target.isEditable())时,自动将「同步子笔记」按钮置为禁用状态并提示“只读文献无法同步子笔记”; - 严格校验
syncTasksToChildNote(target.id)的返回值,若返回null则禁止弹出“同步成功”,明确提示“只读条目或未找到任务清单,跳过同步”; - 扩展
getLiteratureItem适配条目 ID(数值/字符串)直接寻址解析。
- 条目详情侧边栏在检测到文献条目处于只读群组或不可编辑状态(
- 重复事件绑定与通知去重 & CSV 安全加固 [P2]:
- 移除前端
ui.js中对#btn-zotero-prefs冗余的重复click监听器绑定; - 优化
index.js与zoteroBridge.js数据变更通知机制,宿主发送规范TASKFLOW_DATA_CHANGED事件,前端检测若已通过直连数据监听器(_hasDirectDataListener)接收则跳过postMessage重复投递,避免 3 次重复处理; - 宿主端
Zotero.TaskFlow.exportData('csv')增加 Excel 宏与公式注入防护,对开头为=, +, @, -的单元格文本强制添加'单引号安全转义,与前端导出逻辑保持完全一致。
- 移除前端
- 更新源与打包校验升级至 SHA-512 [P1]:
- 清理
update.json中堆叠的历史冗余版本,仅保留代表性演进里程碑(14.3.0, 14.2.3, 14.2.0, 14.1.0, 14.0.0, 13.0.0, 12.6.3); - 将
update.json的update_hash以及打包脚本scripts/build-package.py输出的哈希全面升级为更安全的sha512:算法。
- 清理
2. 验证结果
- 包构建:
python scripts/build-package.py严格验证包哈希与结构,产物zotero-taskflow-14.3.0.xpi与update.json的sha512校验和 100% 匹配。 - 全套自动化测试:
npm test包含 156+ 项单元/集成测试与打包测试全部绿灯通过(0 fail)。 - 语义化发布标签自检:
python scripts/release-tags.py --self-test校验 14.3.0 版本通过。
Zotero TaskFlow 14.2.3
Zotero TaskFlow v14.2.3 发布说明
发布日期:2026-11-04
适用架构:纯净 TaskFlow 体系架构(模块化设置面板重构与全链路稳健性防护)
1. 核心改进
- 重构设置面板架构为六大业务流转模块:
- 严格依据科研工作心智模型自上而下顺畅流转,层级克制清晰:
- 工作区与主视图形态:配置默认打开模式(选项卡/伴读子窗口/独立大窗口)、伴读置顶与紧凑流式布局、主视图与主题;
- 学术模板与任务默认值:配置学术研读子任务模板预设、默认待办类型、精读清单体系与新建任务截止天数/优先级;
- Zotero 文献与阅读联动:整合详情侧栏 (ItemPane)、条目定位、拖拽建任务、右键单篇/批量加入菜单以及 PDF 选区快捷伴读;
- 文献子笔记云同步与自动标签:管理文献子笔记全端云同步、待研读与精读已完成双向自动打标;
- 任务提醒与学术晨报:配置每日晨报提醒时间与到期调度;
- 标签资产、备份与数据安全:自定义学术标签管理、多格式全量导出/导入、快捷键速查与重置区。
- 严格依据科研工作心智模型自上而下顺畅流转,层级克制清晰:
- 修复独立伴随窗口生命周期关闭缺陷 [P1]:
- 在
shutdown()生命周期注销流程中,枚举清理所有打开的Todolist_SubWindow与Todolist_Window,彻底杜绝插件卸载/禁用后残留孤立窗口。
- 在
- 修复设置页底部版本卡片与操作按钮样式失效缺陷 [P1]:
- 增强
preferences.css,双向兼容.todolist-pref-release-info与.todolist-release-info、.todolist-action-group与.todolist-pref-actions,使底部版本信息卡片与导出/操作按钮网格样式 100% 精准命中。
- 增强
- 修复只读条目子笔记同步与假阳性提示 [P2]:
- 条目详情侧边栏在检测到文献条目处于只读群组或不可编辑状态(
!target.isEditable())时自动将「同步子笔记」按钮置灰禁用并给出明确提示; - 严格校验
syncTasksToChildNote返回值,条目未成功同步时绝不弹出虚假“同步成功”通知。
- 条目详情侧边栏在检测到文献条目处于只读群组或不可编辑状态(
- 修复按钮重复监听与 CSV 导出公式注入风险 [P2]:
- 移除
ui.js中对#btn-zotero-prefs冗余重复绑定的第二次 click 监听器; - 宿主
exportData('csv')增加 Excel 宏与公式注入防护,对开头为=, +, @, -的单元格内容强制添加'单引号安全转义。
- 移除
2. 验证结果
- 包构建:
python scripts/build-package.py构建通过,产物zotero-taskflow-14.2.3.xpi(337,713 字节,87 文件),SHA-256 校验和(ba00962df2fbc569ab133f71691ff21b028d01f5441d8b83ab42c220aa543f02)完全匹配。 - 全套自动化测试:
npm test包含 156 项单元/集成测试与打包测试 100% 全部通过(156 pass / 0 fail)。
Zotero TaskFlow 14.2.2
Changes in Zotero TaskFlow 14.2.2
- Settings Panel Hierarchy Standard: Refactored preferences.css to workspace Section 4.2 standard 16px/24px/40px grid, collapsible cards, and typography hierarchy.
- Zotero Compatibility Normalization: Normalized strict_min_version to 10.0 (matching 10.0 - 12.* compatibility baseline).
- Package Automation: Synchronized build validation tooling in build-package.py and authoritative manifests.
Zotero TaskFlow 14.2.1
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)。
Zotero TaskFlow 14.2.0
Zotero TaskFlow v14.2.0 发布说明
发布日期:2026-10-31
适用架构:纯净 TaskFlow 体系架构(设置面板功能梳理设计、主工具栏未完成角标开关与关键词核验)
1. 核心改进
- 全量功能与设置面板排查梳理及模块化设计:
- 对 TaskFlow 当前全部 45 项核心能力进行逐项梳理排查,清晰划分并确立 8 大标准功能模块:
- 工作区与主视图(Window & Views)
- 文献详情栏与列表菜单(Literature Integration & Menus)
- 文献子笔记多端云同步(Child Note Sync)
- 文献研读状态自动打标(Automated Tags)
- PDF 阅读器伴读与快捷键(PDF Reader Companion & Shortcuts)
- 学术研读偏好与默认值(Academic Presets & Defaults)
- 专注番茄钟与提醒音效(Pomodoro Focus & Alerts)
- 标签管理与数据维护(Tag Management, Backup & Maintenance)
- 对 TaskFlow 当前全部 45 项核心能力进行逐项梳理排查,清晰划分并确立 8 大标准功能模块:
- 新增主工具栏待办数量角标显示开关(
toolbarShowBadge):- 排查出此前遗漏在设置面板外的主工具栏未完成待办数量角标能力,新增
toolbarShowBadge偏好开关(默认开启true)。 - 在设置面板中提供可视化开关:“在主工具栏图标上显示未完成待办数量角标”。
- 在
index.js中新增updateAllToolbarBadges()跨多活动主窗口穿透广播刷新引擎,当用户在设置面板切换该开关时,无需重启 Zotero 即可即时切换所有窗口中工具栏按钮上的角标展示。
- 排查出此前遗漏在设置面板外的主工具栏未完成待办数量角标能力,新增
- 全功能模块在代码中的关键词核验与统一更新:
- 全面核验全系代码文件(
scripts/index.js、scripts/preferences.js、preferences.xhtml、locale/*等)中的功能模块关键词,确保用户可见界面、菜单、提示、文档与日志一律统一为纯净的TaskFlow命名体系。 - 维护内部系统、底层消息及配置键的完全向下兼容性。
- 全面核验全系代码文件(
- 完善偏好设置保存与测试套件:
- 完善
tests/toolbar-badge.test.cjs与tests/audit.test.cjs,补充toolbarShowBadge偏好控制及多窗口动态响应测试断言。
- 完善
2. 验证结果
- 包构建:
python scripts/build-package.py构建通过,产物zotero-taskflow-14.2.0.xpi(335,875 字节),SHA-256:989bed2e4fdd0f1599303b5ec0370ae34470812405dca9890bd9b22e5091ec25。 - 单元测试:
npm test包含 154 项核心测试与打包测试 100% 全部通过。
Zotero TaskFlow 14.1.2
Zotero TaskFlow v14.1.2 发布说明
发布日期:2026-10-31
适用架构:纯净 TaskFlow 体系架构(文献右键菜单功能开关强化与偏好设置响应性修复)
1. 核心改进
- 修复偏好设置控件响应状态(Disabled)恢复机制:
- 修复
preferences.js中saveControl在异步保存偏好后未能恢复control.disabled = false的问题,确保用户在设置面板切换“添加为待办”与“批量加入研读待办”复选框后控件保持可交互状态,杜绝永久冻结。
- 修复
- 强化文献列表右键菜单动态隐藏与双端兼容性:
- 新增
setElementVisibility统一显隐辅助方法,在 XUL/Gecko 环境中同步维护 DOMhidden属性、setAttribute('hidden', 'true')/removeAttribute('hidden')以及style.display = 'none !important',彻底解决仅依赖 JS 属性时 XUL 原生菜单可能漏显的问题。 - 确保“添加为待办”与“批量加入研读待办”默认均为未开启状态(
false),默认不占用文献库右键菜单;开启后即时生效。 - 在
setPrefs保存偏好时自动调用refreshContextMenuVisibility(),实现设置修改后无需重启 Zotero 即刻刷新已打开窗口中的右键菜单状态。 - 现代化
MenuManager(Zotero 8+)菜单注册与命令执行中,强化context.items参数直通与onCommandPromise 链路,确保批量加入和单篇创建操作的原子性与可靠性。
- 新增
- 完善本地化与设置页说明文案:
- 在 Fluent 本地化资源(
zh-CN与en-US)中补充taskflow-item-menu-batch与todolist-item-menu-batch词条。
- 在 Fluent 本地化资源(
- 彻底移除 Todolist for Zotero 痕迹字段,使用 TaskFlow 最新标签替代:
- 清除
scripts/index.js、css/variables.css、css/redesign.css、css/animations.css中的Todolist for Zotero旧品牌注释与文件头元信息,全面统一为Zotero TaskFlow。 - 彻底移除同步文献子笔记时对
Todolist for Zotero与[Todolist]痕迹字段的内容检索依赖,全面升级为通过最新TaskFlow标签(noteItem.hasTag('TaskFlow'))以及[TaskFlow]标识进行精确检测与自愈。 - 在更新笔记时自动为历史笔记补充最新
TaskFlow标签,并自动剥离清理残留的旧Todolist标签。 - 清理内部核心方法调用与日志前缀,统一使用
openTaskFlow/triggerTaskFlowOpen与[TaskFlow]日志前缀,保留openTodolist作为透明兼容别名。
- 清除
- 架构健壮性与安全只读防护(Read-only Guard):
- 在
openTaskFlow与triggerTaskFlowOpen引入_inOpenDispatch与_inTriggerDispatch防重入保护,杜绝宿主或外部测试覆盖方法相互调用时的递归溢出风险。 - 在
syncTasksToChildNote与tagItemOnTaskEvent中增加target.isEditable()原生安全检查,对只读群组与回收站条目实行只读保护,杜绝跨端写入异常。
- 在
2. 验证结果
- 包构建:
python scripts/build-package.py构建通过,产物zotero-taskflow-14.1.2.xpi(335,676 字节),SHA-256:53348e5023972ac3a0973b670482a92945218d6e14c08de522ac646d951b7a96。 - 单元测试:
npm test包含 153 项核心测试与打包测试 100% 全部通过。