about summary refs log tree commit diff
path: root/app/validators
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2021-03-04 00:12:26 +0100
committerGitHub <noreply@github.com>2021-03-04 00:12:26 +0100
commit5614e6724e5131f33197ecbc1998058e9794aae9 (patch)
tree2922a476e07dce17322cc397f1870dd6a5e344a8 /app/validators
parent65db2625508c220fd3c0a1f37cdd2e13b6e02987 (diff)
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
Diffstat (limited to 'app/validators')
-rw-r--r--app/validators/note_length_validator.rb2
-rw-r--r--app/validators/status_length_validator.rb8
2 files changed, 2 insertions, 8 deletions
diff --git a/app/validators/note_length_validator.rb b/app/validators/note_length_validator.rb
index 7ea2bb3e5..554ad49ce 100644
--- a/app/validators/note_length_validator.rb
+++ b/app/validators/note_length_validator.rb
@@ -15,7 +15,7 @@ class NoteLengthValidator < ActiveModel::EachValidator
     return '' if value.nil?
 
     value.dup.tap do |new_text|
-      new_text.gsub!(FetchLinkCardService::URL_PATTERN, 'x' * 23)
+      new_text.gsub!(FetchLinkCardService::URL_PATTERN, StatusLengthValidator::URL_PLACEHOLDER)
       new_text.gsub!(Account::MENTION_RE, '@\2')
     end
   end
diff --git a/app/validators/status_length_validator.rb b/app/validators/status_length_validator.rb
index b56c5a321..d036f1925 100644
--- a/app/validators/status_length_validator.rb
+++ b/app/validators/status_length_validator.rb
@@ -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