¿Cambiar el sistema para la insignia de Bug Reporter?

En Meta, a veces reportamos errores y el personal responde con PRs para solucionar el error que reportamos.

Sin embargo, si al miembro del personal no le gustó la publicación del tema, no se otorga ninguna insignia, a pesar de que ha sido reconocida y corregida en consecuencia.

¿Quizás un cambio en la consulta SQL? Como si un miembro del personal responde Y el tema se cierra Y se envía un enlace de PR de Github (por ejemplo, encontrarlo al tener ‘Pull requests · discourse/discourse · GitHub’ en el enlace que fue enviado por un miembro del personal)?

1 me gusta

No estoy muy familiarizado con la historia aquí, pero creo que la insignia de “informador de errores” está pensada para otorgarse cuando un informe de error ha sido confirmado como un error por el equipo. No importa si ya se ha corregido o no.

Es cierto que la consulta solo reconoce “me gusta”, no reacciones. Por lo tanto, cuando @lilly agregó :ojos: a uno de tus temas, no se otorgó la insignia. Podría decirse que eso es lo previsto. Si hubiera confirmado el error, podría haber vuelto para agregar el :corazón: “me gusta”. Pero si hubiera usado :aplausos: o alguna otra aprobación más entusiasta de tu informe de error, eso no sería del todo justo.

También podría ser que la persona que manejó el informe de error no pensara que merecía una insignia. Si esto te vuelve a suceder, no dudes en enviarme un mensaje directo y lo revisaré.

1 me gusta

¡Entendido, gracias por la aclaración! Te avisaré si esto vuelve a suceder :slight_smile:.

1 me gusta

Creo que esto ha cambiado después de Changes to which reactions 👍 are counted as likes ❤. Cada reacción que cuenta como “me gusta” también activa la insignia.

Un ejemplo donde Lilly reaccionó con :ojos: y yo recibí la insignia es:

image

2 Me gusta

Noté que no hay un “me gusta” en Subcategory filter disappears on /none - #2 by sam, pero el tema ya está cerrado. ¿Podrías verificar si el informe califica para una insignia? Yo creo que sí; de lo contrario, decir “Gracias por el informe detallado” no tiene mucho sentido.

Ruby hash syntax being displayed in emails sent to deleted users tampoco recibió un “me gusta”.

Recientemente solicité “me gusta” en On some forums, NaN instead of a number on badge pages - #10 by Moin y Group search issue on admin panel - #8 by Moin también. En el segundo, también mencioné Reason in the email sent to moderators when a user is automatically silenced not always correct.

Actualmente hay bastantes temas/usuarios que, lamentablemente, no reciben aprecio en forma de insignia.

1 me gusta

¡Muchas gracias, Moin! Bien visto. Efectivamente, parece que hay una falla en nuestro sistema para recompensar a los que informan de errores.

Correré la voz internamente para recordar a la gente que añada el corazón al OP cuando evalúen los errores.

Ejemplos recientes:

1 me gusta

Esto me hace preguntarme, ¿debería haber algo como Missing images at Meta.discourse.org para marcar esto (o tal vez este tema)?

