Remove domain attribution bypass for trendable providers

This commit is contained in:
Claire 2024-10-16 11:00:30 +02:00
parent 6c87c76e18
commit f0dc1496b3

View file

@ -154,12 +154,11 @@ class FetchLinkCardService < BaseService
link_details_extractor = LinkDetailsExtractor.new(@url, @html, @html_charset) link_details_extractor = LinkDetailsExtractor.new(@url, @html, @html_charset)
domain = Addressable::URI.parse(link_details_extractor.canonical_url).normalized_host domain = Addressable::URI.parse(link_details_extractor.canonical_url).normalized_host
provider = PreviewCardProvider.matching_domain(domain)
linked_account = ResolveAccountService.new.call(link_details_extractor.author_account, suppress_errors: true) if link_details_extractor.author_account.present? linked_account = ResolveAccountService.new.call(link_details_extractor.author_account, suppress_errors: true) if link_details_extractor.author_account.present?
@card = PreviewCard.find_or_initialize_by(url: link_details_extractor.canonical_url) if link_details_extractor.canonical_url != @card.url @card = PreviewCard.find_or_initialize_by(url: link_details_extractor.canonical_url) if link_details_extractor.canonical_url != @card.url
@card.assign_attributes(link_details_extractor.to_preview_card_attributes) @card.assign_attributes(link_details_extractor.to_preview_card_attributes)
@card.author_account = linked_account if linked_account&.can_be_attributed_from?(domain) || provider&.trendable? @card.author_account = linked_account if linked_account&.can_be_attributed_from?(domain)
@card.save_with_optional_image! unless @card.title.blank? && @card.html.blank? @card.save_with_optional_image! unless @card.title.blank? && @card.html.blank?
end end
end end