Fix length validator counting things that look like URIs like URLs (#4462)
URI.extract is too strong, not limited to URLs, matched real text. Same issue was present in language detector.
This commit is contained in:
parent
155ba8fd3a
commit
e1fcad34a9
|
@ -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
|
||||||
|
|
Reference in a new issue