Alterar o sistema para o selo de Bug Reporter?

No Meta, às vezes relatamos bugs, e eles são respondidos por funcionários, com PRs para corrigir o bug que relatamos.

No entanto, se o funcionário não gostou do post do tópico, nenhum distintivo é concedido, embora tenha sido reconhecido e corrigido de acordo.

Talvez uma mudança na consulta SQL? Como se um funcionário responder E o tópico for fechado E um link de PR do Github for enviado (por exemplo, encontrá-lo por ter ‘Pull requests · discourse/discourse · GitHub’ no link que foi enviado por um funcionário)?

1 curtida

Não estou muito familiarizado com o histórico aqui, mas acredito que o selo de “reportador de bugs” se destina a ser concedido quando um relatório de bug foi confirmado como um bug pela equipe. Não importa se já foi corrigido ou não.

É verdade que a consulta reconhece apenas “likes”, não reações. Portanto, quando @lilly adicionou :eyes: a um dos seus tópicos, isso não concedeu o selo. Argumentavelmente, isso é o esperado. Se ela tivesse confirmado o bug, poderia ter voltado para adicionar o :heart: like. Mas se ela tivesse usado :clap: ou algum outro endosso mais entusiástico do seu relatório de bug, isso não seria totalmente justo.

Também pode ser que a pessoa que lidou com o relatório de bug não achou que valia o selo? Se isso acontecer com você novamente, sinta-se à vontade para me enviar uma mensagem direta e eu darei uma olhada.

1 curtida

Entendido, obrigado pelo esclarecimento!
Avisarei se isso acontecer novamente :slight_smile:.

1 curtida

Acho que isso mudou após Changes to which reactions 👍 are counted as likes ❤. Toda reação que conta como curtida também aciona o distintivo.

Um exemplo onde Lilly reagiu com :eyes: e eu recebi o distintivo é:

image

2 curtidas

Notei que não há um “like” em Subcategory filter disappears on /none - #2 by sam, mas o tópico já está fechado. Você poderia verificar se o relato se qualifica para um distintivo? Eu acho que sim; caso contrário, dizer “Obrigado pelo relato detalhado” não faz muito sentido.

Ruby hash syntax being displayed in emails sent to deleted users também não recebeu um “like”.

Recentemente, pedi “likes” em On some forums, NaN instead of a number on badge pages - #10 by Moin e Group search issue on admin panel - #8 by Moin também. No segundo, também mencionei Reason in the email sent to moderators when a user is automatically silenced not always correct.

Atualmente, há vários tópicos/usuários que, infelizmente, não recebem apreço na forma de um distintivo.

1 curtida

Muito obrigado, Moin! Bem observado. De fato, parece haver uma falha em nosso sistema de recompensa para reportadores de bugs.

Vou espalhar a notícia internamente para lembrar as pessoas de adicionar o coração ao OP ao avaliarem bugs.

Exemplos recentes:

1 curtida

Isso me faz pensar, deveria haver algo como Missing images at Meta.discourse.org para marcar este (ou talvez este tópico)?

Acho que isso é algo muito mais fácil de rastrear com uma consulta no explorador de dados que retorne todos os tópicos fechados em um período específico, mas onde o usuário não recebeu um emblema (ou todos os tópicos que estão com a tag #fixed, mas nenhum emblema foi concedido; isso excluiria problemas que foram fechados porque ninguém conseguiu reproduzir, mas falha se a tag não for adicionada). Em seguida, um script de automação poderia relatar isso a uma caixa de entrada de tópicos ou de grupo.

Verificar isso manualmente não é tão fácil. Você não pode simplesmente verificar as reações na postagem; você precisa verificar quando as curtidas aconteceram e se os usuários estavam no grupo @team quando curtiram. Ou, você precisa verificar os emblemas dos autores.

E quem olha a primeira postagem apenas porque há uma nova resposta dizendo que o bug foi corrigido, além do membro da equipe que adiciona a tag #fixed?

3 curtidas

Acabei de alterar a consulta (bronze) do Bug Reporter 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

para 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)
    )
)

e as consultas prata e ouro 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"

para

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 curtida

Então, quando um membro da equipe informa que algo foi corrigido há 3 semanas com um link para o PR, os usuários recebem um emblema?

Se essa pessoa for um membro do @team, então sim.

A consulta verifica por um “like” e/ou uma postagem com um link para %github.com/discourse/% de qualquer membro do @team.

Fazer “mais” do que isso será difícil de fazer apenas com uma consulta SQL, receio.

1 curtida

Estou apenas pensando se consigo pensar em mais alguma coisa. No geral, seria melhor se você recebesse o emblema logo após criar os relatórios, e não muito tempo depois. A data em que você recebe o emblema não se refere ao gatilho (como curtir ou responder com PR), mas sim a quando você criou o tópico. E como as notificações de emblemas não mostram o emblema real que você recebeu, mas sim uma lista ordenada por data, o novo emblema pode ser difícil de encontrar, o que dificulta saber para qual relatório você realmente ganhou o emblema no momento.
Claro, este problema não é totalmente novo, mas quanto menos curtidas forem dadas quando alguém olha um bug, com mais frequência isso ocorrerá.

Além disso, uma curtida faz você sentir que um tópico foi lido. Eu sei que você sempre diz que a equipe lê tudo, mas às vezes uma curtida pode ajudar a apoiar o sentimento de que isso realmente acontece. Tópicos sem resposta ou curtida às vezes parecem ignorados.

Um relatório que destaque periodicamente quais tópicos não receberam curtidas poderia, na minha opinião, incentivar melhor a dar curtidas e lembrar a todos de fazê-lo do que a mudança de que compartilhar um link também é suficiente. Isso provavelmente levará a ainda menos curtidas.

1 curtida