obsidian-tasks icon indicating copy to clipboard operation
obsidian-tasks copied to clipboard

Recur task by prefering the current then next occurrence

Open rhhub opened this issue 1 year ago • 6 comments

⚠️ Please check that this feature request hasn't been suggested before.

  • [X] I searched previous Ideas in Discussions didn't find any similar feature requests.
  • [X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description

There are two current options for recurring tasks. They are described here. In short, the choice is either to repeat relative to the original due date or the completion date. This request proposes using both based on whether the task is completed early or overdue as described:

A recurrence option to handle the following cases.

  1. If early, calculate next due date wrt current due date.
  2. If on day, calculate next due date wrt today (same as 1 or 2)
  3. If overdue, calculate next due date wrt completion date.

Examples

Modified from @claremacrae in https://github.com/obsidian-tasks-group/obsidian-tasks/issues/1924#issuecomment-1529408752

every day from next

completion date original due date next due date
2022-05-17 (early) 2022-05-20 2022-05-21
2022-05-18 (early) 2022-05-20 2022-05-21
2022-05-19 (early) 2022-05-20 2022-05-21
2022-05-20 2022-05-20 2022-05-21
2022-05-21 (overdue) 2022-05-20 2022-05-22
2022-05-22 (overdue) 2022-05-20 2022-05-23
2022-05-23 (overdue) 2022-05-20 2022-05-24

every 4 days from next

completion date original due date next due date
2022-05-14 (early) 2022-05-20 2022-05-24
2022-05-15 (early) 2022-05-20 2022-05-24
2022-05-16 (early) 2022-05-20 2022-05-24
2022-05-17 (early) 2022-05-20 2022-05-24
2022-05-18 (early) 2022-05-20 2022-05-24
2022-05-19 (early) 2022-05-20 2022-05-24
2022-05-20 2022-05-20 2022-05-24
2022-05-21 (overdue) 2022-05-20 2022-05-25
2022-05-22 (overdue) 2022-05-20 2022-05-26
2022-05-23 (overdue) 2022-05-20 2022-05-27
2022-05-24 (overdue) 2022-05-20 2022-05-28
2022-05-25 (overdue) 2022-05-20 2022-05-29
2022-05-26 (overdue) 2022-05-20 2022-05-30

✔️ Solution

  1. Implement an option that handles recurrence based on the feature description above.
  2. Pick a name for the feature.
  3. Modify the documentation at Repeating a Task Based on the Original Due Date or the Completion Date

Name Possibilities

  1. when overdue
  2. keep next
  3. stay next
  4. from next
  5. when next
  6. keep new
  7. stay new
  8. from new
  9. when new
  10. keep current
  11. stay current
  12. from current
  13. when current

I like the from next option the most. I like from so much that, I think from done would make a good alias for when done.

❓ Alternatives

No response

📝 Additional Context

No response

rhhub avatar May 01 '23 21:05 rhhub