Post Rate Limit Trigger for a topic that's heating up

Generally, our users are well behaved, but when we get into certain topics, little flame wars crop up on very sensitive issues that do actually need to be worked out. We can moderate them and flag them and work through the behavior, but by the time that’s happened, we’ve lost the positive momentum that was in the topic to begin with.

The issues at hand are also very complex and hard to tell if someone is giving legitimate critique or is being unfair. What the moderators need is more time to react to the situation. Right now their only option is to close the topic which again can derail the productive portion of the conversation.

Being able to rate limit a conversation so that people who’ve already posted can’t be tempted to jump in and defend themselves, constantly clarify their remarks, demand explanations, etc. would be a great way to slow down the conversation and let new voices in.

We already have about 125 active users a day in this private forum and we expect it to grow to thousands as the rollout continues to this community of people that work together both online and in person. Also if an issue is contentious and newsworthy, we can end up with a flood of thousands of users interested in the topic. To even allow space for people to chime in, limiting the number of posts per person would be useful.

The basic ask is for there to be a setting that’s visible to mods and trust_level_4’s on the topic controls to limit the conversation to X posts per X hours (adjustable in the settings). This would then show up as a banner to the users: Posts in this topic have been limited to x posts per x hours.

This would put everyone on notice that the topic is being watched carefully and they need to choose their words more carefully here, as opposed to the more free areas of the forum.

Once implemented, the feature could be useful in other ways. Like a category where posts are automatically limited for debates or deliberations on policy.

It also has the advantage of not requiring a global setting. Like the posting too often setting. We could set it to 15 minutes but then people wouldn’t be able to have useful conversations in DMs since the software doesn’t distinguish them.

This does seem to be possible on a per user level now by dropping them to trust_level_0.

Previous Requests:

https://meta.discourse.org/t/limit-posts-in-category-by-group/54194

21 Likes

I really like this suggestion!

I tend to close hot topics and set them to reopen when stuff has calmed down but a “choose your words carefully” mode would be super handy in quite a few cases. I would have certainly used it on the GDPR topic.

@codinghorror should we slot something along these lines of a future release? (in topic wrench)

Limit Replies…

[Drop down in modal]

One post per user per hour
One post per user per day
One post per user per week

We would also need to add some sort of visual indicator on the topic that the topic is rate limited and avoid allowing user to type in an opus just to be denied a reply by the system on save

11 Likes

But wait… we already have this feature.

However, it only applies to new / low trust users as I recall. They are limited to a max of 3 replies in a topic, but if any TL2+ user replies to them, that limitation is immediately lifted.

3 Likes

I think the suggestion here is for a “long term” limit that applies to everyone talking. Eg. this topic is about politics so quick back-and-forths are disallowed, you need to compose yourself and only post once a day here forever.

14 Likes

It’s not a bad idea and has definitely been discussed, see

9 Likes

Wouldn’t mind that for any sort of rate limiting. Sometimes I’ll post a reply to a topic then go to compose a DM and press send only to find oh I have to wait 48 seconds. It would be nice to see a rate limit timer when I open a new text box.

1 Like

I do not think this is a major issue for 1 minute rate limits, but it does become pretty big when you have to wait a whole day. On the upside, drafts works awesomely… so nothing is lost.

3 Likes

Yea fair enough, we’d upped our global limit in an effort to deter the back and forths but found it to be an inelegant solution. Particularly since it also limits DMs.

@mbcahyono and I worked through something similar…
Set different rate limits per category per user group.
For example, maybe TL4 folks have no limit while TL1 folks are limited to 1 post per day per category.

https://github.com/ryanerwin/discourse-flexible-rate-limits

Haven’t moved it into production yet, but I’ve been testing it on staging for a few months now. Might be a good solution to your problem.

5 Likes

Not to nag, but is this any closer to happening? We’re getting more requests for something like this as the forum is growing in size. @ryanerwin how far along are you on the plugin? A per thread limit in particularly categories would be less nuanced but would help our situation.

We’ve got people with legitimate grievances going back and forth or posting a lot but we don’t want to do a global limit that hits DM’s and posting in different threads.

6 Likes

There is prior art here in Twich chat:

The feature is turned on or updated by typing:

/slow

or turned off completely by typing

/slowoff

When enabled, it disallows users from sending messages within 120 seconds of each other by default. You can also edit the slow mode duration to be longer or shorter than 120 seconds by adding an amount at the end of the command, like this:

/slow <number>

A public notification will show in chat when this feature is enabled or disabled so that the viewers are informed of the change.

4 Likes

Can you elaborate a bit more on the specific scenarios you’re seeing? Because it sounds more to me like you want the upcoming 2.3 feature, Ignore Specific Users.

Sure, it’s an activist organization with more than 20k members. We don’t have the luxury of being only online and thus ignoring members we don’t want to see. When there are abuses of power or attempts to sideline democratic structures, the conversations can get heated, very quick and there are several back and forths that crowd out the potential for others to engage. We’d like to be able to limit these (either per topic or category at least) without having to rate limit the entire site where people are having personal convos via DM or helping each other out on local issues.

