La date récurrente affiche la mauvaise date suivante

J’essaie de configurer une date récurrente comme suit :

[date=2021-01-24 time=08:30:00 timezone="America/New_York" recurring="1.weeks"]

Puisque cette date est dans le futur, elle devrait afficher le 24 janvier 2021 comme prochaine occurrence. Or, elle affiche le 28 février 2021.

Date réelle :
2021-01-24T13:30:00Z

Capture d’écran de l’aperçu du message (au cas où l’aperçu l’afficherait différemment) :
image


En modifiant la date au 25 janvier 2021, la date saute directement au 8 mars 2021, en sautant 8 jours au lieu d’un seul. Tous les 7 jours, elle saute d’une semaine supplémentaire, ce qui semble expliquer pourquoi la date est si erronée. Est-ce que je fais quelque chose de mal ? Peut-être y a-t-il un cas particulier lors de la création de dates récurrentes dans le futur en général, ou spécifiquement dans une année future ?

2 « J'aime »

Cela semble étrangement intentionnel de la part du code. Il semble toujours baser la date récurrente sur la différence entre la date actuelle et aujourd’hui :

https://github.com/discourse/discourse/blob/master/plugins/discourse-local-dates/assets/javascripts/lib/local-date-builder.js.es6#L55

J’ai essayé de modifier cela dans le code pour utiliser localDate.datetime et le résultat était correct dans le navigateur, mais quatre tests ont échoué. Il semblait qu’ils s’assuraient que cela fonctionne ainsi, alors maintenant je me demande si je passe à côté de quelque chose @j.jaffeux ? La récurrence devrait avoir lieu après la date que vous avez saisie, et non après la date actuelle, non ?

4 « J'aime »

En effet, je pense avoir négligé ce cas et surtout pris en compte la situation où vous essayez de créer une date dans le passé et que la récurrence la fait se produire dans le futur. Je m’en occuperai la semaine prochaine.

7 « J'aime »

Cela est en attente de révision, mais cela devrait régler le problème une fois fusionné :

Merci pour le signalement, je suis ravi que ce bug soit enfin écarté.

7 « J'aime »