Notificações de "deve aprovar usuários" são acionadas incorretamente por usuários antigos

Notei o mesmo comportamento e acho que descobri por que isso acontece (não por que esses usuários não aparecem na fila de revisão, mas por que eles não foram aprovados):

Pelo que entendi do código[1], quando você habilita ‘must_approve_users’, a maioria dos usuários criados antes da configuração ser habilitada deve ser aprovada:

Isso funcionou para a maioria dos meus usuários, mas alguns não foram marcados como aprovados.

Consulta do Explorador de Dados
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

Quando você olha para a tabela reviewables, pode notar que os usuários com um ID de usuário correspondente ao target_id de uma mensagem de chat não foram aprovados.

Consulta do Explorador de Dados
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

Acho que é um bug que os usuários não sejam aprovados quando há um target_id correspondente que tem um target_type diferente de ‘user’.


  1. Tenho pouquíssimas habilidades de programação ↩︎

3 curtidas