Уведомления «необходимо одобрить пользователей» ошибочно срабатывают для старых пользователей

Я заметил такое же поведение и, думаю, выяснил, почему это происходит (не то, почему эти пользователи не отображаются в очереди на рецензирование, а почему они вообще не были одобрены):

Насколько я понимаю код[1], при включении настройки ‘must_approve_users’ большинство пользователей, созданных до включения этой настройки, должны быть одобрены:

Это сработало для большинства моих пользователей, но некоторые не были помечены как одобренные.

Запрос 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

Если посмотреть на таблицу reviewables, можно заметить, что пользователи, чей ID совпадает с целевым ID сообщения чата, не были одобрены.

Запрос 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

Полагаю, это ошибка: пользователи не одобряются, если существует совпадающий target_id с target_type, отличным от ‘user’.


  1. У меня почти нет навыков программирования ↩︎

3 лайка