Benachrichtigungen "must approve users" werden fälschlicherweise von alten Benutzern ausgelöst.

Ich habe das gleiche Verhalten bemerkt und glaube, herausgefunden zu haben, warum das passiert (nicht warum diese Benutzer nicht in der Überprüfungswarteschlange erscheinen, sondern warum sie überhaupt nicht genehmigt wurden):

Soweit ich den Code verstehe[1], sollten die meisten Benutzer, die erstellt wurden, bevor die Einstellung aktiviert wurde, genehmigt werden, wenn Sie ‘must_approve_users’ aktivieren:

Dies funktionierte für die meisten meiner Benutzer, aber einige wurden nicht als genehmigt markiert.

Data Explorer Query
SELECT
  id as UserID, approved
FROM
  users
ORDER BY id
UserID Approved
1 true
3 true
8 true
10 false
11 false
12 false
13 true

Wenn Sie sich die Tabelle reviewables ansehen, können Sie feststellen, dass Benutzer mit einer UserID, die mit der target_id einer Chat-Nachricht übereinstimmt, nicht genehmigt wurden.

Data Explorer Query
SELECT id, target_id, target_type
FROM reviewables
ORDER BY target_id
id target_id target_type
6 9 ChatMessage
7 10 ChatMessage
8 11 ChatMessage
9 12 ChatMessage
1 2901 Post
2 2909 Post
5 2991 Post

Ich denke, es ist ein Fehler, dass Benutzer nicht genehmigt werden, wenn eine übereinstimmende target_id vorhanden ist, die einen anderen target_type als ‘user’ hat.


  1. Ich habe kaum Programmierkenntnisse ↩︎

3 „Gefällt mir“