Exclude_tag не работает в RSS-лентах категорий

exclude_tag не работает в RSS-лентах категорий (и конкретно для них).

Шаги для воспроизведения:

wget -O a.xml “https://meta.discourse.org/c/support/6.rss”
wget -O b.xml “https://meta.discourse.org/c/support/6.rss?exclude_tag=ai”
diff a.xml b.xml

Вы увидите, что оба файла идентичны.

Ожидаемое поведение:

Темы с тегом ai должны быть исключены из RSS-ленты.

Дополнительная информация:

Основная RSS-лента работает корректно, то есть:

wget -O a-all.xml “https://meta.discourse.org/latest.rss”
wget -O b-all.xml “https://meta.discourse.org/latest.rss?exclude_tag=ai”
diff a-all.xml b-all.xml

показывает, что файлы различаются.

У меня есть простое решение!

/latest.rss?category=6&exclude_tag=ai

подтвердил пограничный случай с RSS-лентами категорий.

Что-то вроде этого должно исправить это правильно. Обсудим в команде.

def category_feed
  guardian.ensure_can_see!(@category)
  discourse_expires_in 1.minute
  # ...
  @topic_list = TopicQuery.new(current_user, build_topic_list_options)
                           .list_new_in_category(@category)
  render "list", formats: [:rss]
end
1 лайк

Я могу подтвердить, что простое обходное решение:
a) было простым;
b) действительно сработало.

Большое спасибо!

1 лайк

@f-a спасибо за отчёт :+1: Это будет исправлено в

2 лайка