Les votes ne sont pas retournés à la fermeture du sujet

Je ne pense pas que cela fonctionne correctement si le sujet est fermé avec un minuteur de sujet. Plusieurs utilisateurs nous ont signalé que c’était un problème. Nous venons de le rencontrer à nouveau et en supposant qu’il a raison lorsqu’il dit qu’il n’a plus de votes, il a (au moment de la rédaction) 20 votes exprimés (ce qui est notre limite) et l’un de ces sujets est fermé, il devrait donc avoir un vote supplémentaire.

Cela a été mentionné plusieurs fois auparavant, mais on nous a toujours dit cela après qu’ils aient “retiré” leurs anciens votes, donc je n’ai pas pu le vérifier. 99% de nos fils de discussion votables sont fermés via un minuteur de sujet d’un certain nombre de jours depuis la dernière réponse, je soupçonne donc que le bug pourrait provenir de là ?

Nous utilisons la dernière version du plugin et avons très récemment mis à jour Discourse lui-même :

Merci pour cette plateforme par ailleurs incroyable - nous l’adorons ! :pray:

1 « J'aime »

Je rencontre un problème similaire. Je pense que cela s’est déjà produit plusieurs fois, mais je ne pense pas que nous ayons encore mis le doigt sur le « pourquoi ».

Je viens de le tester avec un minuteur de sujet pour « Fermer après le dernier message » (en espérant que c’était la pièce manquante que je cherchais :slight_smile:), mais mon vote a été retourné comme prévu lorsque le minuteur s’est déclenché. :frowning:

Y a-t-il autre chose de spécial concernant les sujets sur lesquels vous avez remarqué que cela se produisait ?

De plus, si vous avez l’explorateur de données installé/activé, vous pouvez examiner les sujets passés où le sujet est fermé et/ou archivé mais où les votes n’ont pas été retournés en utilisant cette requête :

SELECT 
    dvv.topic_id,
    t.last_posted_at::date,
    tvc.votes_count
FROM discourse_voting_votes dvv
  JOIN topics t ON t.id = dvv.topic_id
  JOIN discourse_voting_topic_vote_count tvc ON tvc.topic_id = dvv.topic_id
WHERE dvv.archive = false
  AND (t.closed = true OR t.archived = true)
GROUP BY 1,2,3
ORDER BY 2
1 « J'aime »

Merci. Voici le résultat sur notre communauté :

Eh bien, c’est très intéressant…

  • Comme je l’ai dit précédemment, la plupart de nos sujets sont fermés via un minuteur de sujet, mais je pense que tous sauf un auraient été fermés avec le bouton “Fermer le sujet” (et peut-être tous). Y a-t-il un moyen de vérifier comment un sujet a été fermé ? Donc, contrairement à ma supposition que le minuteur était le problème, c’est une énorme coïncidence que le problème semble concerner les sujets fermés en utilisant le bouton de fermeture normal à la place. Un très faible pourcentage de fermetures se fait via ce bouton, donc pour que 6 ou 7 des 7 exemples soient concernés, cela pointe fortement vers ce bouton comme étant lié.
  • Il semble que ce soient tous les votes sur un sujet qui ne sont pas retournés, pas seulement une partie d’entre eux.
  • Deux le même jour. Peut-être juste une coïncidence.
  • Le dernier sujet a été supprimé par l’auteur.
  • Outre mon premier point ci-dessus, je ne vois pas beaucoup de schéma, mais n’hésitez pas à examiner vous-même les fils de discussion au cas où vous remarqueriez quelque chose :+1:

Y a-t-il un moyen de les redonner manuellement aux utilisateurs maintenant ? Ou même une correction automatisée nocturne jusqu’à ce que la cause profonde puisse être trouvée ?

1 « J'aime »

Malheureusement, cela ne semble pas être la cause non plus. Je pense qu’il y a encore autre chose qui se mélange et qui fait que cela se produit dans certains cas mais pas dans tous.

Pour tester une théorie, pourriez-vous en rouvrir une et la refermer pour voir si cela libère les votes ? (cela devrait également les rendre s’ils sont déplacés dans une catégorie non votante, ce qui pourrait valoir la peine d’être testé. Et ensuite les déplacer à nouveau pour voir si le problème persiste)

1 « J'aime »

Je pense que nous avons peut-être identifié un scénario qui pourrait correspondre au vôtre. Vos historiques de modifications ne sont pas publics, mais il semble que vous ayez peut-être ajouté une étiquette à ceux-ci après leur clôture ? Si c’est le cas, je pense que nous avons peut-être une solution en préparation pour empêcher le système de marquer à nouveau ces votes comme « actuels ». :crossed_fingers:

1 « J'aime »

Oui, cela rend les votes à nouveau disponibles (selon le rapport de l’explorateur de données) :+1:

Ah oui, ce sera ça :boom: Généralement, nous ajoutons une étiquette (souvent quelque chose comme « idée-terminée ») puis nous clôturons avec un minuteur de sujet. Dans le cas inhabituel de clôture immédiate, nous ajoutons généralement aussi une étiquette, mais cela peut être fait avant ou après la « clôture » mais à quelques secondes d’intervalle (je n’y ai jamais vraiment réfléchi). Cela explique la « coïncidence » qu’ils aient tous été clôturés en utilisant le bouton de clôture !

Merci pour toute l’aide, c’est très apprécié :pray: J’attends avec impatience la sortie de la correction.

Un sujet a été supprimé par l’auteur et cela ne semble pas avoir rendu les votes. Mes tentatives pour « Ouvrir » puis « Fermer » ne les rendent pas non plus. Que suggéreriez-vous ? Ou la correction du bug viendra-t-elle avec une migration pour corriger les données, si c’est le cas, nous pouvons attendre cela ?

Pas de problème. :slight_smile: Et le correctif est maintenant là aussi :

Cela empêchera que cela ne se reproduise à l’avenir, mais ne corrigera pas ceux qui existent déjà.

Il est possible de les réinitialiser via la console rails, bien que si vous n’en avez pas beaucoup, je pense qu’il serait plus facile d’utiliser l’interface utilisateur pour déclencher le mécanisme de « retour de vote » si vous le pouvez.

Hmmmm. :thinking: C’est malheureux. Vous pourriez essayer de le restaurer et de le déplacer vers votre catégorie #staff, puis de le fermer et de l’archiver là-bas. Ces trois actions devraient libérer le vote, donc j’espère que l’une d’elles fonctionnera. :crossed_fingers: Sinon, nous pouvons adopter l’approche rails s’il est récalcitrant.

2 « J'aime »