Limite de menção de usuário: esclarecer a mensagem de erro?

Olá,

Existe um recurso no Discourse que limita o número de menções de usuários em mensagens, e limita ainda mais para usuários “novos” (nível de confiança 0).

Se você não sabe o que quero dizer, aqui está a implementação no código-fonte do Discourse:

Essa é uma boa funcionalidade, mas, como acontece, tivemos alguns usuários que atingiram esse limite por engano e ficaram confusos. O fato é que eles não pretendiam mencionar um usuário. Eles apenas “esqueceram” (ou não sabiam como) formatar um trecho de código incluído em sua mensagem, e como esse trecho era código Java, ele incluía anotações, que começam com @ e são interpretadas como menções de usuário.

Um exemplo de tal código:

public class MyCode {

@NotNull
private String foo;

@NotNull
private String bar;

@NotNull
private String foobar;

}

A mensagem de erro é simplesmente esta:

Desculpe, novos usuários só podem mencionar 2 usuários em uma postagem

Você pode imaginar que um usuário que não está familiarizado com a formatação de código em markdown também pode não estar familiarizado com o que é uma menção de usuário, e mesmo que esteja familiarizado, pode não entender que o que ele quis dizer como uma anotação Java foi interpretado como uma menção de usuário.

Então… talvez a experiência do usuário dessa funcionalidade possa ser melhorada?

Poderíamos falar sobre o Discourse detectar automaticamente código-fonte e sugerir a formatação, ou destacar as partes da mensagem cuja validação falhou, mas qualquer uma dessas soluções provavelmente exigiria muito esforço.

Eu estava pensando em apenas expandir a mensagem de erro para explicar o que é uma menção de usuário e talvez dar alguns conselhos?

Então, pelo menos isto:

Desculpe, novos usuários só podem mencionar 2 usuários em uma postagem.
Menções de usuário são palavras prefixadas com `@`, por exemplo `@nomedousuario`.

E talvez até isto:

Desculpe, novos usuários só podem mencionar 2 usuários em uma postagem.
Menções de usuário são palavras prefixadas com `@`, por exemplo `@nomedousuario`.
Se sua postagem inclui código-fonte, certifique-se de cercá-lo com crases para evitar que partes do seu código sejam interpretadas como menções de usuário; veja <insira alguns links para a documentação sobre formatação de código no discourse>.

Pensamentos, opiniões? Devo enviar um pull request? Receio que só possa atualizar os locais em inglês e francês, no entanto.

Como referência, alguns exemplos de usuários confusos:

Existe um Theme component fazendo isso

2 curtidas

Obrigado! Que ótimo, eu não sabia que existia. Espero que isso evite que os usuários se encontrem nessa situação em primeiro lugar :slight_smile:

1 curtida

Se o problema persistir mesmo com o componente de tema Unformatted Code Detector, você também pode alterar o texto desta mensagem para o seu site na página /admin/customize/site_texts, bem como ajustar a própria configuração de administrador newuser max mentions per post se ela estiver causando mais problemas do que resolvendo. :slight_smile:

3 curtidas

Incrível, eu não sabia que podia personalizar qualquer texto que aparecesse no Discourse. Feito!

Então, suponho que realmente não há necessidade de um pull request :slight_smile:

1 curtida