mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-26 01:14:22 +00:00
* fix(planner): don't erase day-scheduled subtasks on parent plan (#9019) Planning a parent task ran removeTasksFromPlannerDays(task.subTaskIds), which stripped its subtasks from EVERY planner day. As a result, any day-scheduling the user had given a subtask was silently wiped the moment its parent was planned anywhere, so those subtasks disappeared from the planner and schedule (timed subtasks survived via a separate, plannerDays- independent path). handlePlanTaskForDay now collapses the parent's subtasks on the target day only, matching the target-day-only behaviour handleTransferTask already had. Subtasks scheduled for other days keep their scheduling and stay visible. Add removeTasksFromSinglePlannerDay helper (reuses removeTasksFromList) for this; the explicit "SinglePlannerDay" name keeps it from being confused with the all-days removeTasksFromPlannerDays (the mix-up that caused the bug). Same-day subtasks still fold into the parent by design: showing them as siblings would double-count their time (the parent estimate rolls up its subtasks) in the day total and on the schedule timeline. No schema barrier: the op payload and planner.days/dueDay shapes are unchanged, so this is a pure reducer behaviour fix, not a new payload semantic (op-log rules 2.5). In a mixed-version fleet a not-yet-upgraded client still applies the old all-days removal for these ops, but the task's dueDay is preserved either way and state re-converges once clients upgrade. * test(planner): e2e for day-scheduled subtask visibility (#9019) Drives the real UI: add a task + subtask, schedule the subtask for a day (day-only, via the 'S' shortcut + quick-access Tomorrow), plan the parent for a different day, then assert the subtask is still visible on its own day in the planner. Fails against the pre-fix all-days removal, passes with the target-day-only fix (both verified locally). |
||
|---|---|---|
| .. | ||
| add-task-bar | ||
| app-features | ||
| autocomplete | ||
| boards | ||
| break | ||
| calendar | ||
| daily-summary | ||
| focus-mode | ||
| import-export | ||
| issue-provider-panel | ||
| keyboard | ||
| menu | ||
| migration | ||
| navigation | ||
| note | ||
| notes | ||
| onboarding | ||
| performance | ||
| planner | ||
| plugins | ||
| project | ||
| recurring | ||
| reminders | ||
| schedule | ||
| search | ||
| settings | ||
| short-syntax | ||
| simple-counter | ||
| sync | ||
| tags | ||
| task-basic | ||
| task-detail | ||
| task-dragdrop | ||
| task-list-basic | ||
| work-view | ||
| workflow | ||
| worklog | ||
| all-basic-routes-without-error.spec.ts | ||