L'utilisateur n'est pas promu au niveau TL2

J’ai un cas étrange : un utilisateur n’est pas automatiquement promu au niveau de confiance TL2. Je sais que je pourrais modifier manuellement le passage de TL1 à TL2, mais je me demande ce qui a mal tourné ici pour que Discourse omette cet utilisateur spécifique.

Discourse n’a subi aucun changement dans les exigences pour TL2.
En examinant le profil de l’utilisateur, je constate que toutes les conditions sont remplies.
L’utilisateur n’est ni banni ni mis en silence, et ne l’a jamais été ; ce compte est assez ancien et a été créé presque au début d’un forum vieux de quatre ans.
J’utilise la version 2.5.0.beta6, mais ce « bug » semble être présent depuis un certain temps.

J’ai cherché une page qui pourrait me montrer ce qui me manque peut-être, mais une telle page n’est disponible que pour TL3 (/admin/users/ID/LOGIN/tl3_requirements).

Ma question est la suivante : existe-t-il un moyen rapide de vérifier les exigences pour les autres niveaux de confiance ? Où devrais-je regarder pour identifier le problème ? Changer manuellement le niveau de confiance est vraiment un dernier recours, car cela soulèvera des questions de la part des autres utilisateurs quant à la justesse de leur niveau de confiance.

Pour vérifier si un utilisateur devrait être éligible au niveau de confiance 2 (TL2), saisissez « tl2 requires » dans la boîte de recherche de votre page de paramètres du site. Cela affichera la liste des exigences de votre site pour le niveau TL2. Vous pouvez comparer ces paramètres avec l’activité d’un utilisateur en consultant la section « Activité » de la page d’administration de cet utilisateur.

Une chose à vérifier pour les utilisateurs qui ne sont pas promus est de s’assurer que leur niveau de confiance n’a pas été verrouillé à un moment donné dans le passé. Les utilisateurs dont le niveau de confiance est verrouillé verront un bouton « Déverrouiller le niveau de confiance » dans la section « Permissions » de leur page d’administration utilisateur :

J’ai déjà fait cela. J’avais en tête une page similaire pour les exigences du niveau de confiance 3 (TL3), mais pour le TL1 et/ou le TL2, afin que, en tant qu’administrateur, je puisse vérifier plus rapidement, sans avoir à consulter les paramètres de Discourse.

Oups, j’ai oublié d’ajouter cette information, désolé. Le niveau de confiance de cet utilisateur n’est pas verrouillé et, à ma connaissance, il ne l’a jamais été dans le passé. Ce n’est donc pas le cas.

Pouvez-vous capturer vos paramètres et leur activité ?

Paramètres pour TL2 (est-ce tout ou ai-je manqué quelque chose ?)

Activité de l’utilisateur

Autorisations de l’utilisateur

Je rencontre exactement le même problème. L’utilisateur est presque éligible au niveau de confiance 3 (selon le rapport des exigences qui manque pour le niveau 2), mais n’a pas encore été promu automatiquement au niveau 2.

@Aylin, avez-vous identifié le coupable sur votre instance ?

Mon scénario est similaire au vôtre : son niveau de confiance n’est pas verrouillé et, en comparant visuellement les statistiques, toutes les exigences (qui sont les valeurs par défaut) sont remplies.

Dans mon instance, cependant, tous les utilisateurs sont créés via SSO, et j’utilise cet utilisateur comme référence pour mon analyse, car je suis certain qu’il devrait être promu automatiquement. Pourtant, ma communauté compte seulement 2 utilisateurs de niveau 2, tandis que 996 utilisateurs sont de niveau 1, ce qui me semble être une proportion très étrange.

Cela semble certainement suspect !

Si vous allez dans /logs, y a-t-il des erreurs fortement répétées ?

Merci pour votre retour aussi rapide :slight_smile:

Il n’y a qu’une seule erreur enregistrée :

Log

Message

ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error in tsquery: “‘Melhorias gerais no Compara Jogos’:*A & ‘’:*B”
)
lib/freedom_patches/fast_pluck.rb:41:in select_raw' lib/freedom_patches/fast_pluck.rb:61:in pluck’
app/models/topic.rb:621:in similar_to' app/controllers/similar_topics_controller.rb:25:in index’
app/controllers/application_controller.rb:340:in block in with_resolved_locale' app/controllers/application_controller.rb:340:in with_resolved_locale’
lib/middleware/omniauth_bypass_middleware.rb:68:in call' lib/content_security_policy/middleware.rb:12:in call’
lib/middleware/anonymous_cache.rb:336:in call' config/initializers/008-rack-cors.rb:25:in call’
config/initializers/100-quiet_logger.rb:19:in call' config/initializers/100-silence_logger.rb:31:in call’
lib/middleware/enforce_hostname.rb:22:in call' lib/middleware/request_tracker.rb:176:in call’

