안녕하세요!
특정 사용자 프로필에 접근했는데, 거기서 보이는 좋아요 수가 관리자 뷰에서 해당 프로필을 확인하고 통계 섹션까지 스크롤했을 때 표시되는 값과 완전히 다릅니다.
숫자는 다음과 같습니다:
![]()
안녕하세요!
특정 사용자 프로필에 접근했는데, 거기서 보이는 좋아요 수가 관리자 뷰에서 해당 프로필을 확인하고 통계 섹션까지 스크롤했을 때 표시되는 값과 완전히 다릅니다.
숫자는 다음과 같습니다:
![]()
그중 하나는 이동하는 시간 창 안에 있습니다.
그렇지 않습니다. 둘 다 통산 기록입니다. 적어도 UI가 그렇게 표시하고 있죠.
네, 더 확인해 보니 다른 이상한 점들도 발견했습니다.
관리자 권한이 있는 사이트에서 가입한 지 얼마 안 된 사용자를 확인해 보았습니다.
해당 사용자는 30일 전에 가입했습니다.
공개 프로필 - https://<site>/u/<user>/summary - 에는 ![]()
관리자 페이지 - https://<site>/admin/users/<user id>/<user> - 에는
![]()
해당 사용자는 단 하나의 주제에만 활동하고 여러 개의 게시글을 작성했기 때문에 모든 게시글을 확인해 보았습니다. 좋아요를 주거나 받은 적이 없습니다.
개인 메시지는 확인하지 않았습니다.
공개 프로필이 단순히 공개 주제만 표시되고, 관리자가 DM에서 좋아요 수를 집계하기 때문이 아닌가요?
저는 그 기능을 개발하지 않았기 때문에 저에게 질문하신 것 같진 않네요
아마도 그렇겠죠. 하지만 이번에도 UI에서 적절한 UX나 커뮤니케이션이 부족했거나, 다른 이유로 인해 데이터 불일치 문제가 발생한 것 같습니다.
@Falco 님, 이 부분을 확실히 확인해 주시면 100% 확실하게 진행할 수 있을 것 같습니다. 감사합니다!
사용자 요약 페이지에서 확인되는 통계는 user_stats 테이블에서 가져옵니다. 해당 테이블의 likes_given, likes_received, post_count, topic_count 필드는 모두 일반 주제(topic)에서 발생하는 활동에 해당하며, PM(개인 메시지)에서의 활동은 결과에서 제외됩니다. 참고로 discourse/app/models/user_action.rb at main · discourse/discourse · GitHub 를 확인해 보세요.
사용자의 관리자 페이지에서 확인되는 통계에는 PM이 포함된 계수가 포함되어 있으므로, 두 위치에서 likes_given, likes_received, post_count, topic_count 결과가 다를 수 있습니다.
사용자가 신규 사용자 튜토리얼을 완료했다면, PM에서 좋아요를 1개 주고받았을 것입니다. 이러한 좋아요는 사용자의 관리자 페이지에는 표시되지만, PM에서 발생한 활동이므로 사용자의 Summary(요약) 페이지에는 표시되지 않습니다. 또한 사용자가 튜토리얼에 응답했다면, 생성된 게시물(Posts Created) 수도 Summary 페이지보다 관리자 페이지에서 더 높게 나타날 수 있습니다.