Исходя из описания здесь (Understanding Discourse Trust Levels), цитата:
Пользователи с уровнем доверия 1 могут…
Использовать все основные функции Discourse; все ограничения для новых пользователей сняты
Одно из ограничений для пользователей (также цитата):
Пользователи с уровнем доверия 0 не могут …
Создавать более 3 тем
Я полагаю, что это относится к настройке max_topics_in_first_day, которая используется в этой функции (ссылка на GitHub):
# Дополнительные ограничения скорости для тем: в день и личных сообщений в день
def limit_topics_per_day
return unless regular?
if user && user.new_user_posting_on_first_day?
limit_first_day_topics_per_day
else
apply_per_day_rate_limit_for("topics", :max_topics_per_day)
end
end
Кажется, что метод new_user_posting_on_first_day не совсем соответствует описанию на странице блога выше. Его реализация:
def new_user_posting_on_first_day?
!staff? && trust_level < TrustLevel[2] &&
(
trust_level == TrustLevel[0] || self.first_post_created_at.nil? ||
self.first_post_created_at >= 24.hours.ago
)
end
Согласно коду: если пользователь имеет уровень TL1 и создал свой первый пост в тот же день, то эта функция возвращает true, и применяется ограничение max_topics_in_first_day.
Согласно блогу: если пользователь имеет уровень TL1, все ограничения для новых пользователей сняты. Следовательно, я предполагаю, что max_topics_in_first_day не должен применяться.
Мои вопросы:
- Является ли это ошибкой в коде?
- Если это сделано намеренно, существует ли отдельная настройка для контроля количества тем, которые пользователь TL1 может создать в свой первый день? Я бы хотел, чтобы это значение было выше, чем для TL0.