我注意到了同样的现象,我认为我找到了原因(不是为什么那些用户没有出现在审核队列中,而是为什么他们根本没有被批准):
据我理解的代码[1],当你启用“must_approve_users”时,大多数在设置启用之前创建的用户都应该被批准:
这对我大多数用户来说是有效的,但有些用户没有被标记为已批准。
Data Explorer Query
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 Query
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 |
我认为当存在一个目标 ID 与“user”以外的 target_type 匹配时,用户未被批准是一个 bug。
我几乎没有任何编程技能 ↩︎