Backtrace

rack-mini-profiler (2.0.4) lib/patches/db/pg.rb:72:in exec_params' rack-mini-profiler (2.0.4) lib/patches/db/pg.rb:72:in exec_params’
activerecord (6.0.3.2) lib/active_record/connection_adapters/postgresql_adapter.rb:675:in block (2 levels) in exec_no_cache' activesupport (6.0.3.2) lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads’
activesupport (6.0.3.2) lib/active_support/concurrency/share_lock.rb:187:in yield_shares' activesupport (6.0.3.2) lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads’
activerecord (6.0.3.2) lib/active_record/connection_adapters/postgresql_adapter.rb:674:in block in exec_no_cache' activerecord (6.0.3.2) lib/active_record/connection_adapters/abstract_adapter.rb:722:in block (2 levels) in log’
activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in block (2 levels) in synchronize' activesupport (6.0.3.2) lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in handle_interrupt’

Env

HTTP HOSTS: forum.comparajogos.com.br

Je ne sais pas si cela peut être lié.

Ces 2 utilisateurs TL2 sont moi-même (l’administrateur) et un autre utilisateur. Cela signifie que la promotion automatique au niveau TL2 a fonctionné pour nous deux, car je n’ai jamais modifié manuellement les niveaux de confiance.

La statistique la plus basse de cet utilisateur non promu automatiquement est le nombre de réponses aux sujets, qui est de 3, ce qui correspond au nombre requis, mais sa dernière réponse a eu lieu le 18 septembre.

Ce serait formidable si Discourse disposait d’une simulation de la logique modifiant les niveaux de confiance des utilisateurs, accompagnée d’un retour d’information, afin que les utilisateurs puissent exécuter eux-mêmes l’action utilisant cette logique et voir quelles exigences ils ont satisfaites ou non (et, en cas de bug, vérifier si toutes les exigences sont remplies).

Non, et je n’ai rien trouvé d’intéressant dans les journaux, si ma mémoire est bonne. Finalement, j’ai modifié manuellement le niveau de confiance (TL) pour cet utilisateur et bloqué le TL2 afin que le forum n’essaie même pas de le remettre au TL1.

Ces comptes ont-ils été créés il y a longtemps, comme il y a quelques années, ou sont-ils récents, disons il y a un mois ?
Je soupçonne des problèmes de migration, une version antérieure de Discourse ou un site en mode bootstrap.

Quelque chose de similaire existe déjà pour le TL3.
Si ma mémoire est bonne, cela est réservé au personnel.
À mon avis, la liste de contrôle des exigences du TL1 au TL3 devrait être visible par tous les utilisateurs pour plus de transparence.
Cela signifierait moins de travail pour le personnel et moins d’utilisateurs demandant des informations sur les exigences restantes.
En général, l’auto-service s’adapte mieux à l’échelle.

Je rencontre le même problème, dans mon cas la promotion de TL0 à TL1. Je le remarque surtout avec les nouveaux utilisateurs, et je l’ai moi-même testé avec un nouveau compte.

Voici le compte de test que je viens de créer, mais la même chose s’applique à presque tous les comptes réels que j’ai vérifiés.

En lisant ce sujet : https://meta.discourse.org/t/when-does-user-trust-level-promotion-occur/29845, il semble qu’il y ait eu des problèmes de promotion automatique auparavant. Serait-ce le cas ici ?

Les paramètres sont légèrement modifiés dans mon cas et seront présentés dans le prochain message, car mon niveau de confiance ne me permet d’uploader qu’une seule image par message :grin:

–edit, car je ne peux pas publier une autre réponse :
Après avoir défini le temps de lecture minimum à 0, un nouvel utilisateur de test a bien été promu après avoir lu le nombre requis de messages. Cependant, les utilisateurs existants qui remplissent également les critères sont toujours au niveau TL0.

J’ai légèrement modifié les paramètres TL1 :

et aussi :
image