Open ronny3 opened 1 year ago
For the pill case, what if 2 days (or more) were skipped? There shall be a cancelled task created for each of the missed recurrences, I imagine?
This seems like a nice functionality, but if this is implemented I'd like to suggest it as an option somewhere (probably in the recurrence keywords) and not the default behaviour.
For instance, I have a thing to do each Monday, but if it is not done on Monday, I still need to it on Tuesday. And don't need a cancelled recurrence for Monday.
@ronny3 If you haven't done so, could you have a look at the existing 'when done' facility...
I use it to keep track of when I did the tasks, for example in this block, each line ends with a done date that shows when I actually did the task.
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every 2 days when done 📅 2023-04-15 ✅ 2023-04-17
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-04-12 ✅ 2023-04-12
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-04-08 ✅ 2023-04-11
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-04-01 ✅ 2023-04-07
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-18 ✅ 2023-03-25
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-17 ✅ 2023-03-17
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-16 ✅ 2023-03-16
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-15 ✅ 2023-03-15
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-14 ✅ 2023-03-14
- [X] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-13 ✅ 2023-03-13
- [x] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-03-03 ✅ 2023-03-12
- [x] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-02-26 ✅ 2023-03-02
- [x] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-02-23 ✅ 2023-02-25
- [x] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-02-22 ✅ 2023-02-22
- [x] Exercises - walk one mile or exercise class #context/town ⏫ 🔁 every day when done 📅 2023-02-19 ✅ 2023-02-21
Does that achieve what you are after?
If it doesn't, please could you explain how you want the following to work?
A recurring task that would add CANCELLED or other status when not done by due date, but it would still recur according to original schedule.
Could you talk through the series of steps that you are asking for, so that it is clear how and when you want the cancelled task to be created?
Many thanks.
@ilandikov I agree, it should not be the default behavior, as it's more a special case.
@claremacrae indeed I very much love the "when done" behavior. However, I would like tasks to automatically add CANCELLED, if the task was not done on the scheduled/due date.
- [ ] Walk 500 miles 🔁 every saturday with cancel twist 📅 2023-06-17
- [-] Walk 500 miles 🔁 every saturday with cancel twist 📅 2023-06-10 ❌ 2023-06-10
- [X] Walk 500 miles 🔁 every saturday with cancel twist 📅 2023-06-03 ✅ 2023-06-03
The thing that this adds as completely new is that it updates the task to a new date even if I do no interaction for it. For example imagine this:
- [ ] Take the pill 🔁 every saturday when done 📅 2023-03-18
- [X] Take the pill 🔁 every saturday when done 📅 2023-03-11 ✅ 2023-03-11
- [X] Take the pill 🔁 every saturday when done 📅 2023-03-04 ✅ 2023-03-04
This would be an undone task that is way past its due date, but the past due date is irrelevant. What is relevant is that it should be still going on for every upcoming saturday, if we have a query that for example shows everything we need to do for the date.
not done
due today
The above query would not show the "take the pill" task, as it's due in the past. If it kept updating, it would show up. The cancelled is not necessary, as I just realized these are 2 different features, but I would find it useful as well. The other option of not using the "when done" operator would not be ideal either, as you would get bloat of tasks that you'd need to cancel manually (as clicking means done, but this would be false if I never did the deed).
@ilandikov I agree, it should not be the default behavior, as it's more a special case.
@claremacrae indeed I very much love the "when done" behavior. However, I would like tasks to automatically add CANCELLED, if the task was not done on the scheduled/due date.
Hi @ronny3, thanks for the reply.
So can I just check that I understand.
Currently, Tasks only edits any checkbox/task line when the user explicitly interacts with it.
I think that you are requesting a whole different way of Tasks interacting with the user's vault, which is some kind of batch processing:
Complications/factors to be considered when thinking about implementing this:
Recur without completing task, cancel or any other status the old task
I don't think I understand that summary... could you please clarify what "cancel or any other status the old task" means?
Another complication:
So it will need to something like:
[-]
[-]
Another complication:
I do understand the appeal of this. I know which of my tasks I would apply it to straight away.
However, just to set user (and developer) expectations, this is one of those features that initially sounds quite simple but actually has a lot of corner cases - and as the first automated editing of a user's vault, it would need a lot of careful manual and automated testing.
@claremacrae yes I see how it's a feature that breaks many typical barriers of how tasks operates on normal day-to-day basis. I am happy that you picked up on it as a good feature. Maybe an "easy" experimental version is to do it all only at startup. I think many users are also fine with having "experimental" options in settings, accepting that they may still not be fully functional.
With "cancel or any other status the old task" I was referring to marking the task as [-] or any other custom such as [<] etc. (excuse my weird sentence structures)
Thanks!
@claremacrae yes I see how it's a feature that breaks many typical barriers of how tasks operates on normal day-to-day basis.
That's actually a nice summary.
Maybe an "easy" experimental version is to do it all only at startup.
Whoah... that would be really dangerous. The user would get totally different behaviour on any given day, depending on whether they Quit Obsidian when the finished the day before.
And on iPhone and iPad Obsidian generally doesn't restart unless you force-quit.
I think many users are also fine with having "experimental" options in settings, accepting that they may still not be fully functional.
Sorry but I have higher standards for Tasks than that.
With "cancel or any other status the old task" I was referring to marking the task as [-] or any other custom such as [<] etc. (excuse my weird sentence structures)
OK... So how would Tasks (or rather, the volunteer programmer working on Tasks) know whether to use [-] or [<] - please can you add more detail/be more specific?
Sorry but I have higher standards for Tasks than that.
That is likely why it is so great.
OK... So how would Tasks (or rather, the volunteer programmer working on Tasks) know whether to use [-] or [<] - please can you add more detail/be more specific?
So I guess it's either 1) a setting to toggle or 2) an operator on the task such as "when done". For example it could read
- [ ] take a walk 🔁 every day, [<] if neglected
- [ ] take a walk 🔁 every day, cancel if neglected
Where the latter would default into [-].
⚠️ Please check that this feature request hasn't been suggested before.
🔖 Feature description
A recurring task that would add CANCELLED or other status when not done by due date, but it would still recur according to original schedule.
✔️ Solution
A situation: I have a pill I need to take everyday. When I click the task done, I know I took it that day. When I don't do it that day, I still have track of the day I did not take it. Another case: I have a weekly thing that only happens on wednesdays. I'd like it only to appear on wednesdays as that is the due date, but I would love to keep track of those that I did not mark done. Another: I have a tasks-filter that shows me all past due dates for recurring tasks, those that "are left undone". Some of these I would like to automatically skip if I did not do it that day.
❓ Alternatives
For some use cases I see no other alternative, such as the last one described. I need a way to automatically skip some tasks if they were undone, plus also keep track if it was not done.
📝 Additional Context
I love to use tasks to keep track on when I have done recurring tasks and this feature is a much needed addition to that. If it already is completely doable with the current tools, then I apologize!