In essence some types of conversations need the ability to slow people down while others do not. I know the general philosophy here is that moderators should step in. But the way that works out now is that the moderators can barely keep up. Even with a two minute rate limit, there’s too many users. There only choice is to let things carry on or lock the topic while they work out what is actually a legit grievance and what is crossing the line, which in a mixed online/offline community like ours we is actually a very difficult thing to do.

Being able to limit a topic to one post per person per hour would go a long way to making the discussion more accessible to those who aren’t the fastest to the keyboard and give the moderators actual time to react.

8 Likes

No, you misunderstand. These two individuals should set Ignore on each other.

There are a handful of cases in any large / long term community where two specific people consistently rub each other the wrong way, while individually doing nothing wrong and following all the community guidelines.

I’m not against rate limits on topics at all, quite the opposite in fact, but I do wonder if there’s a deeper issue here this isn’t addressing.

I’m not sure I see that happening much. Individual fights tend to be proxy fights between factions not just two people who can’t get along. Given that the factional fights are part of what we are, we can’t moderate those out of existance.

4 Likes

In the meantime I suggest a staff member issue a timed close on any problem topics so it can “cool down”, where the topic automatically reopens after the number of hours you choose. Additionally, enough live community flags will cause a topic to enter a timed close as well, so you could encourage community members to flag this kind of disruptive behavior.

One thing I’m unclear on is when to automatically enter the “slow down” mode for a topic, and when to exit that mode. What should the thresholds be?

To be clear I fully support this approach and technique, but it takes some consideration to get the defaults right.

6 Likes

First of all, thanks so much for providing discourse and all of this for us - it’s definitely been a boon to our organization so far. Second, as a mod on this forum, I can say that ignoring specific users would be very welcome by members of the forum. I’m excited to see it being developed and on the release timeline, and like that it will flag multi-ignored users to staff. I’m curious to see how that works with threads and conversations that the user is involved with.

Timed closes is what we’ve been doing. It’s helped a lot to cool down topics, and to give us as mods a breather.

I’m not sure whether we need an “automatic slow down” mode as much as we need a trigger to indicate “this thread needs to slow down”. It’s fairly easy for us to know what threads will escalate, and we can’t - as Speck described - limit those threads from not happening or prevent them, so a simple toggle that we can activate would probably already help a lot (one that Trust Level 4 users could trigger too, would be really helpful).

Then I don’t know how possible it is to limit responses from the heaviest participants, as opposed to someone who hasn’t participated yet in the thread. That’s something we would also love to be able to tweak. Off the top of my head - something like “if the thread has had 10 posts in the last hour, and if this person has written 20% of the words in this thread, limit them to comment every 15 minutes”. It’d be a forced step back? Again, don’t know how feasible that is, but I feel like that kind of nuance would be nice.

And again, just a “slow down” toggle would go a long way to helping here I think. “if activated, default to slow down at one reply a minute”. With it being clear in the UI that this is a “slowed down” text.

3 Likes

I don’t think that’s precisely workable because I can imagine 6 people waiting to post and trying to get in on that minute allotment. But perhaps the per person slowdown can be dynamic to the number of words/posts being put up? If there’s a lot happening then the limit increases to match and vice versa. With a dynamic timer on the top of the compose box, people would be able to know how long they have to wait to get their reply in.

One of the major frustrations I have with the posting limits is that I don’t know when I’m about to hit it. Only finding out that I have to wait 45 seconds after I press the post button is jarring.

1 Like

Not sure about the automatic trigger, but looking from prior-art about how it would work:

  • Staff can trigger slow mode from the wrench menu.

    image

  • New Site Settings:

    • Slow Mode Interval: Minimum time between posts from the same user in slow mode topics.
    • Min Trust to Slow Mode Immunity: Minimum Trust Level for Slow Mode Immunity.

Regarding automatic triggers, we could:

  • Check for posts rate in a topic during the last interval (day/hour, etc). Eg: If a topic has more than 50 posts an hour, or 100 topics per day, trigger slow mode for next 24h.

  • Not sure flags are correct here, the discussion is lawful, just too fast so it excludes most of community who aren’t online here right now from participating.

14 Likes

Given the “factional” issue you are seeing I am really not sure what we could do to improve this unless factions are properly defined.

If we say “only 1 post is allowed every 3 minutes, period”, then one faction can drown out the other faction by basically doing the ebay trick and always posting just as the limit is about to be hit.

If we say “only 1 post per user per N minutes” then the larger faction always wins, cause that faction will always get to post more than the small faction.

If we could rate limit to one post per faction then I guess this can work, but enforcing this with software sounds like a nightmare.

Honestly, I am not sure if simple rate limits can fix this problem. Freezing conversation temporarily to let people cool off is one approach that certainly works (and is already automatic in the case of flags). The other one I see with lots of merit is the ability to kick certain users off topics or even categories (while leaving them in the forum), eg: light weight bans. Technically this is achievable today by simply informing users that they must behave in a certain way or they will be booted.

Have you considered ramping up moderation in your forum, or maybe even simply ramping up TL4 user count?

5 Likes