Repository navigation
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% 全部通过。