1
0
mirror of https://framagit.org/tykayn/mastodon.git synced 2023-08-25 08:33:12 +02:00

Fix length validator counting things that look like URIs like URLs ()

URI.extract is too strong, not limited to URLs, matched real text.
Same issue was present in language detector.
This commit is contained in:
Eugen Rochko 2017-07-31 05:06:20 +02:00 committed by GitHub
parent 155ba8fd3a
commit e1fcad34a9
2 changed files with 2 additions and 4 deletions

@ -33,9 +33,7 @@ class LanguageDetector
def simplified_text def simplified_text
text.dup.tap do |new_text| text.dup.tap do |new_text|
URI.extract(new_text).each do |url| new_text.gsub!(FetchLinkCardService::URL_PATTERN, '')
new_text.gsub!(url, '')
end
new_text.gsub!(Account::MENTION_RE, '') new_text.gsub!(Account::MENTION_RE, '')
new_text.gsub!(Tag::HASHTAG_RE, '') new_text.gsub!(Tag::HASHTAG_RE, '')
new_text.gsub!(/\s+/, ' ') new_text.gsub!(/\s+/, ' ')

@ -24,7 +24,7 @@ class StatusLengthValidator < ActiveModel::Validator
def countable_text(status) def countable_text(status)
status.text.dup.tap do |new_text| status.text.dup.tap do |new_text|
URI.extract(new_text).each { |url| new_text.gsub!(url, 'x' * 23) } new_text.gsub!(FetchLinkCardService::URL_PATTERN, 'x' * 23)
new_text.gsub!(Account::MENTION_RE, '@\2') new_text.gsub!(Account::MENTION_RE, '@\2')
end end
end end