Aquí hay otro que acaba de enviarse a una cuenta de usuario de prueba inactiva:
última vez visto 2024-09-12
Frecuencia del resumen: diario
“Incluir contenido de nuevos usuarios en los correos electrónicos de resumen”: marcado
sin etiquetas relevantes silenciadas
Temas populares:
“IA: ¿es mejor lo más grande?” – repetido 3 veces. El tema tiene 3 etiquetas, 0 respuestas, 0 me gusta.
“Desafíos de ingeniería social” – repetido 2 veces. El tema tiene 2 etiquetas, 1 respuesta, 0 me gusta.
Nuevo para ti:
“Solicitudes de nuevas etiquetas” – no repetido. El tema tiene 0 etiquetas, 0 respuestas, 0 me gusta.
En el último resumen que recibió una de mis cuentas, ninguno de los temas se duplicó, pero los comentarios debajo de ellos sí (“Publicaciones populares”). Había cinco espacios y dos duplicados (tres publicaciones únicas), ambos del mismo tema.
Editar: Estoy revisando algunos resúmenes históricos que se enviaron a diferentes cuentas de prueba/administrador:
El anterior también tiene dos duplicados en las Publicaciones populares, también del mismo tema.
El anterior tenía un tema duplicado pero ninguna publicación popular duplicada. Hay un duplicado en “Nuevo para ti”.
@j127, sería interesante saber cuántas etiquetas tenían tus temas del resumen. En mis muestras recientes, la duplicación se corresponde con el número de etiquetas de un tema. Podría ser una coincidencia, o no.
He podido reproducir el problema en mi sitio local de Discourse añadiendo una etiqueta a la configuración del sitio digest suppress tags y luego creando un tema con varias etiquetas.
if SiteSetting.digest_suppress_tags.present?
tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
if tag_ids.present?
topics =
topics.joins("LEFT JOIN topic_tags tg ON topics.id = tg.topic_id").where(
"tg.tag_id NOT IN (?) OR tg.tag_id IS NULL",
tag_ids,
)
end
end
Editar: No creo que sea necesario un LEFT JOIN aquí. Las columnas de la tabla topic_tags unida no parecen utilizarse más adelante en el método. La solución podría ser tan simple como:
if SiteSetting.digest_suppress_tags.present?
tag_ids = Tag.where_name(SiteSetting.digest_suppress_tags.split("|")).pluck(:id)
if tag_ids.present?
topics =
topics.where.not(id: TopicTag.where(tag_id: tag_ids).select(:topic_id))
end
end
Dejaré que el equipo de Discourse determine el mejor enfoque. El método for_digest se ejecuta muchas veces y necesita ser eficiente.
@simon – ¡muchas gracias por investigar esto! Estoy seguro de que fue mucho para revisar. Esperaré a que el equipo de Discourse regrese y actúe sobre tu análisis.
Solo confirmo que quitar la etiqueta que tenía en digest suppress tags ha devuelto los resúmenes a la normalidad. (Mientras tanto, confío en digest suppress categories.)
No tengo claro cuándo los commits fusionados están disponibles en el canal beta. Si estoy en 3.4.0.beta3-dev (53f9c81790) y no solicita una actualización de la GUI, ¿una actualización de la línea de comandos recogerá este cambio?
Aún puedes extraer la interfaz de usuario sin que te la pida, y extraerá los nuevos commits. Pero también hacer una reconstrucción de la CLI los extraerá.