L'utente non viene promosso a TL2

Ho questo caso strano: l’utente non viene promosso automaticamente a TL2. So che potrei modificare manualmente da TL1 a TL2, ma mi chiedo cosa sia andato storto qui, al punto che Discourse abbia omesso questo specifico utente.

Discourse non ha apportato modifiche ai requisiti per TL2.
Guardando il profilo dell’utente, vedo che tutti i requisiti sono soddisfatti.
L’utente non è stato né bloccato né silenziato, né lo è mai stato; questo account è piuttosto vecchio ed è stato creato quasi all’inizio di un forum di 4 anni.
Sto usando la versione 2.5.0.beta6, ma questo “bug” sembra essere presente da un bel po’ di tempo.

Stavo cercando una pagina che mi mostrasse se forse mi stavo perdendo qualcosa, ma una pagina del genere è disponibile solo per TL3 (/admin/users/ID/LOGIN/tl3_requirements).

La mia domanda è: esiste un modo rapido per verificare i requisiti per gli altri livelli di fiducia? Dove dovrei guardare per capire cosa non va? Cambiare manualmente il livello di fiducia è davvero un’ultima risorsa, perché solleverebbe domande da parte di altri utenti sul fatto che il loro livello di fiducia sia corretto.

Per verificare se un utente dovrebbe qualificarsi per il livello di fiducia 2 (TL2), inserisci ‘tl2 requires’ nella casella di ricerca nella pagina delle impostazioni del tuo sito. Questo ti mostrerà un elenco dei requisiti TL2 del tuo sito. Puoi confrontare queste impostazioni con l’attività di un utente consultando la sezione “Attività” nella pagina di amministrazione dell’utente.

Una cosa da verificare per gli utenti che non vengono promossi è assicurarsi che il loro livello di fiducia non sia stato bloccato in passato. Gli utenti con un livello di fiducia bloccato avranno un pulsante “Sblocca livello di fiducia” nella sezione “Autorizzazioni” della loro pagina di amministrazione utente:

L’ho già fatto. Avevo in mente una pagina simile per i requisiti TL3, ma anche per TL1 e/o TL2, così da poter verificare più velocemente come amministratore, senza dover ricorrere alle impostazioni di Discourse.

Accidenti, ho dimenticato di aggiungere questa informazione, scusa. Il TL di questo utente non è bloccato e, per quanto ricordo, non lo è mai stato in passato. Quindi non è questo il caso.

Puoi fare uno screenshot delle tue impostazioni e della loro attività?

Impostazioni per TL2 (è tutto o mi sono perso qualcosa?)

Attività dell’utente

Permessi dell’utente

Sto riscontrando esattamente lo stesso problema. L’utente è quasi idoneo per TL3 (secondo il rapporto sui requisiti che manca per TL2), ma non è stato ancora promosso automaticamente a TL2.

@Aylin hai individuato la causa sul tuo istanza?

Il mio scenario è simile al tuo: il suo livello di fiducia non è bloccato e, confrontando visivamente le statistiche, tutti i requisiti (che sono quelli predefiniti) sono soddisfatti.

Nel mio caso, tuttavia, tutti gli utenti vengono creati tramite SSO e sto usando questo utente come riferimento per la mia analisi, poiché sono certo che dovrebbe essere promosso automaticamente. Tuttavia, la mia comunità ha solo 2 utenti TL2, mentre 996 sono TL1, una proporzione che trovo molto strana.

Questo certamente sembra sospetto!

Se vai su /logs, ci sono errori altamente ripetuti?

Grazie per aver risposto così velocemente :slight_smile:

C’è solo un errore registrato:

Log

Messaggio

ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: sintassi errata nella 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’

Ambiente

HTTP HOSTS: forum.comparajogos.com.br

Non so se questo possa essere correlato.

Questi 2 utenti TL2 sono io - l’amministratore - e un altro utente. Ciò significa che la promozione automatica a TL2 ha funzionato per entrambi, dato che non ho mai modificato manualmente i livelli di fiducia.

La statistica più bassa di questo utente non promosso automaticamente è il numero di risposte ai topic pari a 3, che è il conteggio richiesto, ma l’ultima sua risposta è avvenuta il 18 settembre.

Sarebbe fantastico se Discourse offrisse una sorta di simulazione a secco della logica che modifica i livelli di fiducia degli utenti, accompagnata da qualche tipo di feedback, in modo che gli utenti potessero eseguire autonomamente l’azione che utilizza tale logica e vedere quali requisiti hanno soddisfatto o meno (e, in caso di bug, verificare se tutti i requisiti sono stati effettivamente soddisfatti).

No, e se ricordo bene non ho trovato nulla di interessante nei log. Alla fine ho modificato manualmente il livello di fiducia (TL) per quell’utente specifico e ho bloccato il TL2 in modo che il forum non provasse nemmeno a riportarlo al TL1.

Quei account sono stati creati molto tempo fa, cioè alcuni anni fa, o sono recenti, diciamo di un mese fa?
Sospetto che ci siano problemi di migrazione, una versione iniziale di Discourse o un sito in modalità bootstrap.

Una funzionalità simile è già presente per TL3.
Se ricordo correttamente, è disponibile solo per lo staff.
A mio parere, la lista di controllo dei requisiti per TL1-TL3 dovrebbe essere visibile a tutti gli utenti per garantire trasparenza.
Ciò significherebbe meno lavoro per lo staff e meno utenti che chiedono informazioni sui requisiti rimanenti.
In generale, l’autoservizio scala meglio.

Anch’io ho lo stesso problema, nel mio caso il passaggio da TL0 a TL1. Lo noto soprattutto con i nuovi utenti, e l’ho testato anche io con un account appena creato.

Questo è l’account di test che ho appena creato, ma la stessa situazione vale per quasi tutti gli account reali che ho controllato.

Leggendo questo post: https://meta.discourse.org/t/when-does-user-trust-level-promotion-occur/29845 sembra che in passato ci siano stati problemi con la promozione automatica. Potrebbe essere il caso anche qui?

Le impostazioni sono leggermente modificate nel mio caso e le riporterò nel prossimo messaggio, perché il mio livello di fiducia mi permette di caricare solo un’immagine per post :grin:

– modifica, dato che non posso pubblicare un’altra risposta:
Dopo aver impostato il tempo minimo di lettura a 0, un nuovo utente di test è stato promosso dopo aver letto il numero richiesto di post. Tuttavia, gli utenti esistenti che soddisfano anch’essi i criteri sono ancora a TL0.

Ho modificato leggermente le impostazioni di TL1:

e anche:
immagine