Topics created by ignored users showing on homepage

@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.

<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

Any possible implementation of that? I think it should be considered a bug. If you want to supress messages/chat from one user, you also don’t want to see their topics… right?

3 Likes

Could the topics be hidden from latest only when the last post was by the ignored user then? This way all new topics from the ignored users would be hidden, but any replies from other users would still show in latest.

This has become a real issue here on meta lately.

2 Likes

Out of curiosity, why would you want to see the replies of others rather than mute the topic completely? Wouldn’t the partial conversation be difficult to follow?

2 Likes

Are you asking me or David, because this was his argument? I wouldn’t mind it either way, but it would be best if this was configurable by each user.

As far as I’m concerned users are mostly ignored by other users based on their general “demeanour”, which is difficult to quantify exactly, but it is only partially based on the content of their posts.

Which means that the further discussion based on their ‘contributions’ can be sometimes quite useful.

What I really have an issue with is that some users only seem to find faults, and vocally so, without investing any time or effort in learning first, and then spam multiple topics at once, which then completely overwhelm latest.

Simply ignoring their last posts (and therefore not showing the topic bumped in latest when they post) would fix it. The way it’s implemented now feels broken.

1 Like

For me the topics created by muted users should always be hidden.
I am not interested in their topics, even if other non-muted people participate.

2 Likes

An extra block setting would be great, major social media all provide this function.

I remember someone here said block user means something is wrong with the forums so it’s useless and do not really fix the issue, but i think it’s just personal choice to hide someone, maybe other one like that user, just not me.

And if the user offended a lot of people, they probably already be reported.

1 Like

Indeed, the whole point of ignoring somebody is usually because they are annoying to you and/or draw you into an argument. So it really seems to defeat the purpose when they are displayed in /latest etc.

Fortunately this is available and seems to work well:

But it really feels like it should be a core Discourse feature, at least as an option, or ideally by default.

2 Likes

Sounds super cool, albeit external and requiring to be admin.
Do you know if it works when browsing from smartphone?

Yes, it does

1 Like

A post was split to a new topic: Some posts showing ‘ignored content’

This seems to have been solved with this component:

Don’t know if this could potentially be integrated as a default with new discourse installs, or as an option in settings?

Here is another related topic about this:

Seems the feature could be further refined one day, potentially with a few more options for individual users / moderators + administrators to adjust depending on the situation.

If I remember correctly the team said something like hiding ignored users’ posts is not in the road map and they thought hiding the post kinda violates the principle. That’s why discourse still has not had this badly needed function til now