Hello @bertrandda,
I’m having an issue with a CalDAV calendar containing annually recurring birthdays.
Today, I have a birthday that is present in my CalDAV calendar Birthdays, but the event of the day does not appear in Gladys.
The CalDAV connection seems to be working correctly:
- Gladys correctly discovers the
Birthdayscalendar during synchronizations; - other calendars, including
Family, work; - I tried disabling/re-enabling the calendar and restarting a synchronization, without success.
Looking at the CalDAV code of Gladys, I noticed that recurring events are developed within a limited time window, including:
const rangeStart = this.dayjs().subtract(1, 'years');
const rangeEnd = this.dayjs().add(2, 'years');
I wonder if the following scenario could occur:
- An annual event with an
RRULEis synchronized. - Gladys creates its occurrences up to
+2 years. - The years pass without modification of the source event.
- The
ctagof the calendar does not change. - Gladys does not reprocess the recurring event.
- The pre-calculated occurrences eventually reach the end of the initially generated window.
Is this scenario possible with the current CalDAV synchronization functionality?
This could explain why a birthday always present on the CalDAV side no longer appears in Gladys several years after its initial import.
If it’s useful to confirm, I can perform tests on my installation, for example, force a complete resynchronization of the calendar and check if the occurrence reappears.
Thanks!