Фильтр подкатегории исчезает на /none

Настройка категории default list filter (фильтр списка по умолчанию), добавленная после обсуждения по этой теме: In a top category page, show only its own topics below subcategories - #29 by sam, вызывает недетерминированное поведение, насколько я понимаю.

Похоже, что установка значения «no subcategories» (без подкатегорий) перенаправляет базовый URL категории на URL категории /none. Однако иногда на этой странице отображается фильтр «subcategory» (подкатегория), а иногда нет. Особенно при первом клике на категорию этот фильтр не отображается. В результате подкатегории невозможно найти — они полностью невидимы. Если же обновить страницу, фильтр появляется снова.

Возможно, сам фильтр не является причиной проблемы, а лишь выявляет её: до появления этого фильтра единственным способом доступа к /none было открытие фильтра подкатегорий, поэтому он уже был отображён, и мы не знали, что иногда он может не отображаться. Если это имеет смысл.

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

  • В категории установите настройку default list filter в значение «no subcategories» и сохраните изменения.
  • Перейдите в указанную категорию любым обычным способом, например, через ссылку в меню.
  • Фильтр подкатегорий не отображается.
  • Обновите страницу — теперь фильтр отображается.
1 лайк

Спасибо за подробный отчёт. Добавляю метку pr-welcome, на случай если кто-то из сообщества захочет попробовать исправить это.

2 лайка

Вы угадали. Фильтр исчез по ряду причин, которые по сути заключались в неспособности передавать корректные данные о категориях и правильно отслеживать изменения в интерфейсе.

Более подробную информацию о применённом исправлении можно найти по ссылке: FIX: subcategory filter should be always visible on category view page by yuriyaran · Pull Request #36050 · discourse/discourse · GitHub.

3 лайка