Я заметил что-то странное с темой приветствия по умолчанию (закреплённой) в категории «Без категории»: она не отображается для анонимных запросов.
Насколько я могу судить, ограничений на её чтение нет: регистрация открыта, это категория «Без категории» по умолчанию (со специальными функциями безопасности), и ни один параметр не ограничивает просмотр содержимого.
JSON-представление показывает обработанную версию поста, однако HTML-версия пуста:
@hellekin У меня точно такая же проблема. Если удалить пост с политикой или отключить плагин в настройках, тема появится.
Похоже, это баг: незарегистрированные пользователи не могут видеть тему, если в посте используется политика.
Я выследил виновника: это discourse-policy, как и предполагал @Vraag. Вопреки словам @Vraag, плагин влияет на «исчезающую» тему даже в отключённом состоянии: достаточно наличия его в списке плагинов, чтобы тема «исчезала» для незарегистрированных пользователей.
Обратите внимание, что plugin.rb загружает множество зависимостей ещё до выполнения каких-либо действий. Возможно, ошибка возникает из-за одной из этих зависимостей, которая ожидает авторизованного пользователя.
Нет, отключите плагин, отредактируйте пост, содержащий плагин (например, добавьте случайную букву в начало поста), сохраните его, и незарегистрированные пользователи смогут видеть пост.
Разметка отобразится как [policy][/policy] и не будет ничего делать.
Интересно, почему простого отключения плагина недостаточно. После этого нужно обязательно отредактировать пост, иначе эффект продолжит действовать.
Странно, но повторное включение плагина возвращает всё в норму. Не совсем понимаю, что с этим делать.
Думаю, эта тема пригодится в будущем, поэтому вот она: если какая-то тема «исчезает» из анонимного просмотра, и у вас есть пост с использованием плагина discourse-policy…
Отключите плагин — если это не поможет: удалите его из YAML-файла конфигурации контейнера и пересоберите.
Отредактируйте пост с тегом [policy], чтобы он был пересобран и отключен (возможно, достаточно «пересобрать HTML»?).
Что вы имеете в виду под «произошла какая-то магия»? Я сделал всё, как вы сказали, и получил вот это:
[policy group=testgroup reminder=daily]
Test
[/policy]
Это не решает проблему. Скорее, это даже не исправление, а просто отказ от использования плагина. Если я отредактирую пост или пересоберу HTML, плагин заработает, но тема снова исчезнет для незарегистрированных пользователей.
Редактирование
Похоже, у вас та же ситуация. В вашей теме второй пост выглядит так:
[policy group=trust_level_1 reminder=daily]
Мы не используем сторонние файлы cookie.
[/policy]
Так что у нас всё ещё нет «решения». Если только не считать решением отказ от использования плагина xD. Вы могли бы просто удалить разметку из второго поста — результат будет тот же.
В текущем виде плагин можно использовать только в приватных категориях, где незарегистрированные пользователи всё равно не видят тему.