mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-18 00:46:45 +00:00
* feat(task-repeat): default skip-overdue for new everyday recurring tasks
New recurring configs now default skipOverdue ("Don't let overdue instances
pile up") to ON only for a plain everyday schedule — the "Daily" preset or a
CUSTOM every-single-day cycle. That is the one case where the option is both
useful and provably safe: everyday tasks are the only schedule that actually
piles up (one empty overdue copy per missed day), and today is always
scheduled so a missed instance regenerates the same day and can never
silently vanish (it cannot even drop to zero).
Every other schedule stays OFF — workday/weekly/monthly/yearly and every-N-day
custom cycles keep their one missed occurrence visible, so a real obligation
(pay rent on the 1st, renew the domain) never disappears until its next
occurrence. Deriving the default purely from the effective schedule means the
"Daily" preset and a CUSTOM every-day cycle (the same schedule entered two
ways) get the same default — no "same schedule, different default" surprise.
The default is seeded from the chosen schedule in both config-creation paths:
the repeat dialog (re-derived from the final schedule on save, and skipped
when the user explicitly toggled the Advanced checkbox) and the inline
add-task-bar recurrence. Existing configs and DEFAULT_TASK_REPEAT_CFG
(skipOverdue: false) are unchanged; only newly created configs are affected.
Supersedes the broader daily+Mon-Fri variant, dropping the schedule-change
checkbox re-sync machinery: an Advanced checkbox opened on a Daily config and
then switched may briefly show a stale ON, but save always persists the safe
re-derived value.
* docs(task-repeat): clarify custom every-day default; signpost baseline
Multi-review follow-ups (no behavior change):
- Wiki 2.06 + 4.13: a CUSTOM every-single-day cycle also defaults skipOverdue
ON (it is the same schedule as the Daily preset); "off" now reads "custom
cycles longer than a day" so the docs match getDefaultSkipOverdue.
- Comment on DEFAULT_TASK_REPEAT_CFG.skipOverdue pointing to the schedule-aware
creation default, so the model's `false` baseline is not mistaken for the
effective default.
- Tighten the save() display-gap comment: the cosmetic seeded-ON/persist-OFF
gap applies to any new non-Daily config whose Advanced panel is opened
untouched, not only a Daily→switch.
* refactor(task-repeat): use type-only import in skip-overdue predicate
TaskRepeatCfgCopy is used only in type position; match the codebase's import type convention (58 other files). No behavior change.
|
||
|---|---|---|
| .. | ||
| invalid-clock-string-bug-7067.spec.ts | ||
| recurring-future-start-date-bug-6856.spec.ts | ||
| recurring-missed-day-bug-4559.spec.ts | ||
| recurring-move-start-date-earlier-bug-7423.spec.ts | ||
| recurring-move-start-date-earlier-no-instance-bug-7724.spec.ts | ||
| recurring-preserve-past-due-day-bug-7344.spec.ts | ||
| recurring-start-date-epoch-bug-6860.spec.ts | ||
| recurring-startdate-to-today-creates-real-instance-bug-7923.spec.ts | ||
| recurring-task.spec.ts | ||
| repeat-custom-weekday-checkboxes-frozen-bug-8025.spec.ts | ||
| repeat-edit-strands-today-bug-7951.spec.ts | ||
| repeat-task-day-change-bug-6230.spec.ts | ||
| repeat-task-first-occurrence-bug-5594.spec.ts | ||
| repeat-tasks-today-bug-5976.spec.ts | ||
| repeat-timed-cold-reopen-day-change.spec.ts | ||
| skip-overdue-default-8644.spec.ts | ||