Limite de mention d'utilisateur : clarifier le message d'erreur ?

Bonjour,

Il existe une fonctionnalité dans Discourse qui limite le nombre de mentions d’utilisateurs dans les messages, et la limite est encore plus stricte pour les utilisateurs « nouveaux » (niveau de confiance 0).

Si vous ne savez pas de quoi je parle, voici l’implémentation dans le code source de Discourse :

C’est une fonctionnalité intéressante, mais il est arrivé que quelques utilisateurs dépassent cette limite par erreur et soient confus. Le fait est qu’ils n’avaient pas l’intention de mentionner un utilisateur. Ils ont juste « oublié » (ou ne savaient pas comment) formater un extrait de code inclus dans leur message, et cet extrait étant du code Java, il incluait des annotations, qui commencent par @ et sont interprétées comme des mentions d’utilisateurs.

Un exemple de tel code :

public class MyCode {

@NotNull
private String foo;

@NotNull
private String bar;

@NotNull
private String foobar;

}

Le message d’erreur est simplement celui-ci :

Désolé, les nouveaux utilisateurs ne peuvent mentionner que 2 utilisateurs dans un message

Vous pouvez imaginer qu’un utilisateur peu familier avec la façon de formater du code en markdown peut également ne pas savoir ce qu’est une mention d’utilisateur, et même s’il la connaît, il peut ne pas comprendre que ce qu’il voulait dire comme annotation Java a été interprété comme une mention d’utilisateur.

Alors… peut-être que l’expérience utilisateur de cette fonctionnalité pourrait être améliorée ?

On pourrait envisager que Discourse détecte automatiquement le code source et propose de le formater, ou mette en évidence les parties du message dont la validation a échoué, mais chacune de ces solutions nécessiterait probablement beaucoup d’efforts.

Je pensais simplement élargir le message d’erreur pour expliquer ce qu’est une mention d’utilisateur, et peut-être donner quelques conseils ?

Donc, au moins ceci :

Désolé, les nouveaux utilisateurs ne peuvent mentionner que 2 utilisateurs dans un message.
Les mentions d'utilisateurs sont des mots précédés de `@`, par exemple `@johnsmith`.

Et peut-être même ceci :

Désolé, les nouveaux utilisateurs ne peuvent mentionner que 2 utilisateurs dans un message.
Les mentions d'utilisateurs sont des mots précédés de `@`, par exemple `@johnsmith`.
Si votre message inclut du code source, assurez-vous de l'entourer de backticks pour éviter que des parties de votre code ne soient interprétées comme des mentions d'utilisateurs ; voir <insérer des liens vers la documentation sur le formatage du code sur Discourse>.

Des réflexions, des opinions ? Devrais-je envoyer une pull request ? Je crains de ne pouvoir mettre à jour que les locales anglaise et française, cependant.

Pour référence, voici quelques exemples d’utilisateurs confus :

Il existe un Theme component qui fait cela

2 « J'aime »

Merci ! C’est super, je ne savais pas que ça existait. J’espère que cela empêchera les utilisateurs de se retrouver dans cette situation en premier lieu :slight_smile:

1 « J'aime »

S’il s’agit toujours d’un problème, même avec le composant de thème Unformatted Code Detector, vous pouvez également modifier le texte de ce message pour votre site depuis la page /admin/customize/site_texts, tout en ajustant le paramètre d’administration newuser max mentions per post lui-même s’il cause plus de problèmes qu’il n’en résout. :slight_smile:

3 « J'aime »

Génial, j’ignorais que je pouvais personnaliser n’importe quel texte apparaissant dans Discourse. C’est fait !

Alors, je suppose qu’il n’y a vraiment pas besoin de pull request :slight_smile:

1 « J'aime »