Skip to content

0.3.0: High-Performance Column Batching, Optimistic UI & TaskLite 0.5.0 Alignment

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Oct 19:44

TaskTodo 0.3.0: High-Performance Column Batching, Optimistic UI & TaskLite 0.5.0 Alignment

本次重大版本全面对齐 TaskLite 0.5.0 架构,针对多泳道看板与复杂过滤进行了重磅性能重构,带来 0ms 视觉即时响应与零页面跳动体验。


🌟 核心亮点 (Highlights)

  1. 泳道按列批量过滤 (Column-Batch Filtering)

    • 重构 groupTasksCustom 分组与 Tab 过滤算法。将旧版的逐任务评估($O(N \times C)$ 次 DQL 编译)改为按列单次批量调用 Core API:host.api.filterTasks(remaining, col.query)。首屏及切换标签时的看板渲染耗时呈数量级下降。
  2. 原地乐观 UI 切换 (In-Place Optimistic UI)

    • 点击复选框时无需等待磁盘 I/O 完成,DOM dataset 状态类型与复选框图标立即原地乐观切换,带来极致顺滑的 0ms 即时视觉响应。
  3. 滚动条位置精确锚定 (Scroll Anchoring)

    • 在列表和看板重渲染前后智能捕获并恢复 contentEl.scrollTop,彻底解决打勾或更新任务时视图向上弹跳的问题。
  4. 全面接入领域事件总线 (Domain Event Driven)

    • 退订全局 vault.on("modify") 高频事件,仅订阅 TaskLite 发出的 tasklite:tasks-changed 领域事件。普通文档编辑不再触发看板重算,显著降低后台 CPU 占用与电量消耗。
  5. 4 状态双向轮转循环 (4-Status Bidirectional Cycle)

    • 完美适配 TaskLite 4 状态系统:
      • 鼠标左键:正向循环([ ] ➔ [x] ➔ [/] ➔ [-] ➔ [ ])
      • 鼠标右键:逆向循环([ ] ➔ [-] ➔ [/] ➔ [x] ➔ [ ])
  6. 任务表单弹窗 2.0 (Task Form Modal 2.0)

    • 智能 ID 生成(✨):集成拼音与语义 ID 生成器,一键自动生成唯一任务 ID。
    • 前置依赖交互搜索(🔍):DependsOn 搜索弹窗支持实时模糊筛选已有任务并多选追加。
    • 地点与默认责任人:表单自动填入本设备绑定的默认负责人,原生支持地点输入与时间联动。

🧪 测试与规范合规 (Test & Compliance)

  • 全量测试通过:74 项单元测试全部通过(覆盖 DQL 纯净传递、优先级宏映射、生命长度排序与 4 状态双向轮转)。
  • ESLint 严格合规:0 警告,0 错误,完全符合 Obsidian 官方审核规范。