Moin
15.Апрель.2026 13:27:37
1
Я немного запутался из-за новой функции, объясняющей, почему я не могу использовать определённые теги. В зависимости от поискового запроса иногда указывается, что я могу использовать тег в этой категории, а иногда — что не могу. Если мне не разрешено использовать его в этой категории, разве это не должно быть последовательно? Хотя, как я понимаю, мне разрешено использовать теги компонентов темы в разделе поддержки, поэтому меня интересует, почему автодополнение говорит, что я не могу.
4 лайка
Ахаха, моя вина Функция должна была быть чуть «умнее» в отношении лимитов
main ← fix-disabled-tags-mislabeled
approved 08:33PM - 15 Apr 26 UTC
When searching tags in the composer, `filter_allowed_tags` applies a LIMIT (`max… _tag_search_results`, default 5). If more allowed tags match the query than fit under the limit, the overflow is silently dropped.
`append_disabled_tags` then ran a naive substring query for visible tags matching the term, assumed any tag not in the allowed list must be excluded by filter rules, and asked `explain_exclusion` to fabricate a reason. Allowed-but-cut-off tags leaked into the disabled list and showed the vague fallback "\"X\" cannot be used in this category".
Because `filter_allowed_tags` orders by term (`DISTINCT ON (lower(name) = lower(term), ...)`), the same tag could appear allowed under one search term (prefix match, ranks high, fits in the limit) and disabled under another (mid-string match, ranks lower, gets cut off) — producing inconsistent verdicts for the same tag in the same category.
Before labeling any tag as disabled or forbidden, re-run `filter_allowed_tags` scoped to the candidate names (no limit) and drop any that come back allowed. Extracted to `reject_allowed_tags` so both `append_disabled_tags` and `detect_forbidden_tag` go through the same verification. The probe is skipped when the allowed result didn't saturate its limit, since no cutoff is possible in that case.
https://meta.discourse.org/t/400696
2 лайка