From 1761ae6ab0474d10974b5a264064f495144f8448 Mon Sep 17 00:00:00 2001 From: Zee Aslam Date: Wed, 25 Jun 2025 14:22:46 -0400 Subject: [PATCH 1/3] Update poll_options_validator.rb --- app/validators/poll_options_validator.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/validators/poll_options_validator.rb b/app/validators/poll_options_validator.rb index fd29fc1b443..3d1c0863415 100644 --- a/app/validators/poll_options_validator.rb +++ b/app/validators/poll_options_validator.rb @@ -1,8 +1,9 @@ # frozen_string_literal: true class PollOptionsValidator < ActiveModel::Validator - MAX_OPTIONS = 4 MAX_OPTION_CHARS = 50 + MAX_OPTIONS = (ENV['MAX_POLL_OPTIONS'] || 5).to_i + MAX_OPTION_CHARS = (ENV['MAX_POLL_OPTION_CHARS'] || 100).to_i def validate(poll) poll.errors.add(:options, I18n.t('polls.errors.too_few_options')) unless poll.options.size > 1 From 9b9e3dd453476c62e88bd02d9c62607bc1065de8 Mon Sep 17 00:00:00 2001 From: Zee Aslam Date: Wed, 25 Jun 2025 14:25:12 -0400 Subject: [PATCH 2/3] Update .env.production.sample --- .env.production.sample | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.env.production.sample b/.env.production.sample index 15004b9d0d9..12e3d32be73 100644 --- a/.env.production.sample +++ b/.env.production.sample @@ -109,3 +109,9 @@ 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 From aa6a77fa1bdaf7fa8de07f37eca09a4143743a54 Mon Sep 17 00:00:00 2001 From: Zee Aslam Date: Wed, 25 Jun 2025 19:08:28 -0400 Subject: [PATCH 3/3] Update poll_options_validator.rb Fix defaults to upstream mastodon values instead of glitch-soc --- app/validators/poll_options_validator.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/validators/poll_options_validator.rb b/app/validators/poll_options_validator.rb index 3d1c0863415..646e8f98267 100644 --- a/app/validators/poll_options_validator.rb +++ b/app/validators/poll_options_validator.rb @@ -1,9 +1,8 @@ # frozen_string_literal: true class PollOptionsValidator < ActiveModel::Validator - MAX_OPTION_CHARS = 50 - MAX_OPTIONS = (ENV['MAX_POLL_OPTIONS'] || 5).to_i - MAX_OPTION_CHARS = (ENV['MAX_POLL_OPTION_CHARS'] || 100).to_i + 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