No se envían correos de notificación de temas al añadir un color de Staff a la publicación

Actualmente ejecutando Discourse 3.5.0.beta7-dev (7562bc2b15)

Los correos electrónicos de notificación de temas no se envían al programar una publicación para que se publique bajo ciertas condiciones.

Hemos encontrado un error muy inusual y, aunque estamos ejecutando la última versión, esto ha ocurrido algunas veces en los últimos meses, por lo que el problema ha existido durante un tiempo.

Tenemos una categoría llamada #Announcements y cada usuario está configurado por defecto en Watching First Post.

Nuestros pasos para reproducir el problema:

  1. Redactar un nuevo tema en una categoría oculta solo para personal
  2. Aplicar un color de personal a la primera publicación en el nuevo tema
  3. Establecer un temporizador de tema, Programar publicación, establecer la categoría en #Announcements y establecer la hora/fecha

Lo que debería suceder:

  • El tema se mueve de #staff a #Announcements
  • Se envían decenas de miles de correos electrónicos
  • Cada usuario recibe una notificación

Lo que sucede:

  • El tema se mueve de #staff a #Announcements
  • No se envían correos electrónicos
  • Cada usuario recibe una notificación

Mientras esperaba que llegara la hora de publicación programada, pude ver estas dos tareas pendientes (filtradas por el ID de la publicación):

Diez minutos después, cuando el tema se publicó en #Announcements, las tareas desaparecieron:

Las notificaciones se enviaron, esto es lo que recibió una cuenta de prueba:

Pero todavía no salieron correos electrónicos.

Normalmente, en este punto veríamos decenas de miles de correos electrónicos comenzando a ponerse en cola en Scheduled y gradualmente moviéndose a Enqueued, pero no sucede nada, no se envían cero correos electrónicos.

Tampoco hay nada en los registros de errores de Discourse.

Las publicaciones contenían una encuesta, pero sospecho que el contenido de la publicación es irrelevante; sin embargo, lo menciono aquí por si la encuesta también tiene alguna relevancia.

La prueba fallida de hoy se puede encontrar aquí si ayuda a alguien: https://greyarro.ws/t/do-you-own-a-drone-thats-not-on-the-what-do-you-fly-list/98146.json

La clave de este fallo parece estar muy relacionada con la acción de agregar un color de personal a la primera publicación del tema que está programado para su publicación.

Todas las demás publicaciones programadas para su publicación envían correos electrónicos correctamente, agregar un color de personal hace que falle cada vez.

3 Me gusta

Puedo reproducir esto. :raised_hand:

Mis pasos básicos uno por uno:

  • Ajusta email time window a 1 minuto (opcional, pero acelera las cosas)
  • Como administrador, asegúrate de que el usuario de prueba esté Vigilando la Primera Publicación para una categoría de prueba
  • Como administrador, crea un tema en la categoría Staff
  • Usa la llave inglesa de publicación para añadir Color del Staff a la primera(/única) publicación
  • Establece el temporizador del tema para Programar Publicación en la categoría de prueba en 1 minuto
  • Sueña un poco con helado y espera a que se publique el tema y a que transcurra un minuto más para cubrir la ventana de correo electrónico
  • Como administrador, comprueba las notificaciones del usuario de prueba y luego comprueba los registros de correo electrónico del sitio

Resultado Esperado: el usuario de prueba recibe una notificación sobre el tema programado y hay un registro de correo electrónico que indica que se ha enviado una notificación por correo electrónico adjunta.

Resultado Actual: el usuario de prueba recibe una notificación en el sitio pero no se envía ningún correo electrónico.

(También realicé esta prueba sin el paso del color del staff como control. Todo funcionó bien. Se enviaron tanto la notificación en el sitio como la notificación por correo electrónico).

¿Tiene algo que ver con que el color del staff ajuste el post_type a ‘2’ (moderator_action) y esto no se tenga en cuenta en el código?

4 Me gusta

Sabía que olvidaría uno de los pasos de reproducción :rofl:

Esta es una observación interesante:

2 Me gusta

Sí, una vez que conviertes una publicación en una publicación para el personal, se convierte en Post.types[:moderator_action], creo que deberíamos notificar aquí, la omisión parece ser un error.

Se añadió un pri-medium (en algún momento en las próximas 4 semanas) para que el equipo pueda echarle un vistazo.

2 Me gusta

Por cierto, ¿responder a un usuario y establecer un color de personal en la respuesta también hace que la notificación por correo electrónico no se envíe a ese usuario?