問題の原因は、そのユーザーが以前に審査済みだったことにあるかもしれません。同じユーザーを再度審査できるかどうかはわかりません。現時点では、この現象を再現できていません。
依然として再現できていませんが、12月にサインアップした際、表示されないユーザーが suspect_user としてフラグ付けされていたことがわかりました。その当時、私のフォーラムでは must_approve_users が無効化されていました。そのため、その時点で対応しました。「disagreed」が「ユーザーを保持する」選択を意味するかどうかはわかりませんが、現在再現を試みたところ、ユーザーを削除する以外の選択肢はありませんでした。status = 2 がどのように発生したのかは不明です。
数週間前に must_approve_users を有効化した際、reviewable に target_id としてそのユーザーの user_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