Skip to content

fix: advance a fixed-time task completed early - #808

Merged
tobixen merged 2 commits into
masterfrom
fix/complete-early-782
Oct 20, 2026
Merged

tobixen merged 2 commits into
masterfrom
fix/complete-early-782

Conversation

@tobixen

@tobixen tobixen commented Oct 20, 2026

Copy link
Copy Markdown
Member

Commit message:

fix: advance a fixed-time task completed early

For an RRULE with BY* parts, _next() keeps DTSTART and returns the
first occurrence after the completion time.  A task completed before
its DTSTART thus got that same occurrence back and did not move, in
both the "safe" and the "thisandfuture" mode.  The occurrence is now
looked for after DTSTART in that case, as case 1A of the docstring
already said.

Fixes https://github.com/python-caldav/caldav/issues/782

Prompt: Fix 782, 799, 598, 795, 805, 806 [python-caldav issues; this commit is https://github.com/python-caldav/caldav/issues/782].  The small ones can share one PR, the bigger ones should probably have separated PRs.  (...)

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>

Also piggy-backing: docs: TODO: all-day fixed-time task completion (a known gap found in the review), and docs: TODO: section name in config errors, which is in #807 too.

🤖 Generated with Claude Code

For an RRULE with BY* parts, _next() keeps DTSTART and returns the
first occurrence after the completion time.  A task completed before
its DTSTART thus got that same occurrence back and did not move, in
both the "safe" and the "thisandfuture" mode.  The occurrence is now
looked for after DTSTART in that case, as case 1A of the docstring
already said.

Fixes #782

Prompt: Fix 782, 799, 598, 795, 805, 806 [python-caldav issues; this commit is #782].  The small ones can share one PR, the bigger ones should probably have separated PRs.  (...)

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
Completing a recurring all-day task with BY* parts raises TypeError in
_next(); noted for later.

Prompt: [fix issues found during the review process; this one filed for later]

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen force-pushed the fix/complete-early-782 branch from 1797223 to 136ebea Compare October 20, 2026 07:52
@tobixen
tobixen merged commit 9828e7a into master Oct 20, 2026
17 checks passed
tobixen added a commit that referenced this pull request Oct 20, 2026
#809 gave
extract_conn_params_from_section() its section_name, and plann passes
it in PyCalendar/plann#81, so nothing is left
of the entry.

Prompt: [fix issues found during the review process of merging #808]

Assisted-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Reviewed-by: Tobias Brox <tobias@redpill-linpro.com>
@tobixen
tobixen deleted the fix/complete-early-782 branch October 20, 2026 17:16
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