Remove FaviconUploader favicon_main version
See https://gitlab.com/gitlab-org/gitlab-ce/issues/47677 for more information
This commit is contained in:
parent
a8445cc29d
commit
5fc3b8a08d
7 changed files with 6 additions and 63 deletions
|
@ -1,17 +1,6 @@
|
|||
class FaviconUploader < AttachmentUploader
|
||||
EXTENSION_WHITELIST = %w[png ico].freeze
|
||||
|
||||
include CarrierWave::MiniMagick
|
||||
|
||||
version :favicon_main do
|
||||
process resize_to_fill: [32, 32]
|
||||
process convert: 'png'
|
||||
|
||||
def full_filename(filename)
|
||||
filename_for_different_format(super(filename), 'png')
|
||||
end
|
||||
end
|
||||
|
||||
def extension_whitelist
|
||||
EXTENSION_WHITELIST
|
||||
end
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
= f.label :favicon, 'Favicon', class: 'col-sm-2 col-form-label'
|
||||
.col-sm-10
|
||||
- if @appearance.favicon?
|
||||
= image_tag @appearance.favicon.favicon_main.url, class: 'appearance-light-logo-preview'
|
||||
= image_tag @appearance.favicon_url, class: 'appearance-light-logo-preview'
|
||||
- if @appearance.persisted?
|
||||
%br
|
||||
= link_to 'Remove favicon', favicon_admin_appearances_path, data: { confirm: "Favicon will be removed. Are you sure?"}, method: :delete, class: "btn btn-inverted btn-remove btn-sm remove-logo"
|
||||
|
@ -33,9 +33,9 @@
|
|||
= f.hidden_field :favicon_cache
|
||||
= f.file_field :favicon, class: ''
|
||||
.hint
|
||||
Maximum file size is 1MB. Allowed image formats are #{favicon_extension_whitelist}.
|
||||
Maximum file size is 1MB. Image size must be 32x32px. Allowed image formats are #{favicon_extension_whitelist}.
|
||||
%br
|
||||
The resulting favicons will be cropped to be square and scaled down to a size of 32x32 px.
|
||||
Images with incorrect dimensions are not resized automatically, and may result in unexpected behavior.
|
||||
|
||||
%fieldset.sign-in
|
||||
%legend
|
||||
|
|
|
@ -2,7 +2,7 @@ module Gitlab
|
|||
class Favicon
|
||||
class << self
|
||||
def main
|
||||
return appearance_favicon.favicon_main.url if appearance_favicon.exists?
|
||||
return appearance_favicon.url if appearance_favicon.exists?
|
||||
|
||||
image_name =
|
||||
if Gitlab::Utils.to_boolean(ENV['CANARY'])
|
||||
|
|
|
@ -580,23 +580,6 @@ describe UploadsController do
|
|||
expect(response).to have_gitlab_http_status(404)
|
||||
end
|
||||
end
|
||||
|
||||
context 'has a valid filename on the version file' do
|
||||
it 'successfully returns the file' do
|
||||
get :show, model: 'appearance', mounted_as: 'favicon', id: appearance.id, filename: 'favicon_main_dk.png'
|
||||
|
||||
expect(response).to have_gitlab_http_status(200)
|
||||
expect(response.header['Content-Disposition']).to end_with 'filename="favicon_main_dk.png"'
|
||||
end
|
||||
end
|
||||
|
||||
context 'has an invalid filename on the version file' do
|
||||
it 'returns a 404' do
|
||||
get :show, model: 'appearance', mounted_as: 'favicon', id: appearance.id, filename: 'favicon_bogusversion_dk.png'
|
||||
|
||||
expect(response).to have_gitlab_http_status(404)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -19,7 +19,7 @@ RSpec.describe Gitlab::Favicon, :request_store do
|
|||
|
||||
it 'uses the custom favicon if a favicon appearance is present' do
|
||||
create :appearance, favicon: fixture_file_upload('spec/fixtures/dk.png')
|
||||
expect(described_class.main).to match %r{/uploads/-/system/appearance/favicon/\d+/favicon_main_dk.png}
|
||||
expect(described_class.main).to match %r{/uploads/-/system/appearance/favicon/\d+/dk.png}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -478,7 +478,7 @@ describe JiraService do
|
|||
create :appearance, favicon: fixture_file_upload('spec/fixtures/dk.png')
|
||||
|
||||
props = described_class.new.send(:build_remote_link_props, url: 'http://example.com', title: 'title')
|
||||
expect(props[:object][:icon][:url16x16]).to match %r{^http://localhost/uploads/-/system/appearance/favicon/\d+/favicon_main_dk.png$}
|
||||
expect(props[:object][:icon][:url16x16]).to match %r{^http://localhost/uploads/-/system/appearance/favicon/\d+/dk.png$}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
require 'spec_helper'
|
||||
|
||||
RSpec.describe FaviconUploader do
|
||||
include CarrierWave::Test::Matchers
|
||||
|
||||
let(:uploader) { described_class.new(build_stubbed(:user)) }
|
||||
|
||||
after do
|
||||
uploader.remove!
|
||||
end
|
||||
|
||||
def upload_fixture(filename)
|
||||
fixture_file_upload("spec/fixtures/#{filename}")
|
||||
end
|
||||
|
||||
context 'versions' do
|
||||
before do
|
||||
uploader.store!(upload_fixture('dk.png'))
|
||||
end
|
||||
|
||||
it 'has the correct format' do
|
||||
expect(uploader.favicon_main).to be_format('png')
|
||||
end
|
||||
|
||||
it 'has the correct dimensions' do
|
||||
expect(uploader.favicon_main).to have_dimensions(32, 32)
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue