Fix URL scanning in note length validator and preview card fetching (#15827)
* Add tests * Fix URL scanning in note length validator and preview card fetching
This commit is contained in:
@ -2,12 +2,6 @@
|
||||
|
||||
class StatusLengthValidator < ActiveModel::Validator
|
||||
MAX_CHARS = 500
|
||||
URL_PATTERN = %r{
|
||||
(?:
|
||||
(#{Twitter::TwitterText::Regex[:valid_url_preceding_chars]})
|
||||
(#{FetchLinkCardService::URL_PATTERN})
|
||||
)
|
||||
}iox
|
||||
URL_PLACEHOLDER = "\1#{'x' * 23}"
|
||||
|
||||
def validate(status)
|
||||
@ -35,7 +29,7 @@ class StatusLengthValidator < ActiveModel::Validator
|
||||
return '' if @status.text.nil?
|
||||
|
||||
@status.text.dup.tap do |new_text|
|
||||
new_text.gsub!(URL_PATTERN, URL_PLACEHOLDER)
|
||||
new_text.gsub!(FetchLinkCardService::URL_PATTERN, URL_PLACEHOLDER)
|
||||
new_text.gsub!(Account::MENTION_RE, '@\2')
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user