Skip to content

fix(recurring): skip records the occurrence date, not the view's today#11

Open
renatomen wants to merge 2 commits into
mainfrom
feat/completion-occurrence-context-skip-fix
Open

fix(recurring): skip records the occurrence date, not the view's today#11
renatomen wants to merge 2 commits into
mainfrom
feat/completion-occurrence-context-skip-fix

Conversation

@renatomen

Copy link
Copy Markdown
Owner

Summary

PR1 of the completion-date-control work (seam + skip fix).

  • U1 — Adds a distinct optional occurrenceDate to the task context-menu options, set by occurrence-addressed views (Calendar, for recurring tasks) and omitted by list/board producers. Occurrence-aware logic reads this field instead of inferring occurrence-ness from the overloaded targetDate.
  • U2 — "Skip this instance" now records the occurrence: it passes occurrenceDate when present (Calendar), otherwise no explicit date so the service's anchor-aware default resolves it — scheduled for scheduled-anchored recurrences (fixing the List/Kanban "records today" bug) and today for completion-anchored recurrences (unchanged).

Testing

  • New unit tests: taskContextMenu.occurrenceContext.test.ts, taskContextMenu.skip.test.ts (List/Kanban, Calendar, completion-anchored, unskip, due-only, showTaskContextMenu forwarding). Verified red-before-green on the skip fix.
  • typecheck, lint, build green.

Notes

  • Groundwork for PR2 (explicit completion menu) which is stacked on this branch.

renatomen added 2 commits July 4, 2026 15:27
U1: add a distinct optional occurrenceDate to the task context menu options,
set by occurrence-addressed views (Calendar) and omitted by list/board
producers, so occurrence-aware logic never infers occurrence-ness from the
overloaded targetDate.

U2: skip now passes the occurrenceDate when present (Calendar), otherwise no
explicit date so the service's anchor-aware default resolves it - scheduled for
scheduled-anchored recurrences (fixing the List/Kanban 'records today' bug) and
today for completion-anchored recurrences (unchanged).
Adds the List/Kanban unskip-label path (occurrenceDate absent + resolved
scheduled date already skipped), a due-only recurring case, and a
showTaskContextMenu occurrenceDate-forwarding test; makes the completion-anchored
assertion timezone-deterministic via getTodayString().
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