이 게시물에서 무언가를 놓친 것 같습니다: Let's talk Moderation - #2 by simon. 이전 정지(suspension)가 실제로 tl3 승급에 영향을 미칩니다. 여기 나열된 요구 사항이 승급 과정에서 두 번 계산되는 것이 이상합니다:
먼저 tl3 승급 작업에서, 그리고 review_tl2 호출 시 다시 계산됩니다. 이 메서드는 tl3 요구 사항을 다시 계산하며, 이번에는 침묵(silencing)과 정지에 대한 페널티 횟수를 고려합니다: discourse/app/models/trust_level3_requirements.rb at main · discourse/discourse · GitHub.
이것은 꽤 중요한 문제입니다. 정지는 종종 사용자가 페널티를 받는 것이 의도되지 않은 방식으로 사이트 접근 권한을 일시적으로 박탈하는 수단으로 사용되기 때문입니다. 예를 들어, 외부 애플리케이션의 유료 멤버십이 만료되면 사용자가 정지됩니다.
수정: 사용자가 정지되었다가 시스템 사용자가 아닌 다른 사용자에 의해 정지가 해제되면, 페널티 횟수가 제거되는 것으로 보입니다: discourse/app/models/trust_level3_requirements.rb at main · discourse/discourse · GitHub. 이는 사용자가 실수로 정지되었다가 인간 사용자에 의해 정지가 해제되면 페널티 횟수가 부과되지 않음을 의미합니다. 또한 외부 구독이 만료되었을 때 사이트 접근 권한을 제거하기 위해 사용자가 “영구적으로” 정지되는 경우, 정지 해제가 시스템 사용자에 의해 수행되지 않는 한 정지 해제 시 페널티 횟수가 부과되지 않습니다.
이 로직은 타당해 보이지만, 어딘가에 명시적으로 설명될 수 있을 것입니다. API를 통해 사용자를 정지하고 해제하는 것은 꽤 흔한 일입니다. 저는 지금까지 이 작업이 시스템 사용자에 의해 수행되었는지가 중요한지 알지 못했습니다.
사용자를 침묵(silencing)할 때의 페널티 횟수 계산에도 동일한 로직이 사용됩니다.