Repeat Each 1 Hour Does Not Change By 1 Hour

The Repeat functionality works as expected for things like ‘1 year’ (reminder + due date is moved by 1 hour):

However, Each 1 Hour does not increment by 1 hour! (reminder + due date is NOT moved by 1 hour):

I wasn’t able to verify this on try, see the attached video recording:

What browser/os are you using? How are you hosting? What version are you using?

Hi Konrad, thanks for having a look :grin:

After looking a bit further myself, it appears to only happen when the reminder is set to be due in the past. Are you able to replicate the bug on your end if you set the reminder to be overdue?

I am using Google Chrome on Windows to access a vikunja instance hosted on FreeBSD (via an NGINX reverse proxy). I compiled the vikunja API from source last week. Frontend is the master release dated ‘09/06/2020’ from https://dl.vikunja.io/frontend/

Nope, still not reproducable:

I wasn’t able to reproduce that with chrome on windows either.
Are you able to reproduce on try?

You’ll actually see in your screen recording above that when you click done for the first time, it actually jumps by 6 days, and not 1 hour :slight_smile:
I observed the same behaviour just now using try.

I see, now I notice it. Thanks for reminding me. I think I have an idea as to why that is…

1 Like

I’ve just verified this "works as intented"™: If a repeating task is marked as done, Vikunja will add the repeating interval to all dates until all dates are in the future. This was created for the case where you didn’t do a task that repeats and therefore it is now overdue. For example if you had a task which is set to repeat every day and you didn’t do it for a week, you’d have to mark it seven times as done until it has all its dates in the future. Now you don’t have to do this.

Since this obviously is confusing I propose to add a check if the task has a due date and use only that as a reference point if it has one. What do you think?

Hmm, what you’re saying makes sense - and I think there should be a user-controllable option.

Perhaps adding a checkbox similar to "repeat from current date" checkbox for repeats would be better? That way it is fully controllable and easy to understand for new and old users? :slight_smile:

EDIT: I was thinking a bit more about this, and think that there doesn’t actually need to be an option. The task should always increment by the specified amount. If the user doesn’t want to click 10 times for a task that is overdue by multiple increments, then it is just as easy to select a new datetime that the task should be reminded at. That way, the reminders work exactly as they should without trying to be too smart about it - and the user retains control over whether they want to keep the increments or just reset the reminder…


On a similar topic - what does the reminder function actually do? I was hoping I’d be able to have Vikunja email me when a reminder is triggered but that doesn’t seem to be how it works? At present, it looks like it does exactly the same thing as Due Date?

Cheers,
Skelly

I think adding another checkbox would make it more complicated than it needs to be.

The task should always increment by the specified amount. If the user doesn’t want to click 10 times for a task that is overdue by multiple increments, then it is just as easy to select a new datetime that the task should be reminded at.

The problem with that is I had actual users who asked for the feature :slightly_smiling_face: I think it makes more sense for long running things like stuff that’s due once a day or once every few days or weeks. I understand it can be confusing for hourly repeating stuff. Maybe that could be an exception?

On a similar topic - what does the reminder function actually do? I was hoping I’d be able to have Vikunja email me when a reminder is triggered but that doesn’t seem to be how it works? At present, it looks like it does exactly the same thing as Due Date?

Currently it only shows reminders when using the mobile chrome - I plan on having email and app reminders in the future.