Users silenced for "new user typed too fast" not appearing in review queue

On our instance we’ve discovered 2 users who were silenced for “new user typed too fast”, but don’t have any posts appearing in the (historical) review queue, so it seems like there was no way for moderators to ever approve their posts.

One of these users reported it themselves, the other I discovered after some investigation:

I’ve spent some time trying to figure out what went wrong here, but have very little idea. The closest I’ve got is by making a post get stuck in the queue locally, then manually deleting the ReviewableQueuedPost from the db. The end result looks the same as with these two users, so my only theory is that something has been deleting these from the db, or they were never saved in the first place.

Everything I’ve tried is in the issue above, including the Rails commands to fetch this data. I’d be interested to know if there are any users affected by this on Meta.

6 Likes

@eviltrout any ideas here?

3 Likes

I have not seen this before. I looked at the code paths and it seems that if a post/topic passes validation, but the reviewable record does not, this could happen.

Are there any errors in the logs that might indicate why the reviewable record was not saved?

Also just to confirm, you haven’t set a minimum priority to view items right? You confirmed that the ReviewableQueuedPost was not in the database?

2 Likes

Unfortunately we don’t have the logs back from when this last happened (20 May) due to the log rotation in the discourse_docker container (unless I’ve misunderstood how it works).

Yeah they weren’t in the db. I found the affected users with these queries:

total = UserHistory.where(details: "New user typed too fast").pluck(:target_user_id)
alive = total.map{ |x| User.where(id: x).first&.id }.compact
alive.map{|x| [x, Reviewable.where(created_by_id: x).count]}.filter{|x| x[1] == 0}
=> [[20914, 0], [22425, 0]] # the ids of those users
2 Likes

Let’s keep an eye out and see if we can reproduce it somehow in the future.

5 Likes