Skip to content

feat(windows): batch complete and move selected tasks with native selection - #42

Merged
turinglambdaai merged 37 commits into
mainfrom
feat/windows-task-bulk-complete-and-move
Oct 21, 2026
Merged

turinglambdaai merged 37 commits into
mainfrom
feat/windows-task-bulk-complete-and-move

Conversation

@turinglambdaai

Copy link
Copy Markdown
Owner

Why

Windows selection parity requires actual useful bulk actions, not merely highlighting rows. This adds a small contextual action bar for two or more selected tasks in the normal and global-search task list.

Changes

  • Shared contextual toolbar appears for 2+ selected task IDs and provides Complete Selected and Move to List. All labels are localized in zh/en.
  • Selected task IDs are snapshotted synchronously before dispatching async backend mutations, so changed-event snapshot refreshes cannot redirect operations.
  • Completion targets only currently incomplete tasks; move skips items already in the destination. Both use existing typed backend API and error reporting, preserving all other fields.
  • Add a packaged Windows UI Automation regression: create two tasks in 生活, select both through SelectionItemPattern, invoke batch complete, then assert that both disappear from the pending list.
  • Document intentionally remaining parity gaps.

Dependencies

Stacked on #41 → #39 → #36 → #35 → #32. Merge bottom-up, review reduced diff, then rerun integrated CI and product acceptance.

QA before merge

  • Windows native build and packaged Product Acceptance pass
  • Ctrl/Shift selection and focus behave naturally at 100/150% DPI
  • Batch-complete mixed completed/incomplete selection changes only pending rows
  • Batch move across 工作/生活 preserves text, notes, due dates and completion
  • From search results, batch operations target the actual owning tasks, not the active sidebar list
  • Check no duplicate actions under changed-event reload

Not included: bulk due-date scheduling, bulk delete with undo, native inline detail editing. These are still tracked for release parity; do not publish solely based on this PR passing.

@turinglambdaai
turinglambdaai merged commit ee41627 into main Oct 21, 2026
10 checks passed
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