Problem in the date of a recurring iCalendar event

58 views
Skip to first unread message

Ono

unread,
Oct 5, 2023, 4:50:25 AM10/5/23
to CalenGoo-Android-Support

I saw a problem in the date of a recurring iCalendar event in CalenGoo. I wrote and imported an iCalendar rule for an event that is on the day (Saturday) right before the first Sunday of October every year. Google Calendar is showing the correct dates, but CalenGoo is showing wrong dates. For example, in year 2023 Google Calendar showing the event on September 30th, which is correct. However CalenGoo is showing the event on September 2nd and October 7th in year 2023 and both of them are wrong.

The iCalendar code is as follows:

BEGIN:VCALENDAR

BEGIN:VEVENT

DTSTART;VALUE=DATE:20131005

DTEND;VALUE=DATE:20131006

RRULE:FREQ=YEARLY;BYDAY=SA;BYMONTH=9,10;BYSETPOS=2;BYMONTHDAY=-1,1,2,3,4,5,6,7

SUMMARY:afreg32aaaaa4sa

END:VEVENT

END:VCALENDAR

 

The code is based on the second answer to the question at https://stackoverflow.com/questions/49617147/rrule-for-the-weekend-including-the-first-sunday-of-a-month

How it works is as follows. In the RRULE part, BYDAY=SA;BYMONTH=9,10;BYMONTHDAY=-1,1,2,3,4,5,6,7 code selects the Saturdays on the first week of September and October and the Satudays on the last day of September and October. Then BYSETPOS=2 selects the second date in the list, which is always the the day (Saturday) right before the first Sunday of October. It maybe the last day of September or a day in the first 6 days of October.

Could you please check CalenGoo with this iCalendar rule? Google Calendar is showing the event on correct dates, but CalenGoo is showing it on wrong dates in 2023.

CalenGoo Support

unread,
Oct 5, 2023, 5:01:19 AM10/5/23
to CalenGoo-Android-Support
Hi,

I suppose CalenGoo does not support that rule. It supports only rules that can be created with Google Calendar and other calendar apps, not such special, manually built rules.

CalenGoo must calculate it the other way around, i.e. for a given date it must be able to determine as quickly as possible whether the date can be displayed there or not. This is different from what other systems do, which simply run through the days from the first appointment in the appointment series and then simply save the appointments to which the rule matches. But then that has the disadvantage that you can't just open a day far in the future and immediately see the appointments. With CalenGoo, this is possible, but with the other calculation method, this time range must first be calculated by running through all appointment series. And this memory with the appointment series occurrences must also always be kept up to date.

CalenGoo's own calculation function can therefore not display such appointments so far. But you can simply synchronize CalenGoo via the Android calendar, then the calendar performs the calculation and CalenGoo only has to display the appointment. To do this, open "Settings > Accounts" in CalenGoo, turn on "Android" and turn off the other accounts.

Please try this and don't hesitate to contact me again if you have any problems or questions!

Kind regards

Dominique

Reply all
Reply to author
Forward
0 new messages