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:
parent
65db262550
commit
5614e6724e
6 changed files with 52 additions and 16 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue