Некорректный подсчёт topic_count

Я заметил ошибку, при которой темы, находящиеся только в родительской категории, не учитываются в поле topic_count API.

Форум, на котором я являюсь пользователем, работает на версии Discourse v2.4.0.beta11, поэтому, возможно, эта проблема уже исправлена в более новых версиях. Однако, если это не так, вот сообщение об ошибке.

Структура форума примерно следующая, где категории B и C являются дочерними по отношению к категории A:

    Форум
    ├── ...
    ├── Категория A (n=0)
    │   ├── Категория B (n=92)
    │   └── Категория C (n=6)
    └── ...

Я указал значение topic_count (из /c/xx/show.json) согласно API после каждой категории. Однако на самом деле в категории A есть одна тема, хотя topic_count показывает ноль. Соответственно, topics_all_time (из categories.json) для категории A показывает 98, а при просмотре списка тем (topic_list из /c/xx.json) обнаруживается 99 тем.

Я также могу предоставить дополнительные детали по форуму через личные сообщения, если это поможет.

Это было бы полезнее, если бы вы проверили, что баг всё ещё существует — версия 2.4 уже устарела и содержит несколько уязвимостей безопасности.

1 лайк

Итак, я проверил на форуме с более новой версией (2.7.0.beta8) и могу подтвердить, что проблема всё ещё существует. Но «странный топик» — это тот, который создаётся по умолчанию в каждой категории, например, «О категории…». Возможно, это сделано намеренно, поскольку дополнительные темы, созданные вручную в родительской категории, учитываются.

1 лайк