The persistence of posts hidden by flags are a bane to our community

AI-generated summary

The discussion revolves around the persistence of posts hidden by community flags in Discourse, which are seen as problematic due to their visibility and impact on thread readability. Users like Drew_Warwick highlight that hidden posts remain large and clutter topics, even when marked as hidden, and suggest collapsing them or auto-deleting them after a short period. While a site setting exists to auto-delete hidden posts after 30 days, users like Drew_Warwick want this timeframe reduced. codinghorror notes that hiding is temporary and meant to be a protective measure, not a permanent removal. The community expresses frustration over users continuing to quote and reply to hidden posts, leading to derailments, with John_Lehmann and orenwolf advocating for deletion instead of hiding. Stranik suggests using CSS to hide hidden posts from regular users, but rahim123 finds side effects and proposes a better CSS solution. Sam and rahim123 suggest making hidden posts invisible to non-moderators and non-flaggers. mcwumbly outlines a plan to hide hidden posts from regular users, allowing only the author, staff, and TL4 users to view them. ted confirms this change has been implemented, but FINDarkside and MentalNomad express concern, as their communities rely on the visibility of flagged posts for discussion and transparency. twofoursixeight agrees that a toggle for this behavior would be useful. Alexander_Wright notes that some communities view the removal of visibility as censorship. Lhc_fl proposes a site setting to control who can view hidden posts, and darkpixlz reiterates the desire for a “show ignored content” button. Lhc_fl announces a pull request to add a setting to customize who can view hidden posts, which would allow administrators to control visibility based on user trust levels or groups.

Community moderation is great – if enough people flag a post to hide it, moderators don’t need to get involved. What’s better is that the user who made the post is given an opportunity to improve the post so that it abides by the rules. But what if the user opts not to improve the post, and just lets it sit? The post remains “hidden” for all eternity.

In this perpetual state of being hidden, the post continues to waste a bunch of space on the thread, as it is as large as a normal post:

this is awful, as if the community flags a bunch of spam posts or some argument on a thread, even after the posts are hidden, the topic is still clogged by them.

To resolve this:

  • Hidden posts should collapse into something similar to what the moderators see for deleted posts: “click to view x deleted posts”. This is super small and does not detract from topic readability. If the user edits their post to improve it, it will be moved out of this section and back into the thread.
  • Posts that remain hidden for long enough without action (24 hours?) should be automatically deleted so that users can’t go prowling through another’s posts and find all the bad stuff they posted in the past
2 Likes

There is aready a site setting for this

delete old hidden posts

Auto-delete any hidden posts that stay hidden for more than 30 days.

Make sure that’s checked.

2 Likes

We do have it enabled, but a full month is so long that we thought they were never deleted. Can this be changed so that site admins can configure the amount of days? We would want to set this to 1-2 days.

2 Likes

We don’t generally prioritize these kinds of site specific requests unless you’re a customer. Did you want to move back to our hosting?

So these posts show up in the moderation queue, right? Can’t you delete them from there?

We delete the majority of flagged posts because we’ve found that users will still quote and reply to them otherwise.

5 Likes

Wow even after they are hidden, people will quote and reply to the hidden post?

2 Likes

I’ve seen users dig up old post revisions to respond to. If they can do it, they will.

4 Likes

Absolutely. And surprisingly often!

When someone is wrong on the internet, and someone has a chance to respond, it seems some folks just can’t resist the urge.

11 Likes

A css tag (post-hidden) is added to the hidden post, and this can be used. You can change the design of this post at your discretion. For example, remove the avatar, make the font smaller, change the indentation. Huge selection.

.post-hidden .topic-avatar {
    display: none !important;
}

For example, so:

Maybe this will help to solve the problem of"space saving".

7 Likes

Yes, we’re having the same problem. My moderators were all confused about how this was happening, and then I discovered using incognito that “hidden” doesn’t really mean hidden in the removed sense, as we would have thought, it just means collapsed.

And the problem was discovered because we had several user replying to the original hidden post debating about whether it should have been hidden. This led to a total of 7 hidden posts in a row.

My takeaway is that if our mods want to actually remove a post their action needs to be to delete not hide it.

4 Likes

Precisely this. We long ago moved to deleting posts (and replies) that are moderated, because otherwise those hidden posts are invariably a new derail on the topic otherwise.

4 Likes

In the context of flagging, mods can’t hide posts, as far as I know. Hiding happens automatically as a protective measure when a post meets a community flag threshold.

The mods at that point are notified and can take action as they deem fit, which includes deleting the flagged post.

My point is that hiding is a) automatic and b) meant to be a temporary state.

2 Likes

If that’s true, why does ”Agree”-ing with flags not delete the post? It should move the post from the temporary status?

1 Like

Agree means “yes, I agree the community was correct to hide this post”.

It’s not a foregone conclusion that every flagged post is so bad it has to be deleted. Sometimes (as long as it’s not too toxic of course) leaving hints in the conversation about the kind of content you frown upon is a way of educating future readers.

6 Likes

I also agree with other users here that hidden posts should be completely hidden from normal viewers. Users get fixated on a lively argument, or if a post has inappropriate content even more so, and they’ll take advantage of any UI that is offered to view it. Try putting a physical big red button with a “Do not push!” sign in a public space and it will probably get more pushes than if you change the sign to “Please push me”.

Thanks for this very helpful tidbit. I took it a step further to completely hide the entire hidden post for normal viewers while making it still visible in a faded color for staff. But I’m not very good at CSS, will this have any unintended consequences that haven’t occurred to me?

body:not(.staff) {
    .post-hidden  {
        display: none !important;
    }
}
2 Likes

I don’t see that rule causing any issues. :slight_smile:

Small note: staff is a protected group and can’t even be renamed (I tried to see if it would change the CSS class).

The !important part seems not essential here. There’s no more prior selector that would override this.

2 Likes

Thanks as always for your helpful reply @Canapin . So I tweaked it a bit more without !important , and I also removed the capability of viewing post revisions for normal viewers:

body:not(.staff) {
    .post-hidden  {
        display: none;
    }
    .post-info.edits  {
        display: none;
    }
}

You can do that by toggling off the edit history visible to public setting :slight_smile:

image

3 Likes

:man_facepalming: Oh, thanks! I was searching for revision in the settings.

1 Like

Turns out this does create some side effects:

  • When the most recent post in a topic is hidden and a user clicks on the most recent post indicator in the topics list it will try to go to the hidden post but then “bounce” randomly way back higher in the thread.
  • The owner of the hidden post won’t have a chance to edit it because the controls for the post are also hidden.

So this appears to be a better solution:

body:not(.staff) {
    .post-hidden a.expand-hidden  {
        display: none;
    }
}
2 Likes