Skip to content

feat(task): 任务分组——分组→清单两级结构与侧边栏树 - #18

Merged
allan852 merged 7 commits into
mainfrom
feat/task-list-groups
Oct 26, 2026
Merged

allan852 merged 7 commits into
mainfrom
feat/task-list-groups

Conversation

@allan852

@allan852 allan852 commented Sep 8, 2026 •

Copy link
Copy Markdown
Contributor

概要

为任务引入「分组 → 清单」两级归属结构,解决个人任务与公司工作任务混在一起无法区分的问题。任务规划与设计见 .trellis/tasks/09-08-task-list-groups/(prd / design / research)。

主要变更

后端

  • 迁移 0023_task_list_groups.sql:新表 task_list_groups + task_lists.group_id(可空 FK),存量数据零改动
  • application/list_groups.rs:分组 CRUD / 排序 / 删除(解散语义:清单回未分组、任务不动)/ 撤销;task_list_overview 侧边栏聚合;inbox 拒绝归组
  • build_task_filters 接入 listGroupId 过滤(含软删除排除);today_tasks(scope) 分组过滤
  • 新 IPC:task_list_group_create/rename/reorder/delete/undo_delete、task_list_overview

前端

  • 侧边栏任务区两级树(TaskSidebarTree):分组折叠记忆、未完成数徽标、dnd 拖拽归组/排序、全套右键菜单、点击分组/清单直达过滤路由
  • 任务页:/tasks/:listId 与 /tasks/group/:groupId 路由生效、清单下拉按组分层、「按清单分区显示」开关、一次性 工作/个人 分组引导
  • 今日页过滤 chips(全部/各分组/未分组),五区块统一过滤,选择本地记忆
  • 快速捕获目标清单选择器(默认收件箱)

验证

  • cargo test:193 lib + 13 integration 通过(schema 断言 23)
  • pnpm typecheck 通过;pnpm test:unit 53/53 通过
  • 迁移 0023 已在生产库副本上验证:integrity ok,存量数据零影响

待人工确认(GUI 场景)

  • 首次启动新版本:自动 pre-migration 备份 + 升级无感
  • 拖拽手感、删除分组撤销 toast、今日 chips 切换

@allan852
allan852 merged commit fd3d53d into main Oct 26, 2026
2 checks passed
@allan852
allan852 deleted the feat/task-list-groups branch October 26, 2026 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant