1
0
mirror of synced 2026-05-22 18:33:15 +00:00

FIX: Compatibility with new topic.tag return value (#132)

As part of https://github.com/discourse/discourse/pull/36678, topic.tags now returns an array of tag objects ({ id, name, slug }) instead of an array of tag name strings. 

The core change will break the auto_TOC_tags feature which was comparing the configured tag names against topic.tags using includes(), which no longer worked since it was comparing strings to objects.

This fix normalizes topic.tags to an array of tag names before comparison, maintaining backwards compatibility with both the old string format and the new object format.
This commit is contained in:
Natalie Tay
2026-01-12 11:15:14 +08:00
committed by GitHub
parent 70d45df25e
commit bcc549f1dd
@@ -121,7 +121,9 @@ export default class TocProcessor extends Service {
}
const topicCategory = topic.category_id;
const topicTags = topic.tags || [];
const topicTags = (topic.tags || []).map((t) =>
typeof t === "string" ? t : t.name
);
const hasMatchingTags = autoTags.some((tag) => topicTags.includes(tag));
const hasMatchingCategory = autoCategories.includes(topicCategory);