Topics created by ignored users showing on homepage

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?

8 Likes

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.

6 Likes

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 Likes

@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 (:

Hi @BeBe, what workaround did you find?

I have a user for which it’s okay to see their posts in others’s topics but I would like to have their created topics hidden.

Their topics always revolve around the same (boring) subjects. :wink:

There is a CSS way to hide user posts inside topics:

But unfortunately topic lists don’t include user id of creator, so there is no such way of hiding topics created by user.

Let’s take user name abc id 123.

I had a look at the source code to see if there is a way to do with user CSS.

The topic tag is currently like:

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

Inside it, sure I could query the posters cell, but it would need JavaScript as I want to hide its parent:

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

Now, if we would have the additional attribute data-op-user-id="123", directly on the topic tr:

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

We could use simple user CSS do some great filtering on user ID for which we prefer not seeing their topics:

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

Would it be possible to have such a new data-op-user-id on topic entry tr.topic-list-item tags?

Only works in desktop mode, see bottom.


For whoever might be interested, I wrote a small userscript for community.metabrainz.org.
I first tried with MutationObserver, as advised, but it became overly complex, so I just use a dumb setInterval.

I did not make it dynamic and with user settings etc.
Each update will erase your blacklist and your @include (see later).

Because I hope a new data-op-user-id attribute will be added to topics in genuine Discourse, so I won’t need this userscript any more.

You can adapt it to any other Discourse forum by changing its @include to your URL (the only specific line).


Does not work in mobile view as (unfortunately), by design, Discourse does not show OP avatar in mobile view.

So it would still be very convenient spam-wise to have that suggested tr.topic-list-item[data-op-user-id='123'].

Now updates won’t reset my blacklist, I have added a basic blacklist editor and the list is saved locally.

But I would really love love love that Discourse would include an OP user ID in every topic <TR data-op-user-id="123"> rows, so a super simple user stylesheet would be enough to hide ignored user topics:

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

Or I would even more love love love love that Discourse would simply hide ignored user topics itself.

I don’t understand the purpose of ignored users if their topics polute my browsing.

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

Maybe try adding the username/userid property to the topic poster div by override latest-topic-list-item template then you can hide them through user stylesheet.

I also have a component to auto-hide ignored user if you would like to take a look.

I am just a Discourse user, not an admin.
I cannot install Discourse plugins on all Discourse sites I use.

I can run user scripts and user stylesheets, as on any websites, but it’s limited because of the lack of an op-user info in topic tags.
So I would like this in the genuine soft itself. :slight_smile:

I have a suggestion for a workaround which could be quite easy to implement: Posts from ignored users can be shown by clicking on “Show hidden post”, why can’t this be the case for the first post as well (aka. for a thread created by a ignored user)?

1 Like