Tópicos criados por usuários ignorados aparecendo na página inicial

Hi, apologies if I’m doing this wrong or if it’s in the wrong category - first post. I am a moderator on a site that uses this software and I have noticed that when I select ‘ignore’ a user, their posts still show up in my feed, i.e. on the homepage. When I click on it the actual content shows as 'Ignored content. Could this be fixed so that ignored users are completely filtered out of people’s feed?

10 curtidas

I am pretty sure this is by design at the moment, @david can confirm.

I guess we should change it so ignored users topics are omitted from latest.

7 curtidas

Yeah that’s right - at the moment muting users only hides post content, it won’t hide whole topics.

I guess we could make it apply to topics which the muted user creates, but it means you would miss all the replies from “non muted” users along the way…

8 curtidas

@sam @david Just reading through this post just made me think of something.

Could the muted/ignored users posts be dumped/extracted from a thread and placed into a type of TL3 style Catagory under a specific TLX flag that only users that are Blocked/Ignored can see.

I Recently Got Up To TL3 as a user and seeing this invisible category that we hardly use is uniques so repurposing this as a type of
Timeout/Cooling Of Room may
work.

Just an Idea Mind You.

Heya, were you able to think any more about this? It is still an issue on our site

This is not planned at the moment.

Ok! I managed to find a way around it in the end (:

Olá @BeBe, que solução alternativa você encontrou?

Tenho um usuário para o qual tudo bem ver suas postagens em outros tópicos, mas eu gostaria de ocultar os tópicos criados por ele.

Seus tópicos sempre giram em torno dos mesmos assuntos (chatos). :wink:

Existe uma maneira via CSS de ocultar postagens de usuários dentro de tópicos:

Mas, infelizmente, as listas de tópicos não incluem o ID do usuário criador, então não há como ocultar os tópicos criados por um usuário.

Vamos pegar o nome de usuário abc e ID 123.

Eu dei uma olhada no código-fonte para ver se havia uma maneira de fazer isso com CSS do usuário.

A tag do tópico está atualmente assim:

<tr data-topic-id="123" id="ember123" class="topic-list-item … ember-view">

Dentro dela, com certeza eu poderia consultar a célula dos pôsteres, mas isso exigiria JavaScript, pois eu quero ocultar seu pai:

tr > td.posters > a:first-child[data-user-card='abc']

Agora, se tivéssemos o atributo adicional data-op-user-id="123", diretamente no tr do tópico:

<tr data-topic-id="123" id="ember123" data-op-user-id="123" class="topic-list-item … ember-view">

Poderíamos usar CSS simples do usuário para fazer uma ótima filtragem por ID de usuário, para quem preferimos não ver seus tópicos:

tr.topic-list-item[data-op-user-id='123']

Seria possível ter um novo data-op-user-id nas tags tr.topic-list-item de entrada do tópico?

Só funciona no modo desktop, veja abaixo.


Para quem possa se interessar, escrevi um pequeno userscript para community.metabrainz.org.
Primeiro tentei com MutationObserver, como aconselhado, mas ficou excessivamente complexo, então usei apenas um setInterval simples.

Não o tornei dinâmico e com configurações de usuário, etc.
Cada atualização apagará sua lista negra e seu @include (veja mais tarde).

Porque espero que um novo atributo data-op-user-id seja adicionado aos tópicos no Discourse genuíno, então não precisarei mais deste userscript.

Você pode adaptá-lo a qualquer outro fórum Discourse, alterando seu @include para sua URL (a única linha específica).


Não funciona na visualização móvel, pois (infelizmente), por design, o Discourse não mostra o avatar do OP na visualização móvel.

Portanto, ainda seria muito conveniente em termos de spam ter isso sugerido tr.topic-list-item[data-op-user-id='123'].

Agora as atualizações não redefinirão minha lista negra, adicionei um editor básico de lista negra e a lista é salva localmente.

Mas eu realmente adoraria, adoraria, adoraria que o Discourse incluísse um ID de usuário OP em todas as linhas de tópico <TR data-op-user-id="123">, para que uma folha de estilo de usuário super simples fosse suficiente para ocultar os tópicos de usuários ignorados:

tr.topic-list-item[data-op-user-id='123'] { display: none; }

Ou eu adoraria, adoraria, adoraria ainda mais que o Discourse simplesmente ocultasse os tópicos de usuários ignorados por conta própria.

Eu não entendo o propósito de usuários ignorados se seus tópicos poluem minha navegação.


<script type="text/x-handlebars" data-template-name="components/latest-topic-list-item">
<div class="topic-poster" data-user-card="{{topic.creator.username}}">

Talvez tente adicionar a propriedade username/userid ao div do poster do tópico substituindo o template latest-topic-list-item e então você poderá ocultá-los através da folha de estilos do usuário.

Eu também tenho um componente para ocultar automaticamente usuários ignorados, se você quiser dar uma olhada.

Sou apenas um usuário do Discourse, não um administrador.
Não posso instalar plugins do Discourse em todos os sites do Discourse que uso.

Posso executar scripts de usuário e folhas de estilo de usuário, como em qualquer site, mas é limitado devido à falta de informações de op-usuário nas tags de tópico.
Então eu gostaria disso no próprio software. :slight_smile:

Tenho uma sugestão de solução alternativa que pode ser bastante fácil de implementar: Posts de usuários ignorados podem ser exibidos clicando em “Mostrar post oculto”, por que não pode ser o mesmo para o primeiro post (ou seja, para um tópico criado por um usuário ignorado)?

1 curtida

Alguma implementação possível disso? Acho que deveria ser considerado um bug. Se você quiser suprimir mensagens/chat de um usuário, você também não quer ver os tópicos dele… certo?

3 curtidas

Os tópicos poderiam ser ocultados do “mais recente” apenas quando a última postagem foi feita pelo usuário ignorado? Dessa forma, todos os novos tópicos de usuários ignorados seriam ocultados, mas quaisquer respostas de outros usuários ainda apareceriam no “mais recente”.

Isso se tornou um problema real aqui no meta ultimamente.

2 curtidas

Por curiosidade, por que você gostaria de ver as respostas de outras pessoas em vez de silenciar o tópico completamente? A conversa parcial não seria difícil de acompanhar?

2 curtidas

Você está perguntando para mim ou para o David, porque este foi o argumento dele? Eu não me importaria de qualquer maneira, mas seria melhor se isso fosse configurável por cada usuário.

Pelo que me diz respeito, os usuários são em grande parte ignorados por outros usuários com base em seu “comportamento” geral, que é difícil de quantificar exatamente, mas é apenas parcialmente baseado no conteúdo de suas postagens.

O que significa que a discussão posterior baseada em suas ‘contribuições’ pode ser às vezes bastante útil.

O que realmente me incomoda é que alguns usuários parecem apenas encontrar falhas, e vocalmente, sem investir tempo ou esforço para aprender primeiro, e depois enviam spam para vários tópicos ao mesmo tempo, o que sobrecarrega completamente o “latest”.

Simplesmente ignorar suas últimas postagens (e, portanto, não mostrar o tópico sendo atualizado no “latest” quando eles postam) resolveria isso. A forma como está implementado agora parece quebrada.

1 curtida

Para mim, os tópicos criados por usuários silenciados deveriam ser sempre ocultados.
Não tenho interesse nos tópicos deles, mesmo que outras pessoas não silenciadas participem.

2 curtidas

Uma configuração extra de bloqueio seria ótima, todas as principais redes sociais oferecem essa função.

Lembro-me de alguém aqui dizer que bloquear um usuário significa que algo está errado com os fóruns, então é inútil e não resolve o problema, mas acho que é apenas uma escolha pessoal para ocultar alguém, talvez outra pessoa goste desse usuário, mas eu não.

E se o usuário ofendeu muitas pessoas, elas provavelmente já foram denunciadas.

1 curtida

De fato, o objetivo de ignorar alguém geralmente é porque essa pessoa é irritante para você e/ou te envolve em discussões. Portanto, parece realmente anular o propósito quando elas são exibidas em /latest etc.

Felizmente, isso está disponível e parece funcionar bem:

Mas realmente parece que deveria ser um recurso principal do Discourse, pelo menos como uma opção, ou idealmente por padrão.

2 curtidas

Parece super legal, embora externo e exija ser administrador.
Você sabe se funciona ao navegar pelo smartphone?

Sim, faz

1 curtida