Bonjour @bertrandda ,
Je rencontre un problème avec un calendrier CalDAV contenant des anniversaires récurrents annuellement.
Aujourd’hui, j’ai un anniversaire qui est bien présent dans mon calendrier CalDAV `Anniversaire`, mais l’événement du jour n’apparaît pas dans Gladys.
La connexion CalDAV semble pourtant fonctionner correctement :
- Gladys découvre bien le calendrier `Anniversaire` lors des synchronisations ;
- les autres calendriers, notamment `Famille`, fonctionnent ;
- j’ai essayé de désactiver/réactiver le calendrier puis de relancer une synchronisation, sans résultat.
En regardant le fonctionnement du code CalDAV de Gladys, j’ai remarqué que les événements récurrents sont développés dans une fenêtre temporelle limitée, avec notamment :
const rangeStart = this.dayjs().subtract(1, 'years');
const rangeEnd = this.dayjs().add(2, 'years');
Je me demande donc s’il pourrait y avoir le cas suivant :
1. Un événement annuel avec une `RRULE` est synchronisé.
2. Gladys crée ses occurrences jusqu’à `+2 ans`.
3. Les années passent sans modification de l’événement source.
4. Le `ctag` du calendrier ne change pas.
5. Gladys ne retraite donc pas l’événement récurrent.
6. Les occurrences pré-calculées finissent par arriver au bout de la fenêtre initialement générée.
Est-ce que ce scénario est possible avec le fonctionnement actuel de la synchronisation CalDAV ?
Cela pourrait expliquer pourquoi un anniversaire toujours présent côté CalDAV n’apparaît plus dans Gladys plusieurs années après son import initial.
Si c’est utile pour confirmer, je peux faire des tests sur mon installation, par exemple forcer une resynchronisation complète du calendrier et vérifier si l’occurrence réapparaît.
Merci !