las notificaciones de "deben aprobarse los usuarios" se activan incorrectamente para usuarios antiguos

Noté el mismo comportamiento y creo que descubrí por qué sucede esto (no por qué esos usuarios no aparecen en la cola de revisión, sino por qué no fueron aprobados en absoluto):

Según entiendo el código[1], cuando habilitas ‘must_approve_users’, la mayoría de los usuarios que se crearon antes de que se habilitara la configuración deberían ser aprobados:

Esto funcionó para la mayoría de mis usuarios, pero algunos no fueron marcados como aprobados.

Consulta de Data Explorer
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

Cuando miras la tabla reviewables, puedes notar que los usuarios con un ID de usuario que coincide con el target_id de un mensaje de chat no fueron aprobados.

Consulta de Data Explorer
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

Creo que es un error que los usuarios no sean aprobados cuando hay un target_id coincidente que tiene un target_type diferente de ‘user’.


  1. Tengo muy pocas habilidades de programación ↩︎

3 Me gusta