From c4d45765e373464381ef5817a960b247f148e896 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Nov 2019 11:36:16 +0100 Subject: Change domain block behavior to update user records before deleting data (#12247) When suspending or silencing a domain, one probably wants the silence or suspend parts to take effect as soon as possible. Deleting media files can take a while (possibly days), so perform silencing as soon as possible, and clean up media afterwards. --- app/services/block_domain_service.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'app/services') diff --git a/app/services/block_domain_service.rb b/app/services/block_domain_service.rb index ae461abf2..9f0860674 100644 --- a/app/services/block_domain_service.rb +++ b/app/services/block_domain_service.rb @@ -20,13 +20,13 @@ class BlockDomainService < BaseService end def process_domain_block! - clear_media! if domain_block.reject_media? - if domain_block.silence? silence_accounts! elsif domain_block.suspend? suspend_accounts! end + + clear_media! if domain_block.reject_media? end def invalidate_association_caches! -- cgit From c656cc2191479551806d288bdfb6a30aa35bcb23 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 21 Nov 2019 16:04:52 +0100 Subject: Fix FetchLinkCardServices crashing on a tags without a target (#12159) * Add test for links without targets * Fix FetchLinkCardServices crashing on a tags without a target --- app/services/fetch_link_card_service.rb | 2 +- spec/services/fetch_link_card_service_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'app/services') diff --git a/app/services/fetch_link_card_service.rb b/app/services/fetch_link_card_service.rb index 29880e8d8..5d4a7c303 100644 --- a/app/services/fetch_link_card_service.rb +++ b/app/services/fetch_link_card_service.rb @@ -67,7 +67,7 @@ class FetchLinkCardService < BaseService else html = Nokogiri::HTML(@status.text) links = html.css('a') - urls = links.map { |a| Addressable::URI.parse(a['href']).normalize unless skip_link?(a) }.compact + urls = links.map { |a| Addressable::URI.parse(a['href']) unless skip_link?(a) }.compact.map(&:normalize).compact end urls.reject { |uri| bad_url?(uri) }.first diff --git a/spec/services/fetch_link_card_service_spec.rb b/spec/services/fetch_link_card_service_spec.rb index 3c8f6f578..8b296cc70 100644 --- a/spec/services/fetch_link_card_service_spec.rb +++ b/spec/services/fetch_link_card_service_spec.rb @@ -80,7 +80,7 @@ RSpec.describe FetchLinkCardService, type: :service do end context 'in a remote status' do - let(:status) { Fabricate(:status, account: Fabricate(:account, domain: 'example.com'), text: 'Habt ihr ein paar gute Links zu #Wannacry herumfliegen? Ich will mal unter
https://github.com/qbi/WannaCry was sammeln. !security ') } + let(:status) { Fabricate(:status, account: Fabricate(:account, domain: 'example.com'), text: 'Habt ihr ein paar gute Links zu foo #Wannacry herumfliegen? Ich will mal unter
https://github.com/qbi/WannaCry was sammeln. !security ') } it 'parses out URLs' do expect(a_request(:get, 'https://github.com/qbi/WannaCry')).to have_been_made.at_least_once -- cgit From a60b602ade955c8ce620facae160ffabd7893d4b Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 21 Nov 2019 19:03:07 +0100 Subject: Fix OEmbed discovery not handling different URL variants in query (#12439) Fix #12433 --- app/services/fetch_oembed_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'app/services') diff --git a/app/services/fetch_oembed_service.rb b/app/services/fetch_oembed_service.rb index 4f8498c62..76d971bc5 100644 --- a/app/services/fetch_oembed_service.rb +++ b/app/services/fetch_oembed_service.rb @@ -58,7 +58,7 @@ class FetchOEmbedService url_domain = Addressable::URI.parse(@url).normalized_host endpoint_hash = { - endpoint: @endpoint_url.gsub(URI.encode_www_form_component(@url), '{url}'), + endpoint: @endpoint_url.gsub(/(=(http[s]?(%3A|:)(\/\/|%2F%2F)))([^&]*)/i, '={url}'), format: @format, } -- cgit