[TW-35] Task Recur does not honour due Time or Wait
John Warren on 2013-04-01T12:45:57Z says:
I've created lots of recurring tasks (which to be honest was a massive mistake). I have found that when I create a task:
task add VIP thing everyday due:01/04/2013-14:40 recur:daily wait:01/04/2013-14:00
Then I do a task done and task to spawn the next recurrence I find that the newly "spawned" recurring task defaults back to midnight of that day and not to the time it was set for as the due. I it also interesting does change time when for example you have a change to daylight savings time. The result now these task do not default to 00:00 but to 01:00 in the UK at least.
I also note that the wait does not work. Which makes sense in one respect and I have seen lots of posts about this. I was hoping for a wait:due-1d or due-1h operation or a preservation of the relative time difference between due and wait when recur triggered but not to be.
For me this results in tasks due for Friday being respawned on Saturday and then I have to push them to wait to ignore them until Thursday. I'd love to use the wait, scheduled and due as they were intended but I've not quite been able to do this with recurring tasks.
Migrated metadata:
Created: 2013-04-01T12:45:57Z
Modified: 2015-11-11T02:34:11Z
Paul Beckingham on 2013-04-01T14:30:47Z says:
Hi John, let me address the individual points:
- I don't have an answer for you yet. Can you please run the following, because it appears that the times you specify are not being parsed:
taks --version task show dateformat
-
Wait does work according to the unit tests, but constructs like "wait:due-1d" are not supported yet. They are planned, but that doesn't help you now.
-
The combination of wait, due and recur definitely has issues. For example if you add a recurring task with a wait date, the child tasks that are spawned do not inherit the wait. That is because wait is stored as an absolute date, not a relative date. This will be addressed when we revisit recurring tasks, in a future release. In the meantime, you would have to individually "wait" the child tasks - not ideal.
John Warren on 2013-04-01T15:46:25Z says:
task --version 2.1.2 task show dateformat Config Variable Value dateformat D/M/Y-H:N dateformat.annotation D/M/Y dateformat.edit D/M/Y H:N dateformat.holiday YMD dateformat.info D/M/Y H:N dateformat.report D/M/Y H:N Some of your .taskrc variables differ from the default values. These are highlighted in color above.
- Yeah wait on one off tasks with scheduled works quite well for me.
- Yeah agreed. I'm thinking to not use recur in taskwarrior and stick to google calendar for now especially with the odd timing issues I've been having.
Michele Santullo on 2013-08-29T08:56:23Z says:
I have the same request, I'd love to set a wait that gets inherited by child tasks. Things like "pay the bill" make little sense if shown all the time, and if you get into the habit of ignoring it then it's pretty much the same as not having a todo at all. I'm running version 2.20 now, is there any update on when this feature will be implemented?
Dmitriy Matrosov on 2013-10-14T12:29:42Z says:
Hi.
I also noted, that taskwarrior resets due time for tasks recurring monthly or yearly to midnight. Steps to reproduce:
$ task show dateformat
Config Variable Value
dateformat Y-M-D_H:N
dateformat.annotation
dateformat.edit Y-M-D H:N:S
dateformat.holiday YMD
dateformat.info Y-M-D H:N:S
dateformat.report
Some of your .taskrc variables differ from the default values. These are highlighted in color above.
$ rm -rf .task
$ task add recur:monthly due:2013-07-10_12:07 -- A
Created task 1.
$ task all
ID Status Due Age Description
1 Recurring 2013-07-10_12:07 2s A
2 Pending 2013-07-10_12:07 A
3 Pending 2013-08-10_00:00 A
4 Pending 2013-09-10_00:00 A
5 Pending 2013-10-10_00:00 A
6 Pending 2013-11-10_00:00 A
6 tasks
and
$ rm -rf .task
$ task add recur:yearly due:2011-07-10_12:07 -- A
Created task 1.
$ task all
ID Status Due Age Description
1 Recurring 2011-07-10_12:07 2s A
2 Pending 2011-07-10_12:07 A
3 Pending 2012-07-10_00:00 A
4 Pending 2013-07-10_00:00 A
5 Pending 2014-07-10_00:00 A
5 tasks
Though, intervals '4wks' and '12mos' do not reset time (as well as 'daily' and 'weekly') and may be used as workaround.
$ task diag
task 2.3.0.beta1 Platform: Linux
Compiler Version: 4.7.2 Caps: +stdc +stdc_hosted +c1 +i4 +l4 +vp4
Build Features Built: Oct 14 2013 16:05:32 CMake: 2.8.9 Caps: -pthreads +tls libuuid: libuuid + uuid_unparse_lower libgnutls: 2.12.20
Configuration File: /home/task-test/.taskrc (found), 1440 bytes, mode 100600 Data: /home/task-test/.task (found), dir, mode 40700 Locking: Enabled GC: Enabled Server: Cert: Creds:
External Utilities scp: (found) rsync: version 3.0.9 curl: curl 7.26.0
Tests UUID gen: 1000 unique UUIDs generated. $TERM: screen (132x71) Dups: Scanned 6 tasks for duplicate UUIDs: No duplicates found
-
- Dmitriy Matrosov
Denis Kasak on 2015-05-18T22:22:56Z says:
Any news on this? Is it being worked on? This is a really unfortunate deficiency in Taskwarrior. A previous comment mentioned that this will be addressed when recurring tasks get revisited. Is this revisit still planned?
Renato Alves on 2015-05-20T23:51:13Z says:
Hi everyone,
While the functionality is is not yet available in taskwarrior's core, have a look at [the list of known Hooks|http://taskwarrior.org/tools/#hooks], in particular the Relative Recurring Tasks Hook.
Paul Beckingham on 2015-11-07T22:19:44Z says:
Honoring time (H:M:S) in recurring tasks is fixed in 2.5.1.
@pbeckingham sounds like this might be fixed?
I was hoping for a wait:due-1d or due-1h operation or a preservation of the relative time difference between due and wait when recur triggered but not to be.
tasks which recur relative to their last completion are tracked by https://github.com/GothenburgBitFactory/taskwarrior/issues/203
John Warren wrote:
I also note that the wait does not work. Which makes sense in one respect and I have seen lots of posts about this. I was hoping for a wait:due-1d or due-1h operation or a preservation of the relative time difference between due and wait when recur triggered but not to be.
For me this results in tasks due for Friday being respawned on Saturday and then I have to push them to wait to ignore them until Thursday. I'd love to use the wait, scheduled and due as they were intended but I've not quite been able to do this with recurring tasks.
Related: https://github.com/GothenburgBitFactory/taskwarrior/issues/203 (as already noted by @jcrben); https://github.com/GothenburgBitFactory/taskwarrior/issues/1534 .