topic_count 계산이 올바르지 않습니다

특정 주제(topic)가 부모 카테고리에만 존재하는 경우, API의 topic_count에 해당 주제가 포함되지 않는 버그를 발견했습니다.

제가 사용자로 가입해 있는 해당 포럼은 Discourse v2.4.0.beta11을 실행 중이므로, 더 새로운 버전에서는 이미 수정되었을 수도 있다고 생각합니다. 하지만 아직 수정되지 않았다면, 이 내용을 보고드립니다.

해당 포럼의 구조는 다음과 유사하며, 카테고리 B와 C는 A의 하위 카테고리입니다:

    Forum
    ├── ...
    ├── Category A (n=0)
    │   ├── Category B (n=92)
    │   └── Category C (n=6)
    └── ...

각 카테고리 뒤에 API에서 가져온 topic_count 값(/c/xx/show.json 기준)을 기입했습니다. 하지만 실제로 카테고리 A에는 주제 하나가 존재함에도 topic_count는 0으로 표시됩니다. 이에 따라 카테고리 A의 topics_all_time(categories.json 기준)은 98로 표시되는 반면, topic_list(/c/xx.json 기준)를 살펴보면 99개가 확인됩니다.

도움이 된다면, 해당 포럼에 대한 세부 정보를 개인 메시지(PM)로 공유할 수도 있습니다.

버그가 여전히 존재하는지 확인해 주신다면 더 유용할 것입니다. 2.4 버전은 상당히 오래되었고 여러 보안 취약점이 있습니다.

1개의 좋아요

그래서 더 최신 버전(2.7.0.beta8)이 있는 포럼을 확인해 보았고, 해당 문제가 여전히 존재함을 확인했습니다. 하지만 "이상한 주제"는 모든 카테고리에 기본적으로 존재하는, "… 카테고리에 대하여"라는 주제입니다. 따라서 의도된 동작일 수 있습니다. 왜냐하면 상위 카테고리에 수동으로 생성된 추가 주제들은 _계산에 포함_되기 때문입니다.

1개의 좋아요