Ciao, scusa se sto facendo qualcosa di sbagliato o se ho scelto la categoria sbagliata: è il mio primo post. Sono un moderatore su un sito che utilizza questo software e ho notato che quando seleziono ‘ignorare’ un utente, i suoi post continuano a comparire nel mio feed, ad esempio nella homepage. Quando ci faccio clic, il contenuto effettivo viene mostrato come ‘Contenuto ignorato’. Si potrebbe risolvere il problema in modo che gli utenti ignorati vengano completamente esclusi dal feed delle persone?
Sono abbastanza sicuro che al momento sia previsto dal design, @david può confermare.
Immagino che dovremmo modificarlo in modo che i topic degli utenti ignorati vengano omessi dall’elenco degli ultimi.
Sì, è corretto: al momento, silenziare un utente nasconde solo il contenuto dei post, non interi argomenti.
Potremmo forse estendere l’effetto anche agli argomenti creati dall’utente silenziato, ma questo significherebbe perdere tutte le risposte degli altri utenti (non silenziati) nel frattempo…
@sam @david Ho appena letto questo post e mi è venuto in mente qualcosa.
Si potrebbero scaricare/estrarre i post degli utenti silenziati/ignorati da un thread e inserirli in una categoria in stile TL3, sotto un flag TLX specifico visibile solo agli utenti bloccati/ignorati.
Recentemente ho raggiunto il livello TL3 come utente e vedere questa categoria invisibile che usiamo raramente è unico, quindi riutilizzarla come una sorta di Sala di Timeout/Raffreddamento potrebbe funzionare.
È solo un’idea, naturalmente.
Ehi, hai avuto modo di pensarci ancora? È ancora un problema sul nostro sito
Al momento non è previsto.
Ok! Alla fine sono riuscito a trovare un modo per aggirare il problema (![]()
Ciao @BeBe, quale soluzione alternativa hai trovato?
Ho un utente per il quale va bene vedere i suoi post in altri argomenti, ma vorrei che i suoi argomenti creati fossero nascosti.
I suoi argomenti ruotano sempre attorno agli stessi (noiosi) argomenti. ![]()
Esiste un modo CSS per nascondere i post dell’utente all’interno degli argomenti:
Ma sfortunatamente gli elenchi degli argomenti non includono l’ID dell’utente creatore, quindi non c’è modo di nascondere gli argomenti creati dall’utente.
Prendiamo il nome utente abc ID 123.
Ho dato un’occhiata al codice sorgente per vedere se c’era un modo per farlo con il CSS dell’utente.
Il tag dell’argomento è attualmente così:
<tr> data-topic-id="123" id="ember123" class="topic-list-item … ember-view">
All’interno, certo, potrei interrogare la cella dei poster, ma richiederebbe JavaScript poiché voglio nascondere il suo genitore:
tr > td.posters > a:first-child[data-user-card='abc']
Ora, se avessimo l’attributo aggiuntivo data-op-user-id="123", direttamente sul tr dell’argomento:
<tr> data-topic-id="123" id="ember123" data-op-user-id="123" class="topic-list-item … ember-view">
Potremmo usare un semplice CSS utente per filtrare in modo efficace per ID utente per i quali preferiamo non vedere i loro argomenti:
tr.topic-list-item[data-op-user-id='123']
Sarebbe possibile avere un nuovo data-op-user-id sui tag tr.topic-list-item delle voci degli argomenti?
Funziona solo in modalità desktop, vedi sotto.
Per chiunque fosse interessato, ho scritto un piccolo userscript per community.metabrainz.org.
Ho prima provato con MutationObserver, come consigliato, ma è diventato eccessivamente complesso, quindi ho usato solo un semplice setInterval.
Non l’ho reso dinamico e con impostazioni utente, ecc.
Ogni aggiornamento cancellerà la tua blacklist e il tuo @include (vedi più avanti).
Poiché spero che un nuovo attributo data-op-user-id venga aggiunto agli argomenti in Discourse originale, non avrò più bisogno di questo userscript.
Puoi adattarlo a qualsiasi altro forum Discourse modificando il suo @include con il tuo URL (l’unica riga specifica).
Non funziona nella visualizzazione mobile poiché (purtroppo), per progettazione, Discourse non mostra l’avatar dell’OP nella visualizzazione mobile.
Quindi sarebbe comunque molto conveniente per lo spam avere quel suggerito tr.topic-list-item[data-op-user-id='123'].
Ora gli aggiornamenti non reimposteranno la mia blacklist, ho aggiunto un editor di blacklist di base e la lista viene salvata localmente.
Ma mi piacerebbe davvero molto che Discourse includesse un ID utente OP in ogni riga <tr> data-op-user-id="123" degli argomenti, in modo che un semplicissimo foglio di stile utente sarebbe sufficiente per nascondere gli argomenti degli utenti ignorati:
tr.topic-list-item[data-op-user-id='123'] { display: none; }
O mi piacerebbe ancora di più che Discourse nascondesse semplicemente da solo gli argomenti degli utenti ignorati.
Non capisco lo scopo degli utenti ignorati se i loro argomenti inquinano la mia navigazione.
<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
<div class="topic-poster" data-user-card="{{topic.creator.username}}">
Forse prova ad aggiungere la proprietà username/userid al div del poster dell’argomento sovrascrivendo il template latest-topic-list-item quindi puoi nasconderli tramite il foglio di stile dell’utente.
Ho anche un componente per nascondere automaticamente gli utenti ignorati se desideri dare un’occhiata.
Sono solo un utente di Discourse, non un amministratore.
Non posso installare plugin di Discourse su tutti i siti Discourse che utilizzo.
Posso eseguire script utente e fogli di stile utente, come su qualsiasi sito web, ma è limitato a causa della mancanza di informazioni op-user nei tag degli argomenti.
Quindi vorrei questo nel software originale. ![]()
Ho un suggerimento per una soluzione alternativa che potrebbe essere piuttosto facile da implementare: i post degli utenti ignorati possono essere visualizzati facendo clic su “Mostra post nascosto”, perché non può essere lo stesso anche per il primo post (ovvero, per un thread creato da un utente ignorato)?
C’è qualche possibile implementazione? Penso che dovrebbe essere considerato un bug. Se vuoi sopprimere messaggi/chat da un utente, non vuoi nemmeno vedere i loro argomenti… giusto?
Gli argomenti potrebbero essere nascosti dall’elenco “ultimi” solo quando l’ ultimo post è stato dell’utente ignorato? In questo modo, tutti i nuovi argomenti degli utenti ignorati verrebbero nascosti, ma le risposte di altri utenti continuerebbero a essere visualizzate nell’elenco “ultimi”.
Questo è diventato un vero problema qui su meta ultimamente.
Per curiosità, perché vorresti vedere le risposte degli altri piuttosto che silenziare completamente l’argomento? La conversazione parziale non sarebbe difficile da seguire?
Stai chiedendo a me o a David, perché questo era il suo argomento? Non mi dispiacerebbe in un modo o nell’altro, ma sarebbe meglio se fosse configurabile da ciascun utente.
Per quanto mi riguarda, gli utenti vengono per lo più ignorati da altri utenti in base al loro “atteggiamento” generale, che è difficile da quantificare esattamente, ma si basa solo parzialmente sul contenuto dei loro post.
Ciò significa che ulteriori discussioni basate sui loro ‘contributi’ possono essere a volte piuttosto utili.
Quello che mi dà veramente fastidio è che alcuni utenti sembrano solo trovare difetti, e lo fanno ad alta voce, senza investire tempo o sforzi per imparare prima, e poi spammare più argomenti contemporaneamente, il che poi travolge completamente gli ultimi.
Semplicemente ignorare i loro ultimi post (e quindi non mostrare l’argomento aggiornato negli ultimi quando postano) risolverebbe il problema. Il modo in cui è implementato ora sembra rotto.
Per me, gli argomenti creati dagli utenti con l’audio disattivato dovrebbero essere sempre nascosti.
Non mi interessano i loro argomenti, anche se partecipano altre persone non con l’audio disattivato.
Sarebbe fantastico un’impostazione aggiuntiva per il blocco, tutti i principali social media forniscono questa funzione.
Ricordo che qualcuno qui ha detto che bloccare un utente significa che c’è qualcosa che non va nei forum, quindi è inutile e non risolve davvero il problema, ma penso che sia solo una scelta personale nascondere qualcuno, magari ad altri piace quell’utente, a me no.
E se l’utente ha offeso molte persone, probabilmente è già stato segnalato.
Infatti, il senso di ignorare qualcuno è di solito perché ti infastidisce e/o ti trascina in una discussione. Quindi sembra davvero vanificare lo scopo quando vengono visualizzati in /latest ecc.
Fortunatamente questo è disponibile e sembra funzionare bene:
Ma sembra davvero che dovrebbe essere una funzionalità principale di Discourse, almeno come opzione, o idealmente per impostazione predefinita.
Sembra molto interessante, sebbene esterno e richieda i permessi di amministratore.
Sai se funziona navigando da smartphone?
Sì, lo fa