diff --git a/app/assets/javascripts/discourse/lib/uploads.js.es6 b/app/assets/javascripts/discourse/lib/uploads.js.es6 index 0f12b3aa49..37ded98e4f 100644 --- a/app/assets/javascripts/discourse/lib/uploads.js.es6 +++ b/app/assets/javascripts/discourse/lib/uploads.js.es6 @@ -194,7 +194,7 @@ export function authorizesOneOrMoreImageExtensions(staff) { } export function isImage(path) { - return /\.(png|jpe?g|gif|svg|ico)$/i.test(path); + return /\.(png|webp|jpe?g|gif|svg|ico)$/i.test(path); } export function isVideo(path) { diff --git a/lib/file_helper.rb b/lib/file_helper.rb index c2fb8f6693..cbf11eebbe 100644 --- a/lib/file_helper.rb +++ b/lib/file_helper.rb @@ -133,7 +133,7 @@ class FileHelper end def self.supported_images - @@supported_images ||= Set.new %w{jpg jpeg png gif svg ico} + @@supported_images ||= Set.new %w{jpg jpeg png gif svg ico webp} end def self.supported_audio diff --git a/spec/fixtures/images/tiff_as.bin b/spec/fixtures/images/tiff_as.bin new file mode 100644 index 0000000000..dec1b3cfaa Binary files /dev/null and b/spec/fixtures/images/tiff_as.bin differ diff --git a/spec/lib/upload_creator_spec.rb b/spec/lib/upload_creator_spec.rb index b2df27603e..6e796ea36f 100644 --- a/spec/lib/upload_creator_spec.rb +++ b/spec/lib/upload_creator_spec.rb @@ -79,12 +79,12 @@ RSpec.describe UploadCreator do expect(upload.original_filename).to eq('png_as.png') end - describe 'for webp format' do + describe 'for tiff format' do before do - SiteSetting.authorized_extensions = '.webp|.bin' + SiteSetting.authorized_extensions = '.tiff|.bin' end - let(:filename) { "webp_as.bin" } + let(:filename) { "tiff_as.bin" } let(:file) { file_from_fixtures(filename) } it 'should not correct the coerce filename' do @@ -96,7 +96,7 @@ RSpec.describe UploadCreator do expect(upload.extension).to eq('bin') expect(File.extname(upload.url)).to eq('.bin') - expect(upload.original_filename).to eq('webp_as.bin') + expect(upload.original_filename).to eq('tiff_as.bin') end end end diff --git a/test/javascripts/lib/uploads-test.js.es6 b/test/javascripts/lib/uploads-test.js.es6 index 1dbf5fde3f..0dfc71a4d7 100644 --- a/test/javascripts/lib/uploads-test.js.es6 +++ b/test/javascripts/lib/uploads-test.js.es6 @@ -123,7 +123,7 @@ QUnit.test("allows valid uploads to go through", assert => { }); QUnit.test("isImage", assert => { - ["png", "jpg", "jpeg", "gif", "ico"].forEach(extension => { + ["png", "webp", "jpg", "jpeg", "gif", "ico"].forEach(extension => { var image = "image." + extension; assert.ok(isImage(image), image + " is recognized as an image"); assert.ok(