최근 블로그 댓글을 호스팅하기 위해 Discourse 인스턴스를 설정했습니다. 누군가 첫 번째 댓글을 게시하면 내장된 댓글에 "2개의 답변"이라고 표시됩니다. 질문하기 전에 말씀드리자면, 이는 첫 번째 게시물이 답변으로 집계되기 때문이 아닙니다. 그 문제는 오래전에 수정되었습니다. 대신 문제의 원인은 자동 목록 표시 알림인 것 같습니다:
모든 블로그 게시물 댓글 주제가 기본적으로 목록에 표시되지 않으므로, 첫 번째 댓글이 주제를 목록에 표시하게 되고, 이는 다시 답변으로 집계됩니다.
따라서 수정 방법은 메시지 답변을 카운트할 때 작은 동작을 제외하는 이 풀 리퀘스트에 더 가까운 것이어야 할 것입니다. 주제를 목록에 표시하는 것은 post_type 3이며, 이는 small_action에 해당합니다.
참고로, 주제 목록을 볼 때도 답변 수가 잘못 표시됩니다. 다만 카운트와 답변을 동시에 보고 있지 않기 때문에 그리 명확하지는 않습니다. 주제 자체를 보면 목록 표시 알림이 카운트에 포함된다는 것을 알아차리기 어렵지 않습니다. 하지만 블로그의 첫 몇 개의 댓글을 볼 때는 카운트와 답변을 한 곳에서 볼 수 있기 때문에 뭔가 이상하다는 것을 쉽게 알 수 있습니다. (다행히도 목록 표시 알림은 표시되지 않습니다.)
임베디드 토픽 목록에서 보는 답글 수는 Discourse 토픽 목록의 답글 수를 설정하는 데 사용되는 코드와 동일한 코드에서 파생되므로, 두 문제 모두 해결해야 할 필요가 있을 수 있습니다. Discourse 토픽 목록의 답글 수에 관리자 조치 게시물을 포함하는 것이 의도적인 것인지 확실하지 않습니다. 임베디드 토픽의 답글 수에 관리자 조치 게시물을 포함하는 것은 분명히 잘못된 것 같습니다 - 특히 모든 임베디드 토픽의 첫 번째 답글이 이제 관리자 게시물인 점을 고려하면 더 그렇습니다.
참고로, 저는 그 “Listed” 댓글들을 삭제해 왔습니다. 제 생각에는 블로그 댓글의 경우 모든 주제가 숨겨지거나 해당 공지사항이 표시되므로, 이런 댓글들은 노이즈에 불과합니다. 만약 이를 카운팅해야 할 이유가 있다면, 블로그 댓글에서 자동으로 제거하는 것이 더 나은 접근 방식일 수 있습니다. (현재 이 문제에 대한 패치를 가지고 있지 않아서, 구현이 어려운지 아닌지는 모르겠습니다.)
네, 작은 액션 게시물이 답글로 집계되는 것은 다소 이상합니다. 이와 관련된 또 다른 버그도 있습니다. 임베디드 토픽의 첫 번째 답글이 작은 액션 게시물인 경우, 임베디드 HTML이 깨져 해당 Discourse 토픽으로 가는 링크가 표시되지 않습니다. 현재 이 두 가지 문제에 대한 수정 작업을 진행 중입니다.