More repeating intervals

Hi,

I would like to see the ability to set more advanced recurring intervals.

Currently I am using Apple reminders, and while trying out Vikunja I immediately miss being able to finetune the recurrence of tasks.

Apple reminders allows you to set the following:

Weekly
Every x weeks
On one of: M T W T F S S
It allows you to select multiple, so you can say (every 2 weeks on Wednesday and Saturday)

Monthly & yearly
A combination of:
First, Second, Third, Forth, Fifth, Last
Monday Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Day, Weekday, Weekend day

This makes you able to set a task to recur on things like
The first Monday of the month (fire alarm testing)
The second Tuesday of the month (windows updates)

Vikunja looks really promising and I do not get why this is not a thing yet.

As a one up on Apple reminders, and a personal request. If possible, could you also add the ability to set an offset to the selected recurrence. Example:

Microsoft releases their Windows updates every second Tuesday of the month. I want to schedule my updates 1 day later. However, the second Wednesday of the month does not always come after the second Tuesday of the month.

Therefore I would like to set a task to occur on the second Tuesday of the month + 1 day.

Theses features would be greatly appreciated

The implementation of recurring tasks is very simple: It only increases all dates on a task by the amount specified as repeating interval, nothing more. That means the dates are actually separate from the repeating interval. If you set it to repeat every Tuesday and Wednesday, but it has a due date on Friday, what should happen with that when the task repeats?

The “first of the month” is actually already possible. Just set a due date / reminder on the first and set it to repeat monthly.

Hello, Thank you for your swift response.

I would say that if your set a task to repeat every Tuesday and Wednesday:
You would have 1 task in the calendar on Tuesday, with a deadline of Friday
And one on Wednesday, also with a deadline on Friday

The same for each week in the future.

This is just how I see it, within Apple reminders there is no separate deadline time.

As for

The “first of the month” is actually already possible. Just set a due date / reminder on the first and set it to repeat monthly.

I feel there is a slight misunderstanding. The first of the month is not always the first Monday of the month.

March first, Wednesday
April first, Saturday
May first, This one actually is a Monday

So if I would set a task for each first day for the month to: **insert request from boss**. I would see that during my weekend, and not while I am at work.

So it would only change the due date if the new date would be in the past after increasing the repating interval?

That’s correct, sorry about that.

So it would only change the due date if the new date would be in the past after increasing the repating interval?

I am not quite sure how that would work in practice but it sounds like it makes things overcomplicated.

My current todo app only shows the current occurence of the task, a short example:

It is currently currently Monday, I have a task next Tuesday

It is still Monday, but I finished the task already. So I click on completed and the task gets send to the list of completed tasks. Immediately after that a new task is created for the next occurence on Tuesday.

End of example.

There are no duedates / deadlines in Apple reminders, but I do not see any issue if all tasks have their own deadline X time from when they start.

So if the first task in my example should be finished by Friday this week, the task for the following week on Tuesday should have its deadline for next week on Friday.

In other terms. If I plan something that takes X hours/days to do, and I need to do it periodically. It is not going to change how long is is going to take me to do it. Only when I have to start doing it and when it needs to be finished.

That’s what Vikunja does as well.

Isn’t that a task that repeats every 7 days with a due date next friday?

I guess that logic stays the same. But back to beginning.

Can you make it so that we can configure tasks to occur every first Monday of the month etc.?

I guess that’s possible, but it would mean the due date. You’d set the due date to the first monday (or any other day) and Vikunja would make sure it repeats on that nth weekday every month.

I dug a little and found the rfc for CalDAV recurrence intervals. I guess that’s what you mean? I suppose Apple reminders work exactly like that.

Also it looks like this has been requested in similar fashion before:

Hi Kolaente,

I do not see a reference to “First, Second, Third, Forth, Fifth, Last” in the bit of the linked RFC. And neither for things like first weekday/weekend day.

So I think this is not the same.

Isn’t that what the BYDAY does?

