dreamwidth icon indicating copy to clipboard operation
dreamwidth copied to clipboard

new page /admin/recent_accounts

Open kareila opened this issue 4 years ago • 1 comments

Right now when I'm checking recently created accounts for spammers, it requires a lot of time and resources on my part. So I brainstormed with @rahaeli about a way to crowdsource reviewing recently created accounts with trusted volunteers in a way that made it easy to participate on mobile devices for a few minutes here and there and distribute the workload. This is what came out of that conversation.

  • Newly created personal accounts have a new userprop, not_approved, set to 1 at account creation time.

  • Any accounts with not_approved set are excluded from /search, /latest, and /random. (New user method $u->is_approved faciliates this.)

  • After an hour, the new accounts will begin to appear on /admin/recent_accounts for review by users with the existing priv siteadmin:spamreports or the new priv siteadmin:approvenew.

  • One of these volunteers will review the journal and flag it as spam or not. If it's not, not_approved is cleared and the account is made available in the site features where it was previously excluded. If it is judged to be spam, not_approved is incremented from 1 to 2 and it goes into another queue to be suspended.

  • Another new priv, suspend:recent, is available for volunteers to suspend only accounts flagged from the /admin/recent_accounts page. Suspending or unsuspending an account will also clear the userprop.

All of this is switched off if LJ::is_enabled('approvenew') returns false. I left it turned off in the example config, but it should be active in production unless we explicitly disable it.

Screenshot of journal review form (yes it's an iframe):

Screen_Shot_2020-08-02_at_4 56 58_PM

kareila avatar Aug 06 '20 22:08 kareila

I like!!

azurelunatic avatar Aug 08 '20 19:08 azurelunatic