Imported users marked as suspect

I operate a forum that was migrated from bbPress to Discourse about two years ago, and since the last update a few hours ago I’ve noticed a lot of users getting flagged as suspect all of a sudden. They are all users who were imported from the old bbPress forum and haven’t logged in since. I’ve investigated a little and I feel like this change might be the culprit:

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

I believe those users are being flagged because they have their website / bio set and they have only posted once (which means that, because they were imported, their posts read count is also only one).

Because of the nature of our community, and because it has existed for several years before we switched to Discourse, we have a bunch of those users who are now piling up in the review queue. Is there any way to avoid flagging these as suspect without ignoring actually suspect users as well? Perhaps based on other side effects of the import, such as the fact that their IP address fields are empty or that the “Days visited field” is 0 while “Posts read” is 1?

1 Like

This is not possible right now, sorry.

We only queue 10 of these users every two hours to avoid flooding the review queue. If you want to disable the feature, you can turn the approve_suspect_users setting off.

4 Likes

You should be able to fix this up at the rails console. I’m not sure exactly what to do, but maybe just clear the bio of users who haven’t logged in for over a year. Or, set the read count to those people to 100 or something like that.

Alright. Not quite what I was hoping for, but I guess there’s no better way then. Thanks for replying so quickly!

1 Like

We discussed this internally and did some changes to reduce the number of flagged users:

We now skip users created more than six months ago, or as a result of a migration.

5 Likes

Wow, thanks a lot for that!

1 Like

I have a site that is running https://github.com/discourse/discourse/commits/0cd502a55838d5d27f96f13c0794f3669ac41fcc and has marked hundreds of imported users as suspect, sending out lots of emails to unsuspecting moderators (who don’t know about the migration yet).

Also, approve suspect users is not set, so I don’t understand why these imported users would be in the review queue anyway.

There’s only one way to queue suspect users, and it checks that the setting is enabled before doing anything.

Are you sure the setting is not enabled? We changed the default to true. Also, these users should be skipped if they have a custom field called import_id

Thanks, Roman. My current best guess is that this import ran on a version of Discourse after the approve suspect users feature was added and before the fix was applied.

Would it make sense that if the import ran on one of those versions of Discourse and then was restored to a version that has the fix, those users would still be marked as suspect and moderators would get the “these items are in the queue for X days” message? And, if that’s the case, can you tell me how to mark them as approved all from the UX or Rails (or even just point me to the model and I can figure it out).

Maybe ReviewableUser.all.destroy_all?

Personally, I’m not a fan of destroying everything. Take a look at this migration:

https://github.com/discourse/discourse/blob/b9aaa9718df45fc41aafccc3f7dc47ac7e3126a3/db/migrate/20200311135425_clear_approved_users_from_the_review_queue.rb

If you want to approve every flagged user, remove the u.approved = true condition.

3 Likes

I was going to be satisfied with a hammer and you provided a scalpel (my job was made harder because I don’t have console access to the server where that import is right now and I’ve started a new import on my server). Thanks a million!

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.