Flag Immunity for Pinned or Leader topics?



First I’d like to say I love the way Discourse is set up; a forum that’s both advanced in features/design and simplistic for its users. I lurked around here for quite awhile before laziness stopped preventing me from making an account.

Now, with that said, the forum isn’t without its faults. I looked around, and unless I’m missing something, there doesn’t seem to be a way to prevent a thread from being closed down from hitting the flag threshold-- even if the thread is made by a TL4/Leader user. This is really inconvenient for large communities where ‘disagreements’ are more likely to occur.

This is a recent example (And not the only instance of it):

^A poll was made to vote on 3 options, and gamers being typical gamers, look at “opinions” as something offensive which eventually results in users flagging posts. That in turn resulted in the thread being locked 3 times from community flags, which in turn actually prevented the Poll in the first post from even being voted on until it was re-opened by Staff.

If there was an option for TL4+ users to give a thread ‘flag immunity’ when creating/editing it, this could prevent a lot of headache.

Thank you for the forum, and thank you for your time.

(Jeff Atwood) #2

Hmm, honestly not sure what to do in that case.

  1. I don’t think a “flag immune” topic approach makes sense.
  2. You could turn up the auto-close flag threshold values in the site settings – so it takes a lot more community flags from a lot more users to auto-close a topic – as long as you’re comfortable having the higher threshold everywhere
  3. Turn off flag ability for certain users who are using flags maliciously or irresponsibly.

Option 2 is your best bet in the short term, the admins could always reset the thresholds later to normal levels. There are also a fair number of knobs here to tweak in terms of overall flags required, how many unique flagging users are required, etc.

Option 3 we always talked about but never got around to as it never became needed, but I support it. If users are flagging “wrong” and doing so intentionally, we could implement a user-level setting to get us closer to this goal, which was on our roadmap even from way back in 2013…

(cpradio) #3

Possible Option 4? Have a multiplier apply to the flag threshold when the topic is created by a TL3 or TL4? (possible site setting for when to multiply)

I sort of get what he is saying here, though we haven’t had this happen personally, but I do see how that could be problematic for some communities.

(Jeff Atwood) #4

That seems like a bizarre, hyper-specialized rule to me.

I am much more interested in solving this in a way that is generally beneficial for all sites, and I think the case for Option 3 is very strong – we just have had precious few real world examples of where that would have mattered to date. This might be the first.

(cpradio) #5

Possibly, but I’m not sure how Option 3 solves his problem. He had multiple users flagging topics. No where does he confirm it was the same set that flagged it repeatedly to keep closing the topic. It could have been users 1-5 the first round, 3-7 the second and 8-12 the last time. That’d be 12 different users to potentially remove the ability to flag from.

It just seems like a maintenance/moderating nightmare to me trying to manage hundreds of users ability to flag/not flag posts.

It could be that I don’t quite understand your option 3 through.

(Joshua Rosenfeld) #6

I know this topic is talking about TL4, but how does this apply to staff topics? Can 3 users flag an admin or moderators topic and auto-hide it?

(Mittineague) #7

I just tested on my localhost with the default Admin Settings

flags required to hide post [3]
Number of flags that cause a post to be automatically hidden and PM sent to the user (0 for never)

num flaggers to close topic [5]
Minimum number of unique flaggers that is required to automatically pause a topic for intervention

num flags to close topic [12]
Minimum number of active flags that is required to automatically pause a topic for intervention  

An Admin started the - Not Pinned - topic, another Admin posted a reply.

Then non-staff members Flagged post #2 (an Admin post)
5 non-staff members sequentially Flagged post # 2 and after it was hidden Flagged the previous two posts until the topic had a total 12 Inappropriate Flags by 5 members on various posts.

At which point

This topic is temporarily closed due to a large number of community flags.


Option 3, although an extreme headache with the high amount of users, would be the best out of those 3, since #2 is too dangerous considering the hundreds of new threads that were created within the duration of the first announcement and the end of that poll announcement there. Thanks to the flagging system, a lot of intentional bait topics and heavily derailed topics were closed down quickly. The problem with it is that it’s a manually-applied solution that can only be used effectively if there’s forum moderating being done around the clock (Which would make the whole “Admin thread is getting closed down” issue invalid in the first place).

Option 4 that cpradio mentioned actually does solve most of the issue, for both large and smaller communities. It changes the specifics for just those important Staff topics, resulting in them being closed down only if things reach the extreme.

(Mittineague) #9

After doing quite a bit more testing I can see how this could be a problem.

*note, some of the weirdness I had could be de to my set-up / my doing an unusual thing.
I run sidekiq seperate from running the server and I’m still not sure of what everything sidekiq does is.

Anyway ----

After post #2 (Admin post) had been hidden and the topic became closed after getting a a total of 15 Inappropriate Flags from non-staff members:

The first Admin Disagreed with the Flags on the other Admin post ant that post became unhidden
The topic did not become Open, so the Admin opened it.

