승인 대기 사용자 136/137명

리뷰 대기열에 사용자가 몇 명이든, 대기열에 사용자가 한 명이라도 있으면, 항상 (네, 항상!) 대기열에 136명 또는 137명의 사용자가 있다고 알려주는 메시지가 표시됩니다. 매번. 매번. 매번.

이 문제를 어떻게 수정할 수 있을까요?

저도 같은 메시지를 받습니다. 승인 기능을 활성화했을 때 기존 사용자 중 일부가 자동으로 승인되지 않았습니다. ("must approve users" notifications are incorrectly triggered by old users - #4 by Moin). 그래서 Data Explorer로 해당 사용자를 찾아 프로필 관리자 페이지에서 수동으로 승인할 수 있었습니다. (하지만 136명을 수동으로 승인하기는 많은 수가 맞습니다!)

또한 다음과 같은 버그 보고서도 있습니다:

@Moin 님, 조언해 주셔서 감사합니다.

이 링크를 참고하여

SELECT "users".* FROM "users" 
WHERE (suspended_till IS NULL OR suspended_till <= '2023-11-13 11:05:23.225614') 
AND "users"."approved" = FALSE 
AND "users"."active" = TRUE 
ORDER BY users.created_at DESC,users.username

을 실행하면 135개의 레코드가 반환됩니다.

가장 오래된 사용자 중 하나인 samirbehara를 무작위로 선택해 보니, 이 사용자는 공개된 활동 기록이 있습니다.

해당 계정의 관리자 화면에서는 “승인” 옵션이 제공되는데, 왜 그런지 이해가 되지 않습니다.

방금 슬랙에서 내 동료 @ganncamp에게 말했듯이, 오늘 아침에 우리 인스턴스에서 이 알림들을 끄기로 했습니다.

사실 우리에게 아무런 쓸모가 없었거든요.

그런데도 리뷰 대기열이 그 정도 수치가 아니었는데도 왜 그렇게 많은(130개 이상) 알림을 보여주었는지 여전히 이상합니다.

이 부분은 특별히 세심하게 주의를 기울이지 않아서, 제 추측이 틀릴 수도 있습니다.

그들이 먼저 가입했고, 나중에 “사용자 승인 필요” 설정을 켰기 때문이라고 생각합니다. 그들은 이미 가입하여 게시할 수 있는 사용자였지만, 나중에 승인 요구 설정을 활성화했고, 아직 그들에게 승인을 부여하지 않은 상태입니다. UX 화면이나 Rails에서 135명 모두를 승인하거나 삭제하는 것이 옵션이라고 생각합니다.

그러면 기존 사용자들이 일괄적으로 승인되지 않나요?

보통 그렇습니다. 하지만 버그가 있어 일부 사용자에게는 작동하지 않습니다.

조금 이상해 보이는데, (제가 SQL을 제대로 쓴다면) 우리 쪽에서는 User가 일부 대상 유형(target type)으로 보이는 것 같거든요?

SELECT
  users.id as user_id, approved, target_type, target_id
FROM
  users
INNER JOIN reviewables ON users.id=reviewables.target_id
WHERE approved = false
ORDER BY user_id
userid approved target_type target
39 false User 39
127 false Post 127
276 false Post 276
278 false Post 278
328 false User 328

이 주제는 그렇게 하지 않았다는 사실에 관한 것 아닌가요?

내 탓이죠. 너무 대충 훑어본 것 같아서 그 부분을 완전히 놓쳤나 봐요.