about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2021-11-13 23:07:13 +0100
committerGitHub <noreply@github.com>2021-11-13 23:07:13 +0100
commit5d7c852283b1afd603f169e9ace80bf1714795d0 (patch)
treedc1603b30eb7dfce31d7ed54d8f6a09bcb5c6321 /app
parent070b1b839739e8c8ae4cd733550f23b1a60cab1d (diff)
Fix no link previews being generated for pages with invalid structured data (#16979)
Fix #16955
Diffstat (limited to 'app')
-rw-r--r--app/lib/link_details_extractor.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/lib/link_details_extractor.rb b/app/lib/link_details_extractor.rb
index 3876173e0..8b38e8d0c 100644
--- a/app/lib/link_details_extractor.rb
+++ b/app/lib/link_details_extractor.rb
@@ -59,7 +59,7 @@ class LinkDetailsExtractor
     end
 
     def json
-      @json ||= Oj.load(@data)
+      @json ||= first_of_value(Oj.load(@data))
     end
   end
 
@@ -178,6 +178,8 @@ class LinkDetailsExtractor
     @structured_data ||= begin
       json_ld = document.xpath('//script[@type="application/ld+json"]').map(&:content).first
       json_ld.present? ? StructuredData.new(json_ld) : nil
+    rescue Oj::ParseError
+      nil
     end
   end