diff --git a/.env.production.sample b/.env.production.sample index 9ff63c49ef1..52a2838cbf5 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -88,3 +88,27 @@ S3_ALIAS_HOST=files.example.com # ----------------------- IP_RETENTION_PERIOD=31556952 SESSION_RETENTION_PERIOD=31556952 + +# Fetch All Replies Behavior +# -------------------------- + +# Period to wait between fetching replies (in minutes) +FETCH_REPLIES_COOLDOWN_MINUTES=15 + +# Period to wait after a post is first created before fetching its replies (in minutes) +FETCH_REPLIES_INITIAL_WAIT_MINUTES=5 + +# Max number of replies to fetch - total, recursively through a whole reply tree +FETCH_REPLIES_MAX_GLOBAL=1000 + +# Max number of replies to fetch - for a single post +FETCH_REPLIES_MAX_SINGLE=500 + +# Max number of replies Collection pages to fetch - total +FETCH_REPLIES_MAX_PAGES=500 + +# Maximum allowed poll options +MAX_POLL_OPTIONS=4 + +# Maximum allowed poll option characters +MAX_POLL_OPTION_CHARS=50 diff --git a/app/validators/poll_options_validator.rb b/app/validators/poll_options_validator.rb index fd29fc1b443..646e8f98267 100644 --- a/app/validators/poll_options_validator.rb +++ b/app/validators/poll_options_validator.rb @@ -1,8 +1,8 @@ # frozen_string_literal: true class PollOptionsValidator < ActiveModel::Validator - MAX_OPTIONS = 4 - MAX_OPTION_CHARS = 50 + MAX_OPTIONS = (ENV['MAX_POLL_OPTIONS'] || 4).to_i + MAX_OPTION_CHARS = (ENV['MAX_POLL_OPTION_CHARS'] || 50).to_i def validate(poll) poll.errors.add(:options, I18n.t('polls.errors.too_few_options')) unless poll.options.size > 1