When you have a repeating task, you can set the task to repeat from the assigned due date, repeat from completed date or repeat from start date. You may notice that certain custom repeating patterns are not available when choosing to repeat a task from its completion date.
The reason for this is that the "expected" behavior wasn't always clearly defined and people often those options more confusing than helpful. This is due to the fact that with these types of repeating tasks, it's fairly meaningless to complete the task before the assigned due date. Consider the following example:
"My Task" is due "Every Wednesday & Friday" and is set to repeat from Completion Date. The current task is due this Wednesday.
Suppose it is now Monday. I mark "My Task" as being complete. Based on the above rule, a brand new task will be generated and made to be due this Wednesday (the same exact date as the one we just completed). This is because the above rule says to find the first Wednesday or Friday after the date you completed the task. So what this means is that you can complete the task as many times as you like prior to Wednesday and the above rule means that each new task that gets created will still be due on Wednesday
until it is actually Wednesday. At this point, when you complete the task, it will be due on Friday. But then again, every time you complete that task, it will be due once again on Friday until it is actually Friday.
There are some limited use cases where this setup for a repeating task is desirable. Specifically: if you never intend to complete the task prior to the given due date AND if you happen to complete the task more than 1 week overdue, you don't want to "catch up" with all the Wednesdays and Fridays in-between that task and now. The problem for us was that this is a highly limited scenario and the amount of confusion generated by this option outweighed the usefulness of the feature.
We have considered implementing a more intuitive feature that could address the above "catch up" scenario. We haven't currently seen a high demand for this functionality, but if we sense that this is a felt need, we will absolutely consider pursuing those solutions.