From 3bc8924940ac37b1efa458e160e51f4f0e328d6b Mon Sep 17 00:00:00 2001 From: unarist Date: Wed, 18 Oct 2017 01:32:25 +0900 Subject: [PATCH] Don't capture scheme-less URLs in the status (#5435) Specifically, this fixes status length calculation to be same as JS side. BTW, since this pattern used in not only preview card fetching, we should extract it (with twitter-regex?) and write tests I think. --- app/services/fetch_link_card_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb index 7029c4d75..14c21b6cc 100644 --- a/app/services/fetch_link_card_service.rb +++ b/app/services/fetch_link_card_service.rb @@ -3,7 +3,7 @@ class FetchLinkCardService < BaseService URL_PATTERN = %r{ ( # $1 URL - (https?:\/\/)? # $2 Protocol (optional) + (https?:\/\/) # $2 Protocol (required) (#{Twitter::Regex[:valid_domain]}) # $3 Domain(s) (?::(#{Twitter::Regex[:valid_port_number]}))? # $4 Port number (optional) (/#{Twitter::Regex[:valid_url_path]}*)? # $5 URL Path and anchor