Modification de la date de fin d'événement → la date post-événement dans le titre du sujet n'est pas mise à jour

Testé sur 3.6.0.beta2, autant que je me souvienne, le problème n’apparaissait pas sur beta1

Étapes :

  1. Créez un nouveau sujet avec une date de début d’événement dans le passé et une date de fin dans le futur (par exemple, dans 3 heures)
  2. Publiez le sujet, la date de l’événement dans le titre du sujet s’affiche correctement
  3. Mettez à jour la date de fin de l’événement à une heure ultérieure ou antérieure
  4. Le problème survient : la date de l’événement dans le titre du sujet reste la même

J’ai aussi essayé de rafraîchir le HTML, mais le problème persiste

Modification : J’ai rencontré le même problème en modifiant uniquement la date de début de l’événement, mais je n’ai pas encore pu le reproduire…

1 « J'aime »

Comment modifiez-vous l’événement, via l’interface utilisateur ou via Markdown ?

Les deux se comportent-ils différemment ?

Pour autant que je me souvienne, le problème est apparu dans les deux cas, mais je ne me souviens pas à 100 %.

Parfois, la date de début n’était pas mise à jour, et parfois la date de fin était affectée. Je n’ai pas eu la chance de le reproduire correctement car cela prend beaucoup de temps.

J’ai soumis une petite PR qui l’a corrigé dans une certaine mesure. Nous l’utilisons actuellement comme plugin d’aide.

La solution de contournement actuelle consiste également à :

  1. Modifier le message et supprimer le BB code de l’événement, enregistrer le message
  2. Modifier le message, réajouter le BB code de l’événement avec la date souhaitée, et enregistrer le message

Cela réécrit les dates de l’événement à partir de zéro dans le sujet.

Bonjour,

J’ai ouvert FIX: Refresh event dates in topic lists - Pull Request #43285 - discourse/discourse - GitHub pour cela.

J’ai ensuite réalisé une capture d’écran d’un test manuel par rapport au commit de tête de la PR :

La PR est basée sur main.

Le minuteur rouge dans l’enregistrement compte à rebours jusqu’aux limites des événements pertinents, tandis que l’horloge verte indique l’heure actuelle, de sorte que l’enregistrement devrait être autonome.

J’ai inclus mes minutages de test exacts et le BBCode ci-dessous en tant que notes complémentaires.

Premier test — modification de la fin uniquement

Minutages prévus :

début début modifié fin fin modifiée
16:22 pas de modification 16:25 16:28

Le BBCode initial était :

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:25"]
ceci est une description d'événement
[/event]

Je l’ai explicitement modifié en :

[event start="2026-09-04 16:22" status=public timezone=Europe/London end="2026-09-04 16:28"]
ceci est une description d'événement
[/event]
Deuxième test — modification du début uniquement

Minutages prévus :

début début modifié fin fin modifiée
16:31 16:32 16:35 pas de modification

J’ai fait une erreur de configuration lors de cette exécution : le BBCode initial était en réalité :

[event start="2026-09-04 17:00" end="2026-09-04 18:00" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Je l’ai ensuite explicitement modifié en :

[event start="2026-09-04 16:32" status=public timezone=Europe/London end="2026-09-04 16:35" reminders=notification.15.minutes]
[/event]

Par conséquent, cette exécution particulière ne devrait pas être considérée comme une comparaison de début uniquement 16:3116:32 propre.

Troisième test — modification du début et de la fin

Minutages prévus :

début début modifié fin fin modifiée
16:38 16:39 16:42 16:45

Le BBCode initial était :

[event start="2026-09-04 16:38" status=public timezone=Europe/London end="2026-09-04 16:42" reminders=notification.15.minutes]
[/event]

Je l’ai explicitement modifié en :

[event start="2026-09-04 16:39" status=public timezone=Europe/London end="2026-09-04 16:45" reminders=notification.15.minutes]
[/event]
Quatrième test — modification de la fin uniquement

Minutages prévus :

début début modifié fin fin modifiée
16:47 pas de modification 16:50 16:53

Le BBCode initial était :

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:50"]
[/event]

Je l’ai explicitement modifié en :

[event start="2026-09-04 16:47" status=public timezone=Europe/London end="2026-09-04 16:53"]
[/event]
Cinquième test — modification du début uniquement

Minutages prévus :

début début modifié fin fin modifiée
16:56 16:57 17:00 pas de modification

Le BBCode final était :

[event start="2026-09-04 16:57" status=public timezone=Europe/London end="2026-09-04 17:00" reminders=notification.15.minutes]
[/event]

Une vérification de la base de données par la suite confirme que ce message a été modifié une fois par son auteur dans la période de grâce d’édition de 300 secondes de Discourse (self_edits = 1). Comme la modification s’est faite dans cette période de grâce, le message est resté à la version 1 et aucune révision/crayon visible n’a été créée.

La valeur brute d’origine n’est donc plus disponible dans post_revisions, mais le test n’était pas un message non modifié.

Sixième test — modification du début et de la fin

Minutages prévus :

début début modifié fin fin modifiée
17:03 17:04 17:07 17:10

Le BBCode final était :

[event start="2026-09-04 17:04" end="2026-09-04 17:10" status="public" timezone="Europe/London" reminders="notification.15.minutes"]
[/event]

Une vérification de la base de données par la suite confirme que ce message a été modifié une fois par son auteur dans la période de grâce d’édition de 300 secondes de Discourse (self_edits = 1). Comme la modification s’est faite dans cette période de grâce, le message est resté à la version 1 et aucune révision/crayon visible n’a été créée.

La valeur brute d’origine n’est donc plus disponible dans post_revisions, mais le test n’était pas un message non modifié.