diff --git a/app/assets/images/ci_favicons/dev/favicon_status_canceled.ico b/app/assets/images/ci_favicons/dev/favicon_status_canceled.ico deleted file mode 100644 index 4af3582b60d2fa40201791f2865491fb84e0ae76..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_canceled.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_created.ico b/app/assets/images/ci_favicons/dev/favicon_status_created.ico deleted file mode 100644 index 13639da2e8a343576006037c7ca2345beee1fd20..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_created.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_failed.ico b/app/assets/images/ci_favicons/dev/favicon_status_failed.ico deleted file mode 100644 index 5f0e711b104b2e4bf88a3c726cdb9b7f17a09844..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_failed.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_manual.ico b/app/assets/images/ci_favicons/dev/favicon_status_manual.ico deleted file mode 100644 index 8b1168a12670142ec5164d5a8f5baea951b6d7d3..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_manual.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_not_found.ico b/app/assets/images/ci_favicons/dev/favicon_status_not_found.ico deleted file mode 100644 index ed19b69e1c5bef5fc97b8d8273886f6fbbd028f2..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_not_found.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_pending.ico b/app/assets/images/ci_favicons/dev/favicon_status_pending.ico deleted file mode 100644 index 5dfefd4cc5a284aa507915ee8dd8efb3ab2a34b4..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_pending.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_running.ico b/app/assets/images/ci_favicons/dev/favicon_status_running.ico deleted file mode 100644 index a41539c0e3e8fe178f3ea88fbce6c66b00df3c2c..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_running.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_skipped.ico b/app/assets/images/ci_favicons/dev/favicon_status_skipped.ico deleted file mode 100644 index 2c1ae552b930be794abee0286d25a11fbeafb261..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_skipped.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_success.ico b/app/assets/images/ci_favicons/dev/favicon_status_success.ico deleted file mode 100644 index 70f0ca61eca731f254935c0babc2d4002b0c7518..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_success.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/dev/favicon_status_warning.ico b/app/assets/images/ci_favicons/dev/favicon_status_warning.ico deleted file mode 100644 index db289e03eb15e0b5d799c1e58864e5941ca66da0..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/dev/favicon_status_warning.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/favicon_status_canceled.ico b/app/assets/images/ci_favicons/favicon_status_canceled.ico deleted file mode 100644 index 23adcffff5082fb84b1dc17f547875d7d3792251..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_canceled.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_canceled.png b/app/assets/images/ci_favicons/favicon_status_canceled.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_canceled.png rename to app/assets/images/ci_favicons/favicon_status_canceled.png diff --git a/app/assets/images/ci_favicons/favicon_status_created.ico b/app/assets/images/ci_favicons/favicon_status_created.ico deleted file mode 100644 index f9d93b390d8fe6dd63003ea7ebd95c057e7ebc8e..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_created.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_created.png b/app/assets/images/ci_favicons/favicon_status_created.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_created.png rename to app/assets/images/ci_favicons/favicon_status_created.png diff --git a/app/assets/images/ci_favicons/favicon_status_failed.ico b/app/assets/images/ci_favicons/favicon_status_failed.ico deleted file mode 100644 index 28a22ebf724de909925b6f1b614a7385cbbf86a7..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_failed.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_failed.png b/app/assets/images/ci_favicons/favicon_status_failed.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_failed.png rename to app/assets/images/ci_favicons/favicon_status_failed.png diff --git a/app/assets/images/ci_favicons/favicon_status_manual.ico b/app/assets/images/ci_favicons/favicon_status_manual.ico deleted file mode 100644 index dbbf1abf30c354d547fe599db7e884815f7ef7e6..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_manual.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_manual.png b/app/assets/images/ci_favicons/favicon_status_manual.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_manual.png rename to app/assets/images/ci_favicons/favicon_status_manual.png diff --git a/app/assets/images/ci_favicons/favicon_status_not_found.ico b/app/assets/images/ci_favicons/favicon_status_not_found.ico deleted file mode 100644 index 49b9b232dd1a27e39b1d3c82cbf2292239402d09..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_not_found.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_not_found.png b/app/assets/images/ci_favicons/favicon_status_not_found.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_not_found.png rename to app/assets/images/ci_favicons/favicon_status_not_found.png diff --git a/app/assets/images/ci_favicons/favicon_status_pending.ico b/app/assets/images/ci_favicons/favicon_status_pending.ico deleted file mode 100644 index 05962f3f148842ece8c1fe9c996abb1692776672..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_pending.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_pending.png b/app/assets/images/ci_favicons/favicon_status_pending.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_pending.png rename to app/assets/images/ci_favicons/favicon_status_pending.png diff --git a/app/assets/images/ci_favicons/favicon_status_running.ico b/app/assets/images/ci_favicons/favicon_status_running.ico deleted file mode 100644 index 7fa3d4d48d43f7ad2a4d76dd51edda2a863904c0..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_running.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_running.png b/app/assets/images/ci_favicons/favicon_status_running.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_running.png rename to app/assets/images/ci_favicons/favicon_status_running.png diff --git a/app/assets/images/ci_favicons/favicon_status_skipped.ico b/app/assets/images/ci_favicons/favicon_status_skipped.ico deleted file mode 100644 index b0c26b62068063c7d9a343be7d5d2feef25a4c42..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_skipped.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_skipped.png b/app/assets/images/ci_favicons/favicon_status_skipped.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_skipped.png rename to app/assets/images/ci_favicons/favicon_status_skipped.png diff --git a/app/assets/images/ci_favicons/favicon_status_success.ico b/app/assets/images/ci_favicons/favicon_status_success.ico deleted file mode 100644 index b150960b5befbb2a8ae5a61cdcb64437ac9a98d8..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_success.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_success.png b/app/assets/images/ci_favicons/favicon_status_success.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_success.png rename to app/assets/images/ci_favicons/favicon_status_success.png diff --git a/app/assets/images/ci_favicons/favicon_status_warning.ico b/app/assets/images/ci_favicons/favicon_status_warning.ico deleted file mode 100644 index 7e71d71684df725e091c00c67a6d763c898bdedd..0000000000000000000000000000000000000000 Binary files a/app/assets/images/ci_favicons/favicon_status_warning.ico and /dev/null differ diff --git a/app/assets/images/ci_favicons/overlays/favicon_status_warning.png b/app/assets/images/ci_favicons/favicon_status_warning.png similarity index 100% rename from app/assets/images/ci_favicons/overlays/favicon_status_warning.png rename to app/assets/images/ci_favicons/favicon_status_warning.png diff --git a/app/assets/images/favicon-blue.png b/app/assets/images/favicon-blue.png new file mode 100644 index 0000000000000000000000000000000000000000..2229fe79462352e45e86a52c6c969647db689596 Binary files /dev/null and b/app/assets/images/favicon-blue.png differ diff --git a/app/assets/images/favicon-yellow.ico b/app/assets/images/favicon-yellow.ico deleted file mode 100644 index b650f277fb66d6193e27e1f2bfe59f751159270b..0000000000000000000000000000000000000000 Binary files a/app/assets/images/favicon-yellow.ico and /dev/null differ diff --git a/app/assets/images/favicon-yellow.png b/app/assets/images/favicon-yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..2d5289818b47e3da5d8902302d01024acd26c7d8 Binary files /dev/null and b/app/assets/images/favicon-yellow.png differ diff --git a/app/assets/images/favicon.ico b/app/assets/images/favicon.ico deleted file mode 100644 index 3479cbbb46f60e2a0d1b830d07e4b9cdaf8180db..0000000000000000000000000000000000000000 Binary files a/app/assets/images/favicon.ico and /dev/null differ diff --git a/app/assets/images/favicon.png b/app/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..845e0ec34a513a2c35702b4a2390f33f1732d6e2 Binary files /dev/null and b/app/assets/images/favicon.png differ diff --git a/app/assets/javascripts/favicon_admin.js b/app/assets/javascripts/favicon_admin.js index 6b2dcf4502efad95fea93b8b63318ec71966c6f8..97e87054ce00773ce24201aa15b9d9a8381b8463 100644 --- a/app/assets/javascripts/favicon_admin.js +++ b/app/assets/javascripts/favicon_admin.js @@ -4,7 +4,7 @@ export default class FaviconAdmin { constructor() { const faviconContainer = $('.js-favicons'); const faviconUrl = faviconContainer.data('favicon'); - const overlayUrls = faviconContainer.data('status-overlays'); + const overlayUrls = faviconContainer.data('status-overlays') || []; overlayUrls.forEach((statusOverlay) => { createOverlayIcon(faviconUrl, statusOverlay).then((faviconWithOverlayUrl) => { diff --git a/app/assets/javascripts/vue_shared/components/file_icon/file_icon_map.js b/app/assets/javascripts/vue_shared/components/file_icon/file_icon_map.js index 9ffbaae3ea51965d95675d4cc5fa29014ba61e1a..9bca1993ccc2b09cfd8e0cabe24432baada4daf7 100644 --- a/app/assets/javascripts/vue_shared/components/file_icon/file_icon_map.js +++ b/app/assets/javascripts/vue_shared/components/file_icon/file_icon_map.js @@ -513,7 +513,7 @@ const fileNameIcons = { 'credits.md': 'credits', 'credits.md.rendered': 'credits', '.flowconfig': 'flow', - 'favicon.ico': 'favicon', + 'favicon.png': 'favicon', 'karma.conf.js': 'karma', 'karma.conf.ts': 'karma', 'karma.conf.coffee': 'karma', diff --git a/app/models/project_services/jira_service.rb b/app/models/project_services/jira_service.rb index eb3261c902f81cc6c36a30e0764fadf3a441495c..2edfe7d81f8d1f2d56ab1ca7d5f22510973b4424 100644 --- a/app/models/project_services/jira_service.rb +++ b/app/models/project_services/jira_service.rb @@ -265,7 +265,7 @@ class JiraService < IssueTrackerService title: title, status: status, icon: { - title: 'GitLab', url16x16: asset_url('favicon.ico', host: gitlab_config.url) + title: 'GitLab', url16x16: asset_url('favicon.png', host: gitlab_config.url) } } } diff --git a/doc/user/reserved_names.md b/doc/user/reserved_names.md index 50ec99be48b2dbe54ecaea79074ddb279db6cf52..6c1378560ef8de994fcbc4fed260f49f19a92fb1 100644 --- a/doc/user/reserved_names.md +++ b/doc/user/reserved_names.md @@ -58,7 +58,7 @@ Currently the following names are reserved as top level groups: - dashboard - deploy.html - explore -- favicon.ico +- favicon.png - groups - header_logo_dark.png - header_logo_light.png diff --git a/lib/gitlab/favicon.rb b/lib/gitlab/favicon.rb index e28d4c6766144887354f3c783598572d7fa5787c..d0178d0fdf9a5d1a44b04bd0f42244553f1e480b 100644 --- a/lib/gitlab/favicon.rb +++ b/lib/gitlab/favicon.rb @@ -3,16 +3,15 @@ module Gitlab class << self def main return custom_favicon_url(appearance_favicon.favicon_main.url) if appearance_favicon.exists? - return 'favicon-yellow.ico' if Gitlab::Utils.to_boolean(ENV['CANARY']) - return 'favicon-blue.ico' if Rails.env.development? + return ActionController::Base.helpers.image_path('favicon-yellow.png') if Gitlab::Utils.to_boolean(ENV['CANARY']) + return ActionController::Base.helpers.image_path('favicon-blue.png') if Rails.env.development? - 'favicon.ico' + ActionController::Base.helpers.image_path('favicon.png') end def status_overlay(status_name) path = File.join( 'ci_favicons', - 'overlays', "#{status_name}.png" ) @@ -27,7 +26,7 @@ module Gitlab def available_status_names @available_status_names ||= begin - Dir.glob(Rails.root.join('app', 'assets', 'images', 'ci_favicons', 'overlays', "*.png")) + Dir.glob(Rails.root.join('app', 'assets', 'images', 'ci_favicons', '*.png')) .map { |file| File.basename(file, '.png') } .sort end diff --git a/lib/gitlab/path_regex.rb b/lib/gitlab/path_regex.rb index 4dc38aae61e71a6a62c781b9e366c3217da331b3..e5191f5c7f9aa35b972e2f24c813f12e55a8ad11 100644 --- a/lib/gitlab/path_regex.rb +++ b/lib/gitlab/path_regex.rb @@ -30,7 +30,7 @@ module Gitlab dashboard deploy.html explore - favicon.ico + favicon.png files groups health_check diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 3479cbbb46f60e2a0d1b830d07e4b9cdaf8180db..0000000000000000000000000000000000000000 Binary files a/public/favicon.ico and /dev/null differ diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..845e0ec34a513a2c35702b4a2390f33f1732d6e2 Binary files /dev/null and b/public/favicon.png differ diff --git a/spec/controllers/projects/jobs_controller_spec.rb b/spec/controllers/projects/jobs_controller_spec.rb index a08fcea27a5152ddd0412202e4a55369c92e7981..06c8a432561ac0bb8d63db2b89167817f148eda6 100644 --- a/spec/controllers/projects/jobs_controller_spec.rb +++ b/spec/controllers/projects/jobs_controller_spec.rb @@ -265,7 +265,7 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do expect(json_response['text']).to eq status.text expect(json_response['label']).to eq status.label expect(json_response['icon']).to eq status.icon - expect(json_response['favicon']).to match_asset_path "/assets/ci_favicons/#{status.favicon}.ico" + expect(json_response['favicon']).to match_asset_path "/assets/ci_favicons/#{status.favicon}.png" end end diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 6e8de6db9c3dff3e5b346d05fdc7ae18c085696e..eb83884d54e58ec296c160ac6ed0bf0485e4411d 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -681,7 +681,7 @@ describe Projects::MergeRequestsController do expect(json_response['text']).to eq status.text expect(json_response['label']).to eq status.label expect(json_response['icon']).to eq status.icon - expect(json_response['favicon']).to match_asset_path "/assets/ci_favicons/#{status.favicon}.ico" + expect(json_response['favicon']).to match_asset_path "/assets/ci_favicons/#{status.favicon}.png" end end diff --git a/spec/controllers/projects/pipelines_controller_spec.rb b/spec/controllers/projects/pipelines_controller_spec.rb index 9e7bc20a6d13abb701b3fb7e3b71b9ec660d8d49..c524f5d7f8adc885003e461f17d79ee404cbf6e0 100644 --- a/spec/controllers/projects/pipelines_controller_spec.rb +++ b/spec/controllers/projects/pipelines_controller_spec.rb @@ -190,7 +190,7 @@ describe Projects::PipelinesController do expect(json_response['text']).to eq status.text expect(json_response['label']).to eq status.label expect(json_response['icon']).to eq status.icon - expect(json_response['favicon']).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") + expect(json_response['favicon']).to match_asset_path("/assets/ci_favicons/#{status.favicon}.png") end end diff --git a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb index 7c4fd25bb39b4cf24f301a833f6842919681ae4e..25c408516d1cf7ea2916a999e98822bd834d966d 100644 --- a/spec/features/merge_request/user_creates_image_diff_notes_spec.rb +++ b/spec/features/merge_request/user_creates_image_diff_notes_spec.rb @@ -12,7 +12,7 @@ feature 'Merge request > User creates image diff notes', :js do # Stub helper to return any blob file as image from public app folder. # This is necessary to run this specs since we don't display repo images in capybara. allow_any_instance_of(DiffHelper).to receive(:diff_file_blob_raw_url).and_return('/apple-touch-icon.png') - allow_any_instance_of(DiffHelper).to receive(:diff_file_old_blob_raw_url).and_return('/favicon.ico') + allow_any_instance_of(DiffHelper).to receive(:diff_file_old_blob_raw_url).and_return('/favicon.png') end context 'create commit diff notes' do diff --git a/spec/javascripts/jobs/mock_data.js b/spec/javascripts/jobs/mock_data.js index 25ca8eb6c0b429155a8d45ca35e7f820a1e5eb5a..dd025255bd188fd904eb4fb379035555719ca134 100644 --- a/spec/javascripts/jobs/mock_data.js +++ b/spec/javascripts/jobs/mock_data.js @@ -20,7 +20,7 @@ export default { group: 'success', has_details: true, details_path: '/root/ci-mock/-/jobs/4757', - favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + favicon: '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -78,7 +78,7 @@ export default { group: 'success', has_details: true, details_path: '/root/ci-mock/pipelines/140', - favicon: '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + favicon: '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', }, duration: 6, finished_at: '2017-06-01T17:32:00.042Z', diff --git a/spec/javascripts/pipelines/graph/mock_data.js b/spec/javascripts/pipelines/graph/mock_data.js index 70eba98e939bc12f53e48e7f2699aa8a7c46f711..9e25a4b3fede31b104153f7ee7bb73e9b683ba24 100644 --- a/spec/javascripts/pipelines/graph/mock_data.js +++ b/spec/javascripts/pipelines/graph/mock_data.js @@ -20,7 +20,7 @@ export default { has_details: true, details_path: '/root/ci-mock/pipelines/123', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', }, duration: 9, finished_at: '2017-04-19T14:30:27.542Z', @@ -40,7 +40,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4153', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -65,7 +65,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4153', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -85,7 +85,7 @@ export default { has_details: true, details_path: '/root/ci-mock/pipelines/123#test', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', }, path: '/root/ci-mock/pipelines/123#test', dropdown_path: '/root/ci-mock/pipelines/123/stage.json?stage=test', @@ -105,7 +105,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4166', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -130,7 +130,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4166', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -152,7 +152,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4159', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -177,7 +177,7 @@ export default { has_details: true, details_path: '/root/ci-mock/builds/4159', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', action: { icon: 'retry', title: 'Retry', @@ -197,7 +197,7 @@ export default { has_details: true, details_path: '/root/ci-mock/pipelines/123#deploy', favicon: - '/assets/ci_favicons/dev/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.ico', + '/assets/ci_favicons/favicon_status_success-308b4fc054cdd1b68d0865e6cfb7b02e92e3472f201507418f8eddb74ac11a59.png', }, path: '/root/ci-mock/pipelines/123#deploy', dropdown_path: '/root/ci-mock/pipelines/123/stage.json?stage=deploy', diff --git a/spec/lib/gitlab/favicon_spec.rb b/spec/lib/gitlab/favicon_spec.rb index 22b9c631ed8aa59afb969d292accfe23c0f99484..fdc5c0180e48c3ccd516001d3cbe9fb9334f0e4d 100644 --- a/spec/lib/gitlab/favicon_spec.rb +++ b/spec/lib/gitlab/favicon_spec.rb @@ -2,19 +2,19 @@ require 'rails_helper' RSpec.describe Gitlab::Favicon, :request_store do describe '.main' do - it 'defaults to favicon.ico' do + it 'defaults to favicon.png' do allow(Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new('production')) - expect(described_class.main).to eq 'favicon.ico' + expect(described_class.main).to match_asset_path '/assets/favicon.png' end it 'has blue favicon for development' do allow(Rails).to receive(:env).and_return(ActiveSupport::StringInquirer.new('development')) - expect(described_class.main).to eq 'favicon-blue.ico' + expect(described_class.main).to match_asset_path '/assets/favicon-blue.png' end it 'has yellow favicon for canary' do stub_env('CANARY', 'true') - expect(described_class.main).to eq 'favicon-yellow.ico' + expect(described_class.main).to match_asset_path 'favicon-yellow.png' end it 'uses the custom favicon if a favicon appearance is present' do @@ -27,7 +27,7 @@ RSpec.describe Gitlab::Favicon, :request_store do subject { described_class.status_overlay('favicon_status_created') } it 'returns the overlay for the status' do - expect(subject).to eq '/assets/ci_favicons/overlays/favicon_status_created.png' + expect(subject).to match_asset_path '/assets/ci_favicons/favicon_status_created.png' end end diff --git a/spec/models/project_services/jira_service_spec.rb b/spec/models/project_services/jira_service_spec.rb index 54ef0be67ff248558c5e9c8f0aaf2a0afc0a8283..3a6a6c116c2e147c9155ac54ccf9a34f632adbef 100644 --- a/spec/models/project_services/jira_service_spec.rb +++ b/spec/models/project_services/jira_service_spec.rb @@ -173,7 +173,7 @@ describe JiraService do object: { url: "#{Gitlab.config.gitlab.url}/#{project.full_path}/commit/#{merge_request.diff_head_sha}", title: "GitLab: Solved by commit #{merge_request.diff_head_sha}.", - icon: { title: "GitLab", url16x16: "http://localhost/favicon.ico" }, + icon: { title: "GitLab", url16x16: "http://localhost/favicon.png" }, status: { resolved: true } } ) diff --git a/spec/serializers/build_serializer_spec.rb b/spec/serializers/build_serializer_spec.rb index 98cd15e248b9ac1516aa5da2c25850a39d176d6a..52459cd369d0b5ea3838e86751c5cc4fe74bbf41 100644 --- a/spec/serializers/build_serializer_spec.rb +++ b/spec/serializers/build_serializer_spec.rb @@ -39,7 +39,7 @@ describe BuildSerializer do expect(subject[:label]).to eq('failed') expect(subject[:tooltip]).to eq('failed
(unknown failure)') expect(subject[:icon]).to eq(status.icon) - expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") + expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.png") end end @@ -54,7 +54,7 @@ describe BuildSerializer do expect(subject[:label]).to eq('passed') expect(subject[:tooltip]).to eq('passed') expect(subject[:icon]).to eq(status.icon) - expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") + expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.png") end end end diff --git a/spec/serializers/pipeline_serializer_spec.rb b/spec/serializers/pipeline_serializer_spec.rb index b741308e2c5e8b67ea2664d40253b6548525e6b7..33c8213f9a72a67154a0d9d89918604a66d237ee 100644 --- a/spec/serializers/pipeline_serializer_spec.rb +++ b/spec/serializers/pipeline_serializer_spec.rb @@ -174,7 +174,7 @@ describe PipelineSerializer do expect(subject[:text]).to eq(status.text) expect(subject[:label]).to eq(status.label) expect(subject[:icon]).to eq(status.icon) - expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.ico") + expect(subject[:favicon]).to match_asset_path("/assets/ci_favicons/#{status.favicon}.png") end end end diff --git a/spec/serializers/status_entity_spec.rb b/spec/serializers/status_entity_spec.rb index 559475e571cb3ac2e79f6e8191ed48e062558c7a..73f81405d543b3b53a05b016bdd1a95631e925e2 100644 --- a/spec/serializers/status_entity_spec.rb +++ b/spec/serializers/status_entity_spec.rb @@ -18,17 +18,17 @@ describe StatusEntity do it 'contains status details' do expect(subject).to include :text, :icon, :favicon, :label, :group, :tooltip expect(subject).to include :has_details, :details_path - expect(subject[:favicon]).to match_asset_path('/assets/ci_favicons/favicon_status_success.ico') + expect(subject[:favicon]).to match_asset_path('/assets/ci_favicons/favicon_status_success.png') end it 'contains a dev namespaced favicon if dev env' do allow(Rails.env).to receive(:development?) { true } - expect(entity.as_json[:favicon]).to match_asset_path('/assets/ci_favicons/dev/favicon_status_success.ico') + expect(entity.as_json[:favicon]).to match_asset_path('/assets/ci_favicons/favicon_status_success.png') end it 'contains a canary namespaced favicon if canary env' do stub_env('CANARY', 'true') - expect(entity.as_json[:favicon]).to match_asset_path('/assets/ci_favicons/canary/favicon_status_success.ico') + expect(entity.as_json[:favicon]).to match_asset_path('/assets/ci_favicons/canary/favicon_status_success.png') end end end diff --git a/spec/services/system_note_service_spec.rb b/spec/services/system_note_service_spec.rb index e28b0ea5cf28a10389ab67bae0135b61dc3e7c0d..b7f38874c263f719a9e44a6afae050ee5689b63d 100644 --- a/spec/services/system_note_service_spec.rb +++ b/spec/services/system_note_service_spec.rb @@ -789,7 +789,7 @@ describe SystemNoteService do object: { url: project_commit_url(project, commit), title: "GitLab: Mentioned on commit - #{commit.title}", - icon: { title: "GitLab", url16x16: "http://localhost/favicon.ico" }, + icon: { title: "GitLab", url16x16: "http://localhost/favicon.png" }, status: { resolved: false } } ) @@ -815,7 +815,7 @@ describe SystemNoteService do object: { url: project_issue_url(project, issue), title: "GitLab: Mentioned on issue - #{issue.title}", - icon: { title: "GitLab", url16x16: "http://localhost/favicon.ico" }, + icon: { title: "GitLab", url16x16: "http://localhost/favicon.png" }, status: { resolved: false } } ) @@ -841,7 +841,7 @@ describe SystemNoteService do object: { url: project_snippet_url(project, snippet), title: "GitLab: Mentioned on snippet - #{snippet.title}", - icon: { title: "GitLab", url16x16: "http://localhost/favicon.ico" }, + icon: { title: "GitLab", url16x16: "http://localhost/favicon.png" }, status: { resolved: false } } )