我注意到一个漏洞:仅存在于父类别中的主题未被计入 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 在 /c/xx/show.json 中获取的 topic_count 值,在每个类别后进行了标注。但实际上,类别 A 中确实存在一个主题,尽管 topic_count 显示为零。相应地,类别 A 的 topics_all_time(来自 categories.json)显示为 98,而浏览 topic_list(来自 /c/xx.json)则显示为 99。
如果需要,我可以通过私信分享该论坛的更多详细信息,以便协助排查。