Completing a recurring parent advances recurring subtasks a second time
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 706
- Forks
- 117
- Avg merge
- 8h 50m
- Merged PRs (30d)
- 18
Description
Steps to reproduce
- In the Nextcloud Tasks web UI, create a parent task with
DTSTARTandDUEset to today. - Configure the parent to repeat weekly.
- Add a subtask with the same start date, due date, and weekly recurrence.
- Complete the subtask using its checkbox.
- Observe that the subtask is rescheduled by one recurrence interval.
- Complete the parent task using its checkbox.
Expected behavior
Completing the recurring parent should not silently complete the already-rescheduled occurrence of a recurring subtask and advance it a second time.
Possible safe behaviors would be:
- do not cascade completion to a recurring child whose current occurrence is later than the parent's completed occurrence;
- ask which open subtasks should be completed, as discussed in #2376; or
- prevent completion of the parent until its current subtasks are complete, without affecting their newly generated occurrences.
Actual behaviour
Completing the child advances it once, as expected. Completing the parent immediately afterwards recursively completes the child's newly scheduled occurrence and advances the child a second time.
In a clean weekly reproduction:
- parent: 2026-08-26 -> 2026-09-02;
- child after completing the child: 2026-08-26 -> 2026-09-02;
- same child after subsequently completing the parent: 2026-09-02 -> 2026-09-09.
The 2026-09-02 child occurrence is therefore skipped without a warning. Recurring sibling subtasks that were not completed individually were advanced once by completing the parent.
This was reproduced entirely in the Tasks web UI with temporary tasks. No external CalDAV client was involved.
Tasks app version
0.18.1
CalDAV-clients used
None for reproduction
Browser
Google Chrome
Client operating system
macOS
Server operating system
Official Nextcloud Docker image (nextcloud:34.0.2-apache)
Web server
Apache
Database engine version
PostgreSQL
PHP engine version
Bundled with the official Nextcloud 34.0.2 Apache image
Nextcloud version
34.0.2
Updated from an older installed version or fresh install
Updated from an older version
List of activated apps
Not relevant; reproduced using the Tasks web UI only.
Nextcloud configuration
Standard containerized installation. No custom Tasks patch.
Web server error log
No related error.
Log file
No related error.
Browser log
No related error.
Additional info
This is related to, but distinct from, #2376. That issue covers recursively completing open subtasks in general. This report covers the recurrence-specific consequence: an already completed and rescheduled child occurrence is completed again when the parent is completed, silently skipping the next occurrence.
Current workaround: use a permanent, undated, non-recurring parent as a container and never complete it; only the subtasks recur and are completed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the recurrence scenario in the Tasks web UI using the checkbox steps described, then trace the parent-completion path and its recursive handling of recurring subtasks. Verify the fix against the reported weekly dates: a child already rescheduled after completion must not be advanced again when the parent is completed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, php
- Domain
- backend, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100