Я думаю, проблема может заключаться в том, что пользователь уже проходил проверку ранее. Не уверен, что возможно проверить того же пользователя повторно. Пока мне не удалось воспроизвести эту ситуацию.
Мне всё ещё не удалось воспроизвести это. Но я выяснил, что пользователь, который не появился в очереди проверок, был помечен как suspect_user после регистрации в декабре. В то время опция must_approve_users на моём форуме была отключена. Поэтому я тогда принял решение по этому пользователю. Не уверен, означает ли disagreed, что я решил оставить пользователя. Но когда я попытался воспроизвести ситуацию сейчас, единственным другим вариантом было удалить пользователя. Неясно, как возникло status = 2.
Когда я несколько недель назад включил must_approve_users, пользователь не был автоматически одобрен, потому что существовала запись проверки (reviewable) с user_id в качестве target_id. Это логично.
Но у меня всё ещё нет представления, как я оказался с пользователем, которого не одобрил, но и не удалил, когда он был помечен.
| reviewable | status | status | reason | context | created_at |
|---|---|---|---|---|---|
| 264 | disagreed | 2 | suspect_user | NULL | 2025-12-18T14:16:28.322Z |
запрос
SELECT
rs.reviewable_id,
CASE
WHEN rs.status = 0 THEN 'pending'
WHEN rs.status = 1 THEN 'agreed'
WHEN rs.status = 2 THEN 'disagreed'
WHEN rs.status = 3 THEN 'ignored'
END as status,
rs.status as status_id,
rs.reason,
rs.context,
rs.created_at
FROM reviewable_scores rs
JOIN reviewables r
ON rs.reviewable_id = r.id
JOIN users u
ON r.target_id = u.id
WHERE u.approved = false
AND u.active = true