TracksApp / tracks

Tracks is a GTD™ web application, built with Ruby on Rails
https://www.getontracks.org/
GNU General Public License v2.0
1.18k stars 537 forks source link

Repeating todos are flaky #1755

Open C-Otto opened 9 years ago

C-Otto commented 9 years ago

In this bug report I will use the terms 'task' and 'todo' interchangeably. Likewise, 'recurring task' and 'repeating todo' are the same for me. With 'recurring task schema' I mean an entry shown in Organize -> Repeating Todos. With 'task instance' I mean an entry in my task list (or tickler) that is created based on some 'recurring task schema'.

I am currently in the situation that I have a task instance in my tickler that is a duplicate of another task instance corresponding to the same recurring task schema. Deleting such an instance does not solve my problem, as then another instance (for the next year, as I'm dealing with a yearly task here) is created.

I can't remember how that happened, but I guess updating the details (tags) of a recurring task schema are an issue. I'm pretty sure that I already had certain related problems in the past, and I will provide more information here as soon as I can find them.

The problem I'd like to have solved is that there should only be a single instance for each recurring task schema. I also think that deleting an instance should not trigger creation of a new instance.

lrbalt commented 9 years ago

I agree that Tracks should take care that only one instance of a pattern exists

I do not agree that deleting an instance does not trigger creation of a new instance. If I have a weekly recurring action that for some reason was skipped this week, I would like to delete the current instance and focus on the next instance. Especially for monthly or yearly actions since they will turn yellow if you just postpone it for the next time. Also, if you would like to have your statistics to be more correct, you want to delete the action that you skipped to prevent the "running time" of that action to be longer than in reality.

C-Otto commented 9 years ago

That makes sense. So, this bug should be fixed by making sure only a single instance of each pattern exists.

lrbalt commented 9 years ago

That is correct

C-Otto commented 8 years ago

I caused two instances of a recurring todo as follows:

  1. Create pattern for daily recurrence
  2. Mark the latest (only) instance of the recurring todo as complete (by accident, see below)
  3. Notice that a new instance is added to the Tickler (shown tomorrow)
  4. Uncheck completeness of this recurring todo (because the correspondnig real-world action wasn't actually done)
  5. Notice that the instance of step 3 still exists
  6. Complete the (visible) action (after actual completion)
  7. Notice that another (second!) instance is added to the tickler
  8. Wait a day
  9. See two active actions

I think the issue should be fixed in step 4 (delete the instance in the Tickler), or possibly step 6 (do not create a new instance in the Tickler because it already exists).