Ce sujet se fermera quelques secondes après la dernière réponse

Nous avons une catégorie où les sujets sont créés avec un minuteur de sujet par défaut qui les ferme après 6 mois.

image

Après la mise à jour, je constate un bogue qui affiche : « Ce sujet sera fermé quelques secondes après la dernière réponse. »

image

Si je vais dans l’icône clé à molette → minuteur de sujet, la fenêtre modale s’ouvre et le message ci-dessous se corrige immédiatement.

Voici la partie préoccupante : ce problème ne se manifeste pas sur tous les sujets. Certains sont corrects, d’autres non. De plus, certains sujets créés après la mise à jour affichent l’erreur (il s’agit donc probablement pas d’un problème lié à la migration).

Heureusement, cela n’affiche que qu’il sera fermé dans quelques secondes ; en réalité, les sujets sont fermés selon le calendrier prévu (par exemple, après 6 mois).

Pouvez-vous reproduire ce problème ? Merci d’avance !

2 « J'aime »

Je pense que @martin travaille actuellement dans ce domaine ? Des avis ?

1 « J'aime »

Hmm, c’est intéressant que cela se corrige tout seul lorsque vous ouvrez la modale. Je vais jeter un coup d’œil à cela. Par ailleurs, j’ai une PR ouverte pour introduire un nouveau composant de durée ; je suis ravi que vous ayez ouvert cette issue, car maintenant je peux aussi remplacer ceci :

Par ceci :

Ainsi, vous n’aurez plus à faire vous-même le calcul des heures vers les mois.

4 « J'aime »

Je n’arrive pas à reproduire ce problème avec cette dernière PR : FEATURE: Relative time input for timers and bookmarks and promote auto-close after last post timer by martin-brennan · Pull Request #12063 · discourse/discourse · GitHub

Voici ce que je vois lorsque je crée un nouveau sujet avec les mêmes paramètres que vous :

Et ensuite, lorsque j’ouvre la fenêtre modale du minuteur de sujet (j’ai apporté quelques modifications avec la nouvelle PR) :

Peut-être faudrait-il attendre que la dernière modification soit fusionnée pour voir comment cela se passe. Si le problème persiste, je pourrai approfondir l’enquête. Je reviendrai vers vous ici une fois la fusion effectuée.

2 « J'aime »

La modification décrite ci-dessus a désormais été intégrée et se trouve dans notre branche tests-passés.

2 « J'aime »

Merci pour votre temps !

J’ai poursuivi mes investigations (toujours sur f6e6ae5e24) et j’ai constaté que seuls les anciens sujets présentent ce comportement étrange. Il est donc probable que le bug provienne de la migration.

Les anciens timers défectueux ont duration = 4320 et duration_minutes = NULL.
Les nouveaux, qui fonctionnent correctement, ont duration = NULL et duration_minutes = 259200.

Je soupçonne l’un de ces deux commits :

FEATURE: Topic timer UI revamp (#11912) · discourse/discourse@6d72c8a · GitHub

FEATURE: Allow durations < 1 hour and < 1 day for topic timers where … · discourse/discourse@4af77f1 · GitHub

2 « J'aime »

Ah, je vois ce qui s’est passé, c’est de ma faute. La migration initiale n’était pas correcte. Vous devez au moins passer à FIX: Topic timer duration_minutes was not backfilled correctly (#12004) · discourse/discourse@18da1d5 · GitHub ou à la version la plus récente pour corriger ce problème (ou, si vous ne pouvez vraiment pas mettre à jour, exécutez les requêtes UPDATE dans la post-migration issue du commit lié).

3 « J'aime »

Super, merci beaucoup ! Je vais mettre à jour vers la dernière version dès que possible..

2 « J'aime »