From 11af22432d7be322fa62ac200289b8d934e4086e Mon Sep 17 00:00:00 2001 From: Michael Walker Date: Fri, 12 Apr 2019 15:58:26 -0700 Subject: [PATCH] Add pinterest domain and asset domains for link preview support --- Signal/translations/en.lproj/Localizable.strings | 2 +- .../src/Messages/Interactions/OWSLinkPreview.swift | 12 ++++++++++-- .../tests/Messages/OWSLinkPreviewTest.swift | 4 ++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings index 509b5e69a..3fbe2f448 100644 --- a/Signal/translations/en.lproj/Localizable.strings +++ b/Signal/translations/en.lproj/Localizable.strings @@ -2166,7 +2166,7 @@ "SETTINGS_LINK_PREVIEWS" = "Send Link Previews"; /* Footer for setting for enabling & disabling link previews. */ -"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for Imgur, Instagram, Reddit, and YouTube links."; +"SETTINGS_LINK_PREVIEWS_FOOTER" = "Previews are supported for Imgur, Instagram, Pinterest, Reddit, and YouTube links."; /* Header for setting for enabling & disabling link previews. */ "SETTINGS_LINK_PREVIEWS_HEADER" = "Link Previews"; diff --git a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift index 470ad790a..862995525 100644 --- a/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift +++ b/SignalServiceKit/src/Messages/Interactions/OWSLinkPreview.swift @@ -311,7 +311,12 @@ public class OWSLinkPreview: MTLModel { // Instagram "instagram.com", "www.instagram.com", - "m.instagram.com" + "m.instagram.com", + + // Pinterest + "pinterest.com", + "www.pinterest.com", + "pin.it" ] // For media domains, we DO NOT require an exact match - subdomains are allowed. @@ -327,7 +332,10 @@ public class OWSLinkPreview: MTLModel { // Instagram "cdninstagram.com", - "fbcdn.net" + "fbcdn.net", + + // Pinterest + "pinimg.com" ] private static let protocolWhitelist = [ diff --git a/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift b/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift index f6e0c86e5..8c9776e44 100644 --- a/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift +++ b/SignalServiceKit/tests/Messages/OWSLinkPreviewTest.swift @@ -130,6 +130,9 @@ class OWSLinkPreviewTest: SSKBaseTestSwift { XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://www.instagram.com/p/BrgpsUjF9Jo/?utm_source=ig_web_button_share_sheet")) XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://www.instagram.com/p/BrgpsUjF9Jo/?utm_source=ig_share_sheet&igshid=94c7ihqjfmbm")) XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://imgur.com/gallery/igHOwDM")) + XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://pinterest.com/something")) + XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://www.pinterest.com/something")) + XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://pin.it/something")) // Strip trailing commas. XCTAssertTrue(OWSLinkPreview.isValidLinkUrl("https://imgur.com/gallery/igHOwDM,")) @@ -171,6 +174,7 @@ class OWSLinkPreviewTest: SSKBaseTestSwift { XCTAssertTrue(OWSLinkPreview.isValidMediaUrl("https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com")) XCTAssertTrue(OWSLinkPreview.isValidMediaUrl("https://scontent-mia3-2.cdninstagram.com/vp/9035a7d6b32e6f840856661e4a11e3cf/5CFC285B/t51.2885-15/e35/47690175_2275988962411653_1145978227188801192_n.jpg?_nc_ht=scontent-mia3-2.cdninstagram.com")) XCTAssertTrue(OWSLinkPreview.isValidMediaUrl("https://i.imgur.com/PYiyLv1.jpg?fbplay")) + XCTAssertTrue(OWSLinkPreview.isValidMediaUrl("https://pinimg.com/something")) } func testPreviewUrlForMessageBodyText() {