Creo que esto es algo mucho más fácil de rastrear con una consulta del explorador de datos que devuelva todos los temas cerrados en un marco de tiempo específico pero donde el usuario no recibió una insignia (o todos los temas que están etiquetados como #fixed, pero no se otorgó ninguna insignia; eso excluiría los problemas que se cerraron porque nadie pudo reproducirlos, pero falla si no se agrega la etiqueta). Luego, un script de automatización podría informar eso a un tema o buzón de grupo.

Verificar eso manualmente no es tan fácil. No puedes simplemente verificar las reacciones en la publicación; necesitas verificar cuándo ocurrieron los “me gusta” y si los usuarios estaban en el grupo @team cuando les gustó. O bien, necesitas verificar las insignias de los autores.

¿Y quién mira la primera publicación solo porque hay una nueva respuesta que dice que el error fue corregido, aparte del miembro del equipo que agrega la etiqueta #fixed?

3 Me gusta

Acabo de cambiar la consulta de Bug Reporter (bronce) de

SELECT distinct p.user_id, p.created_at granted_at, p.id post_id
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
JOIN post_actions pa ON pa.post_id = p.id AND 
      post_action_type_id = (
                SELECT id FROM post_action_types WHERE name_key = 'like'
       ) AND 
       pa.user_id IN (
           SELECT gu.user_id
           FROM group_users gu
           WHERE gu.group_id = ( SELECT id FROM groups WHERE name ilike 'team' ) 
       )
WHERE category_id = (
  SELECT id FROM categories WHERE name ilike 'bug'
) AND p.post_number = 1

a esta

SELECT DISTINCT p.user_id, p.created_at granted_at, p.id post_id
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
WHERE t.category_id = 1 -- bug
AND p.post_number = 1
AND (
    -- team member liked the OP
    EXISTS (
        SELECT 1 
        FROM post_actions pa
        WHERE pa.post_id = p.id
        AND pa.post_action_type_id = 2 -- like
        AND pa.user_id IN (SELECT gu.user_id FROM group_users gu WHERE gu.group_id = 47)
    )
    OR
    -- team member posted a github.com/discourse link in the topic
    EXISTS (
        SELECT 1 
        FROM topic_links tl
        WHERE tl.topic_id = t.id
        AND tl.url LIKE '%github.com/discourse/%'
        AND NOT tl.reflection
        AND tl.user_id IN (SELECT gu.user_id FROM group_users gu WHERE gu.group_id = 47)
    )
)

y las consultas de plata y oro de

SELECT p.user_id
     , min(p.created_at) granted_at
  FROM posts p
  JOIN topics t ON t.id = p.topic_id
 WHERE t.category_id = (SELECT id FROM categories WHERE name ILIKE 'bug')
   AND p.post_number = 1
   AND EXISTS (
         SELECT 1
           FROM post_actions pa
          WHERE pa.post_id = p.id 
            AND pa.post_action_type_id = (SELECT id FROM post_action_types WHERE name_key = 'like') 
            AND pa.user_id IN (SELECT user_id FROM group_users WHERE group_id = (SELECT id FROM groups WHERE name ILIKE 'team'))
       )
 GROUP BY p.user_id
HAVING COUNT(*) >= 10 -- OR 25 for "gold"

a

SELECT p.user_id, MIN(p.created_at) granted_at
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
WHERE t.category_id = 1 -- bug
 AND p.post_number = 1
 AND (
     -- team member liked the OP
     EXISTS (
         SELECT 1
           FROM post_actions pa
          WHERE pa.post_id = p.id
            AND pa.post_action_type_id = 2 -- like
            AND pa.user_id IN (SELECT gu.user_id FROM group_users gu WHERE gu.group_id = 47)
     )
     OR
     -- team member posted a github.com/discourse link in the topic
     EXISTS (
         SELECT 1
           FROM topic_links tl
          WHERE tl.topic_id = t.id
            AND tl.url LIKE '%github.com/discourse/%'
            AND NOT tl.reflection
            AND tl.user_id IN (SELECT gu.user_id FROM group_users gu WHERE gu.group_id = 47)
     )
 )
GROUP BY p.user_id
HAVING COUNT(*) >= 10 -- or 25 for "gold"
1 me gusta

Entonces, cuando un miembro del equipo comparte que algo se arregló hace 3 semanas con un enlace al PR, ¿los usuarios obtienen una insignia?

Si esa persona es un miembro de @team, entonces sí.

La consulta comprueba si hay un “me gusta” y/o una publicación con un enlace a %github.com/discourse/% de cualquier miembro de @team.

Hacer “más” que eso será difícil de hacer solo con una consulta SQL, me temo.

1 me gusta

Solo me pregunto si puedo pensar en algo más. En general, sería mejor si recibieras la insignia poco después de crear los informes y no mucho después. La fecha en que recibes la insignia no se refiere al disparador (como o respuesta con PR), sino a cuándo creaste el tema. Y como las notificaciones de insignias no te muestran la insignia real que has recibido, sino una lista ordenada por fecha, la nueva insignia puede ser difícil de encontrar, lo que dificulta saber para qué informe la has obtenido en realidad ahora.
Por supuesto, este problema no es del todo nuevo, pero cuantos menos “me gusta” se den cuando alguien mira un error, más a menudo ocurrirá esto.

Además, un “me gusta” te da la sensación de que un tema ha sido leído. Sé que siempre dices que el equipo lo lee todo, pero a veces un “me gusta” puede ayudar a reforzar la sensación de que esto realmente sucede. Los temas sin respuesta o “me gusta” a veces parecen pasados por alto.

Un informe que destaque periódicamente qué temas no han recibido “me gusta” podría, en mi opinión, fomentar mejor dar “me gusta” y recordar a todos que lo hagan que el cambio de que compartir un enlace también sea suficiente. Esto probablemente conducirá a aún menos “me gusta”.

1 me gusta