Skip to content

fix(windows): honor selected task list and align checkbox with title - #35

Merged
turinglambdaai merged 11 commits into
mainfrom
fix/windows-task-list-routing-and-row-alignment
Oct 21, 2026
Merged

turinglambdaai merged 11 commits into
mainfrom
fix/windows-task-list-routing-and-row-alignment

Conversation

@turinglambdaai

Copy link
Copy Markdown
Owner

P0 — user-reported data correctness issue

Reproduction: select 生活, enter a plain task and press Enter; Taskly writes it to 工作. The Windows host passed std::nullopt as the list_id argument of add_task_async, so the backend silently chose the database's first list (工作), unlike the macOS and Linux hosts.

Changes

  • Never infer a task destination inside the backend for Windows quick add. Resolve a concrete target ID at submit time: named list → its ID; smart view → first list; no valid target → keep the draft and show taskCreateListFirst. Capture that ID by value across both async parse and save callbacks, so changing the view while the operation runs cannot redirect a task.
  • Reject stale snapshot response rendering after a view/list switch, then retry loading the newly selected view; avoids showing a previous list's rows under the newly selected heading.
  • Rebuild WinUI task row as a two-row grid: checkbox and title share centered row 0; only actual due/notes content is placed below, in row 1. A plain task with no date/time/notes has no empty metadata row or misaligned title.
  • Add stable, user-facing UIA IDs for list rows, task rows, list creation dialog input and current view title. Add Windows packaged E2E regression: create 生活 next to default 工作, choose 生活, add via the actual Enter key, confirm task is present there and absent from 工作, switch away/back to verify persistence, and check checkbox/title vertical center on the metadata-free row.
  • Add matching explicit cross-platform product-contract rules in PRODUCT-SPEC.md.

Dependency

This branch includes #32's verified quick-add draft-preservation changes, because it is based on fix/windows-quick-add-preserve-draft. Merge #32 before this PR, then inspect the reduced diff. It does not include #26 startup or #31 input underline.

Acceptance before merging

  • Windows native CI and packaged product acceptance both green on this commit.
  • Manual Windows 10/11: create 生活, select it, add multiple plain tasks by Enter; confirm no task appears in 工作. Repeat after changing view during async request and after restart.
  • Check checkbox/title alignment and density at 100% / 150% DPI and light/dark themes, including tasks with due dates and notes.
  • Check quick add in 全部 and 计划: the first-list fallback remains consistent with macOS/Linux; no-list and failing save preserve drafts.
  • macOS/Linux regression checks; follow-up multi-select / bulk UI parity tracked separately.

Do not merge or release until these gates are met.

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