User was banned for posting a reply within 3 seconds

In the following topic, a user was silenced for replying with a quick short message:

The related setting is called “auto silence fast typers on first post”, but clearly this wasn’t the user’s first post. Did this rule trigger by error?

It’s not the first time somebody got banned when writing such short replies, which can easily be written within 3 seconds. I’ve reduced the min_first_post_typing_time setting on my forum from 3 to 2 seconds now, but I’m confused why replies are also covered by the auto-silencing option.

1 Like

How confident are you that this was not the user’s first post? Do you see earlier posts in their post history?

If you click on the topic I linked, you can see an elaborate question was posted first, then I replied, and then when the user replied “I cannot find it.”, the reply was queued for approval and the user was silenced.

1 Like

It’s been happening again, even after I had reduced the “min first post typing time” to just 2 seconds:

Now, the first message by jhoney does look suspicious, as it couldn’t have been typed within 2 seconds and it’s actually a piece copied from earlier in that topic. So this might indeed be a spammer.

But jzza has just typed a quick thank-you after his initial question was answered. He may have typed it within 2 seconds, but it wasn’t his first post so his message shouldn’t have been withheld.

It’s not recommended to allow very short messages. What is your minimum post length for replies? The Discourse default is 20 characters. If you’ve modified this you may have to set your spammer minimum typing time protection to very low levels.

Legitimate new users who copy and paste content can get caught, if this is a common pattern on your platform you may have no choice but to forgo this protection.

1 Like

I’ve reduced that from 20 to 10 characters, because I do want to allow short thank-you messages and don’t like forcing people to artificially make their post longer.

However, that setting is irrelevant for the issue I’m reporting. The problem I’m running into is that there are posts withheld and users silenced based on how fast they wrote their second post, even though the setting explicitly says “New user typed their first post suspiciously fast”.

2 Likes

Fair, can we repro this @justin?

2 Likes

I gave this a good go today and haven’t been able to repro it yet, even when using the same site settings. I’m not seeing any users end up in the review queue on first or second post, but they are getting blocked from posting for 20 or so seconds if it’s too fast as expected.

@bjorn81 do you have any further information from these users on how they might’ve been silenced?

2 Likes

Why are you shortening the post limit for thank you messages when Discourse has a like button? It’s there for that very reason. Users can express thanks without bumping the topic, distracting other users and unnecessarily increasing topic length.

It looks a lot like you’ve altered a default which exists because ok/GG/+1 posts aren’t necessary on Discourse and are suffering the consequences.

4 Likes

That’s not the case though, this is the reported issue:

@justin note that you’d absolutely need to paste the post in via ctrl+v to trigger this. The specific thing we’re testing is, can this happen on a second post? You could also check the codepath to see if its assumptions are valid.

1 Like

I’ll re-try. I did run through the codepath, and all the assumptions I could find appeared to be valid based upon the values provided in site settings.

EDIT: I was able to repro using copy/paste on a second post with the settings provided above. I will reset them to defaults and see if I can find any correlation.

EDIT 2: I was able to find the issue.

https://github.com/discourse/discourse/blob/427d54b2b00fa94474c0522eaed750452c4e7f43/lib/new_post_manager.rb#L37-L45

In this block of code, we’re looking only at the user’s post_count. If a user creates a topic first, that’s not counted as a post. Therefore, when a user copy/pastes a reply, it’s counted as their first post, triggering the protection.

PR is up to fix

https://github.com/discourse/discourse/pull/8139

8 Likes