diff --git a/app/jobs/regular/pull_hotlinked_images.rb b/app/jobs/regular/pull_hotlinked_images.rb index 415ce3b569c..9472da0cbfc 100644 --- a/app/jobs/regular/pull_hotlinked_images.rb +++ b/app/jobs/regular/pull_hotlinked_images.rb @@ -173,7 +173,7 @@ module Jobs # If file is on the forum or CDN domain or already has the # secure media url - if UrlHelper.is_local(src) || Upload.secure_media_url?(src) + if Discourse.store.has_been_uploaded?(src) || src =~ /\A\/[^\/]/i || Upload.secure_media_url?(src) return false if src =~ /\/images\/emoji\// # Someone could hotlink a file from a different site on the same CDN, diff --git a/spec/jobs/pull_hotlinked_images_spec.rb b/spec/jobs/pull_hotlinked_images_spec.rb index b5893830046..f0531b843f7 100644 --- a/spec/jobs/pull_hotlinked_images_spec.rb +++ b/spec/jobs/pull_hotlinked_images_spec.rb @@ -360,23 +360,6 @@ describe Jobs::PullHotlinkedImages do end end - it "returns false for emoji" do - src = Emoji.url_for("testemoji.png") - expect(subject.should_download_image?(src)).to eq(false) - end - - it "returns false for emoji when app and S3 CDNs configured" do - set_cdn_url "https://mydomain.cdn/test" - SiteSetting.s3_upload_bucket = "some-bucket-on-s3" - SiteSetting.s3_access_key_id = "s3-access-key-id" - SiteSetting.s3_secret_access_key = "s3-secret-access-key" - SiteSetting.s3_cdn_url = "https://s3.cdn.com" - SiteSetting.enable_s3_uploads = true - - src = UrlHelper.cook_url(Emoji.url_for("testemoji.png")) - expect(subject.should_download_image?(src)).to eq(false) - end - context "when download_remote_images_to_local? is false" do before do SiteSetting.download_remote_images_to_local = false @@ -387,6 +370,11 @@ describe Jobs::PullHotlinkedImages do expect(subject.should_download_image?(src)).to eq(true) end + it "returns false for emoji" do + src = Emoji.url_for("testemoji.png") + expect(subject.should_download_image?(src)).to eq(false) + end + it 'returns false for valid remote URLs' do expect(subject.should_download_image?("http://meta.discourse.org")).to eq(false) end