For example, within a MONTHLY rule, +1MO (or simply 1MO) represents the first Monday within the month, whereas -1MO represents the last Monday of the month. The numeric value in a BYDAY rule part with the FREQ rule part set to YEARLY corresponds to an offset within the month when the BYMONTH rule part is present, and corresponds to an offset within the year when the BYWEEKNO or BYMONTH rule parts are present. If an integer modifier is not present, it means all days of this type within the specified frequency. For example, within a MONTHLY rule, MO represents all Mondays within the month. The BYDAY rule part MUST NOT be specified with a numeric value when the FREQ rule part is not set to MONTHLY or YEARLY. Furthermore, the BYDAY rule part MUST NOT be specified with a numeric value with the FREQ rule part set to YEARLY when the BYWEEKNO rule part is specified.

My apologies,

You are right. I glanced over the document and failed to see that. This is exactly what I mean then.

Are you going to / will you consider to implement this into Vikunja?

It’s definitely considered but not a high priority.

Adding some visualisation to this:

Calendar on macOS


Calendar item

image
Dropdown open

image
Dropdown form that opens after selecting custom in the dropdown. This step is a bit confusing. It seems very unusual to open a dialog because I selected an option in a select. In practise I never stumbled over this. The “every weekday” is something that apple automatically writes if you select every weekday, aka Mon – Fri.
This task is repeating weekly on Mon, Tue, Wed, Thu & Fri.

image
Dropdown open

Reminders on macOS


The default task has ‘today’ written in the date field.

If you click on it you get those suggestions.
In the field you can also write stuff like “tomorrow” or “next tuesday”. “first monday every month” doesn’t work (it recognises it as the next Monday with the specific date being selected).

From here it gets more complex. Video seems appropriate here (wasn’t expecting that complexity).

There seem to have been some bugs in the beginning where the task didn’t accept what I selected. I think it was because I didn’t write a title first. I also have the feeling that there is a lot of duplication going on that could be simplified. For example:

  • the “every 4 years on the third Sunday of March, June and July” could be written in the date field itself.
  • the repeat dropdown and the frequency dropdown feel like a duplication. I know that they are a bit different in what they do, but that could also change with the context
  • although pretty extensive this still doesn’t cover all possible repeat cases. E.g. I can’t define “every 4 years on the Sunday of the third week of March, June and July”. So while this customisation goes deep I wonder how they defined when it was enough. Some things seem impossible. E.g. I can select:

    What does “On the fifth weekend day” even me combined with “Monthly” and “Every 3 Months”? The field will show “Custom repeat” if I select that. Will edit if I get a notification in some time :smiley:

Note that I do really like the time field and the suggested options:

I wonder if there are other calDAV clients which can do this. Or maybe no-one actually uses that?

Not sure what to do about the impossible stuff? Show a warning to the user?

Either way, if Vikunja could do what the Apple-UI can do it would already be a huge improvement. Even if it can’t do all the cases specified in the rfc.

Or maybe no-one actually uses that?

Could you check on Android?

Not sure what to do about the impossible stuff? Show a warning to the user?

I think the UI shouldn’t allow impossible configurations.

Either way, if Vikunja could do what the Apple-UI can do it would already be a huge improvement.

Absolutely!

Question:

Answer:
“yes”

p.s. thanks for the extra visuals

1 Like

I guess if the month starts on a Monday, you have: Saturday, Sunday, Saturday, Sunday, Saturday

I selected weekend day not weekday.

The example you provided makes ‘kind’ of sense though :smiley:

At the same time I kind of refuse to accept that this kind be what they mean :smiley:

I did get a notification for that reminder on Saturday though. I have no clue if that was why This text will be hidden

I’d like to add something to the wish list of recurrence intervals: Would it be possible to add an option to repeat a task X days/weeks/months after completion?

Example: I want to get a haircut every 4 weeks. If I get my haircut a week early or a week late and I mark the task as completed, I’d like the next recurrence to be 4 weeks after the completion date.