Merge commit 'ce23342d72a7f2ca6f8c35727c86ba54c9c365ca' into glitch-soc/merge-upstream

This commit is contained in:
Claire
2025-03-07 13:15:10 +01:00
35 changed files with 553 additions and 517 deletions

View File

@@ -8,7 +8,7 @@ class NoteLengthValidator < ActiveModel::EachValidator
private
def too_long?(value)
countable_text(value).mb_chars.grapheme_length > options[:maximum]
countable_text(value).each_grapheme_cluster.size > options[:maximum]
end
def countable_text(value)

View File

@@ -7,7 +7,7 @@ class PollOptionsValidator < ActiveModel::Validator
def validate(poll)
poll.errors.add(:options, I18n.t('polls.errors.too_few_options')) unless poll.options.size > 1
poll.errors.add(:options, I18n.t('polls.errors.too_many_options', max: MAX_OPTIONS)) if poll.options.size > MAX_OPTIONS
poll.errors.add(:options, I18n.t('polls.errors.over_character_limit', max: MAX_OPTION_CHARS)) if poll.options.any? { |option| option.mb_chars.grapheme_length > MAX_OPTION_CHARS }
poll.errors.add(:options, I18n.t('polls.errors.over_character_limit', max: MAX_OPTION_CHARS)) if poll.options.any? { |option| option.each_grapheme_cluster.size > MAX_OPTION_CHARS }
poll.errors.add(:options, I18n.t('polls.errors.duplicate_options')) unless poll.options.uniq.size == poll.options.size
end
end

View File

@@ -18,7 +18,7 @@ class StatusLengthValidator < ActiveModel::Validator
end
def countable_length(str)
str.mb_chars.grapheme_length
str.each_grapheme_cluster.size
end
def combined_text(status)