Repository navigation
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 版本通过。