commit: 3bc8924940ac37b1efa458e160e51f4f0e328d6b
parent: a02de9e0128752c1ec2bd53835d2c065b91601d8
Author: unarist <m.unarist@gmail.com>
Date: Wed, 18 Oct 2017 01:32:25 +0900
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.
Diffstat:
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
@@ -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