The second Admin Pinned, then Bannered the topic
* normally I would do one or the other, not both.

Then two non-staff cast 3 more Inappropriate Flags.
Having 15 active Flags, the topic became Closed

It remained Pinned Bannered

The second Admin Disagreed with all the Flags on all the posts in the topic
The Admin Opened the topic

“TrollGuy1” cast a Flag on each of the topic’s posts - 11 in total

4 other members Flagged posts, including 3 on TrollGuy1’s post
TrollGuy1’s post became hidden
The topic became Closed

TrollGuy1 Edited the post
the post became unhidden
the topic’s status at this point 12 Active Flags from 2 members

the topic remained Closed Pinned and Bannered.

The second Admin Opened the topic

3 non-staff members Flagged each of the previous (excluding TrolGuy1’s ) 2 posts

After 7 Flags from the 3 members
the topic became Closed

The second Admin did not act on any of the Flags, but simply Opened the topic.

A non-staff member Flagged a post.
the topic became Closed


Unfortunately I can not think of any approach (including those that have been suggested) that doesn’t have both pros and cons. It’s more of a “find a balance” thing.

You want members to be able to make good posts (the topic must be Open)
You want members to Flag bad posts
You want bad posts hidden when enough members consider them bad enough to justify them getting a Flag
You want topics that are getting a string of bad posts to stop getting even more bad posts.

Ultimately I think the best solution is to have better Moderator presence to deal with the Flags in a more timely fashion so the topic doesn’t get auto-Closed.

Tweaking the Settings could help some, but that is a balancing act, not a perfect solution.

Two improvements might be

  • If it doesn’t already happen (I didn’t wait long enough to see) instead of topics that are auto-closed due to flagging remaining closed until staff opens them, they “cool off” for a while and then auto-open
  • Similar to “helpful” Flags, a way to see “unhelpful” Flags might help in identifying Flag abusers so they can be dealt with


SELECT post_id
  , user_id
  , post_action_type_id     
  , agreed_by_id
  , disagreed_by_id
FROM post_actions    
WHERE post_action_type_id IN(3,4,7,8) 
AND agreed_by_id IS NULL 

(Erlend Sogge Heggen) #10

I don’t see why not. Users should still be able to flag mod/admin topics, but these topics should not be automatically closed/hidden based on flag counts. It doesn’t make sense that community members have the power to override staff intent. If a moderator’s topic gets a lot of flags then what to do with that topic should be a staff decision and not a system decision.

This has been a problem on Reddit as well, where the loudest members distort a discussion by downvoting and effectively hiding counterarguments or official statements that they disagree with. In cases of “Reddit users vs Reddit mods” these arguments have gotten very awkward, since the staffers would try to come out with an official statement that would subsequently be downvoted into oblivion and the uninformed part of the angry mob just gets madder.

(Jeff Atwood) #11

Correct thing to do is make flags stop working for these problem users. What if someone posts something hateful in a staff topic, others reply with more hate… but the topic is immune from flags? That makes zero sense.

(Erlend Sogge Heggen) #12

We’re not talking about not being able to hide replies. It’s just about being able to shield the topic post.

(Mittineague) #13

So this discussion is really 2 closely related but different discussions?

Staff post immunity from 3 active Flag hiding
Staff topic immunity from 12/5 active Flag closing

I don’t think tweaking up the number of Flags triggering close is a good idea
But maybe tweaking up the number of members could work

i.e. 12 Flags from 12 different members.

Outright immunity seems like the wrong approach to me.
Analogous to disabling the sprinkler system in the kitchen so a stove fire won’t stop cooks from preparing a meal

(cpradio) #14

Agreed. Posts can still be hidden, just the topic post (if started by a staff member) should be shielded, primarily from auto-closing. Staff should have a level of trust, so it should be safe to assume they didn’t start something horrendous.

(Jeff Atwood) #15

Seems easier to close the topic in that case so nobody can reply.

(Kane York) #16

Actually, it sounds to me like the real problem here was the conflation between the topic being closed (preventing new replies) and the poll being closed (preventing new votes).

Perhaps a stayopen attribute on the poll, to allow votes even if the topic is closed, would work?

Then removing the flag privilege for certain users would nicely round out a solution.

(Jeff Atwood) #17

Closing stops votes? That’s weird. Only archiving the topic should stop votes on a poll @zogstrip.

Conceptually speaking, close only stops replies and it is very hard to see a vote in a poll as a reply.

(Régis Hanol) #18

It’s now fixed :ballot_box:

(Dean Taylor) #19

You might want to highlight this change to users - closing the topic previously was my go to method.
Archiving is not something we normally do.


Additionally this breaks closing a Poll at a specific time by using the Auto-Close functionality.

It is a common need to be specific about voting periods.

What is the difference between Closed, Unlisted and Archived topics?
(Kane York) #22

What about all the existing polls that were already closed by closing the topic that will now be accepting votes?