Usuário não foi promovido a TL2

Tenho um caso estranho: o usuário não está sendo promovido automaticamente ao TL2. Sei que poderia alterar manualmente de TL1 para TL2, mas estou me perguntando o que deu errado aqui, já que esse usuário específico foi ignorado pelo Discourse.

O Discourse não tem nenhuma alteração nos requisitos do TL2.
Ao analisar o perfil do usuário, vejo que todos os requisitos estão atendidos.
O usuário não está bloqueado nem silenciado, nem nunca esteve; essa conta é bastante antiga e foi criada quase no início de um fórum com 4 anos de existência.
Estou usando a versão 2.5.0.beta6, mas esse “bug” parece estar presente há algum tempo.

Estava procurando alguma página que mostrasse que talvez eu esteja deixando passar algo, mas tal página só está disponível para o TL3 (/admin/users/ID/LOGIN/tl3_requirements).

Minha pergunta é: existe uma maneira rápida de verificar os requisitos para outros níveis de confiança? Onde devo procurar para verificar o que está errado? Alterar o TL manualmente é, sinceramente, um último recurso, pois isso levantará questionamentos de outros usuários sobre se o nível de confiança deles está correto.

Para verificar se um usuário deve se qualificar para o Nível de Confiança 2 (TL2), digite ‘tl2 requires’ na caixa de pesquisa da página de configurações do seu site. Isso mostrará uma lista dos requisitos do TL2 do seu site. Você pode comparar essas configurações com a atividade de um usuário, consultando a seção “Atividade” da página de administração do usuário.

Uma coisa a verificar para usuários que não estão sendo promovidos é garantir que o nível de confiança deles não tenha sido bloqueado em algum momento no passado. Usuários com nível de confiança bloqueado terão um botão “Desbloquear nível de confiança” na seção “Permissões” da página de administração do usuário:

Já fiz isso. Tive em mente uma página semelhante para os requisitos de TL3, mas para TL1 e/ou TL2, para que, como administrador, eu pudesse verificar mais rapidamente, sem precisar acessar as configurações do Discourse.

Puxa, esqueci de adicionar essa informação, minha culpa. O nível de confiança deste usuário não está bloqueado e, pelo que me lembro, nunca foi bloqueado no passado. Então, não é esse o caso.

Você pode tirar uma captura de tela das suas configurações e da atividade delas?

Configurações para TL2 (é isso tudo ou eu perdi algo?)

Atividade do usuário

Permissões do usuário

Estou enfrentando exatamente o mesmo problema. O usuário está quase elegível para o TL3 (conforme o relatório de requisitos que está faltando para o TL2), mas ainda não foi promovido automaticamente para o TL2.

@Aylin, você encontrou o culpado na sua instância?

Meu cenário é semelhante ao seu: o nível de confiança dele não está bloqueado e, ao comparar visualmente as estatísticas, todos os requisitos (que são os padrões) estão atendidos.

Na minha instância, no entanto, todos os usuários são criados via SSO, e estou usando este usuário como referência para minha análise — pois tenho certeza de que ele deveria ser promovido automaticamente —, mas minha comunidade tem apenas 2 usuários no TL2, enquanto 996 estão no TL1, o que me parece uma proporção muito estranha.

Isso certamente parece suspeito!

Se você for para /logs, há algum erro altamente repetido?

Thanks for getting back so quickly :slight_smile:

There’s only one logged error:

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

I don’t know if this can be related.

These 2 TL2 users are me - the admin - and another user. That means TL2 auto-promotion worked for both of us, as I never manually changed trust levels.

The lowest stat that this non auto-promoted user has is the topic reply count as 3, which is the required count, but his last reply happened on September 18.

Seria ótimo se o Discourse tivesse algo como uma simulação da lógica que altera os níveis de confiança dos usuários, com algum tipo de feedback, para que os usuários pudessem executar a ação que usa essa lógica para si mesmos e ver quais requisitos eles atenderam ou não (e, se houver algum tipo de bug, se todos os requisitos foram atendidos).

Não, e se me lembro bem, não encontrei nada interessante nos logs. No final, mudei manualmente o TL para aquele usuário específico e bloqueei o TL2 para que o fórum nem tentasse alterá-lo de volta para o TL1.

Essas contas foram criadas há muito tempo, como alguns anos atrás, ou são recentes, digamos, há um mês?
Estou suspeitando de alguns problemas de migração, versão antiga do Discourse ou site em modo de bootstrap.

Algo semelhante já está presente para o TL3.
Se minha memória não falha, está disponível apenas para a equipe.
Na minha opinião, a lista de verificação de requisitos do TL1 ao TL3 deveria ser visível para todos os usuários para garantir transparência.
Isso significaria menos trabalho para a equipe e menos usuários perguntando sobre os requisitos restantes.
Geralmente, o autoatendimento escala melhor.

Estou enfrentando o mesmo problema, no meu caso, a promoção de TL0 para TL1. Percebo isso principalmente com novos usuários, e também testei eu mesmo com uma conta nova.

Essa é a conta de teste que acabei de criar, mas o mesmo vale para praticamente todas as contas reais que verifiquei.

Lendo esta postagem: https://meta.discourse.org/t/when-does-user-trust-level-promotion-occur/29845 parece que já houve problemas com promoção automática antes. Será que pode ser o caso aqui?

As configurações estão ligeiramente modificadas no meu caso e serão mostradas na próxima postagem, pois meu nível de confiança permite que eu envie apenas uma imagem por postagem :grin:

–edição, porque não posso postar outra resposta:
Depois de definir o tempo mínimo de leitura como 0, um novo usuário de teste foi promovido após ler o número necessário de postagens. No entanto, usuários existentes que também atendem aos critérios ainda estão no TL0.

Fiz uma leve modificação nas configurações do TL1:

e também:
image