Les e-mails de notification de sujet ne sont pas envoyés si une couleur de membre du personnel est ajoutée au message

Actuellement en cours d’exécution Discourse 3.5.0.beta7-dev (7562bc2b15)

Les e-mails de notification de sujet ne sont pas envoyés lors de la planification de la publication d’un message dans certaines conditions.

Nous avons rencontré un bug très inhabituel et, bien que nous utilisions la dernière version, cela s’est produit plusieurs fois ces derniers mois, le problème existe donc depuis un certain temps.

Nous avons une catégorie appelée #Announcements et chaque utilisateur est défini par défaut sur Regarder le premier message.

Nos étapes pour reproduire le problème :

  1. Composer un nouveau sujet dans une catégorie cachée réservée au personnel
  2. Appliquer une couleur de personnel au premier message du nouveau sujet
  3. Définir un minuteur de sujet, Planifier la publication, définir la catégorie sur #Announcements et définir l’heure/la date

Ce qui devrait se passer :

  • Le sujet passe de #staff à #Announcements
  • Des dizaines de milliers d’e-mails sont envoyés
  • Chaque utilisateur reçoit une notification

Ce qui se passe :

  • Le sujet passe de #staff à #Announcements
  • Aucun e-mail n’est envoyé
  • Chaque utilisateur reçoit une notification

En attendant l’heure de publication programmée, j’ai pu voir ces deux tâches en attente (filtrées par l’ID du message) :

Dix minutes plus tard, lorsque le sujet a été publié dans #Announcements, les tâches ont disparu :

Les notifications ont été envoyées, voici ce qu’un compte de test a reçu :

Mais aucun e-mail n’a été envoyé.

Habituellement, à ce stade, nous voyons des dizaines de milliers d’e-mails commencer à se mettre en file d’attente dans Scheduled et à passer progressivement à Enqueued, mais rien ne se passe, zéro e-mail n’est envoyé.

Il n’y a rien non plus dans les journaux d’erreurs de Discourse.

Les messages contenaient un sondage, mais je soupçonne que le contenu du message n’est pas pertinent, cependant, je le mentionne ici au cas où le sondage aurait également une pertinence.

Le test d’aujourd’hui qui a échoué peut être trouvé ici si cela peut aider quelqu’un : https://greyarro.ws/t/do-you-own-a-drone-thats-not-on-the-what-do-you-fly-list/98146.json

La clé de cet échec semble être causée par l’action d’ajouter une couleur de personnel au premier message du sujet dont la publication est programmée.

Tous les autres messages dont la publication est programmée et qui n’ont pas de couleur de personnel sont envoyés par e-mail sans problème, l’ajout d’une couleur de personnel fait échouer le processus à chaque fois.

3 « J'aime »

Je peux reproduire ceci. :raised_hand:

Mes étapes de base :

  • Ajustez la fenêtre de temps des e-mails à 1 minute (facultatif, mais accélère les choses)
  • En tant qu’administrateur, assurez-vous que l’utilisateur test regarde le premier message pour une catégorie test
  • En tant qu’administrateur, créez un sujet dans la catégorie Staff
  • Utilisez la clé à molette pour ajouter la couleur du personnel au premier(/unique) message
  • Réglez le minuteur du sujet pour programmer la publication dans la catégorie test dans 1 minute
  • Faites un petit rêve d’évasion sur la glace et attendez que le sujet soit publié et qu’une minute supplémentaire s’écoule pour couvrir la fenêtre d’e-mail
  • En tant qu’administrateur, vérifiez les notifications de l’utilisateur test, puis vérifiez les journaux d’e-mails du site

Résultat attendu : l’utilisateur test reçoit une notification concernant le sujet programmé et un journal d’e-mail est présent, signifiant qu’une notification par e-mail a été envoyée.

Résultat actuel : l’utilisateur test reçoit une notification sur le site mais aucun e-mail n’est envoyé.

(J’ai également effectué ce test sans l’étape de couleur du personnel comme contrôle. Tout fonctionnait bien. Les notifications sur le site et par e-mail ont été envoyées)

Est-ce que cela a quelque chose à voir avec le fait que la couleur du personnel ajuste le post_type à ‘2’ (action_modérateur) et que cela n’est pas pris en compte dans le code ?

4 « J'aime »

J’ai su que j’oublierais une des étapes de reproduction :rofl:

C’est une observation intéressante :

2 « J'aime »

Oui, une fois que vous transformez un post en post de staff, il devient Post.types[:moderator_action], je pense que nous devrions notifier ici, l’omission semble être une erreur.

Ajout d’un pri-medium (dans les 4 prochaines semaines) pour que l’équipe puisse examiner.

2 « J'aime »

Par curiosité, le fait de répondre à un utilisateur et de définir une couleur de personnel sur la réponse empêche-t-il également l’envoi de la notification par e-mail à cet utilisateur ?