Skip to content

Commit

Permalink
Ensure custom favicon is converted to PNG and ICO (#30208)
Browse files Browse the repository at this point in the history
  • Loading branch information
ClearlyClaire committed May 7, 2024
1 parent c9ccba7 commit d8c4284
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 4 deletions.
19 changes: 17 additions & 2 deletions app/models/site_upload.rb
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,23 @@ class SiteUpload < ApplicationRecord
APP_ICON_SIZES = (APPLE_ICON_SIZES + ANDROID_ICON_SIZES).uniq.freeze

STYLES = {
app_icon: APP_ICON_SIZES.each_with_object({}) { |size, hash| hash[size.to_s.to_sym] = "#{size}x#{size}#" }.freeze,
favicon: FAVICON_SIZES.each_with_object({}) { |size, hash| hash[size.to_s.to_sym] = "#{size}x#{size}#" }.freeze,
app_icon:
APP_ICON_SIZES.to_h do |size|
[:"#{size}", { format: 'png', geometry: "#{size}x#{size}#", file_geometry_parser: FastGeometryParser }]
end.freeze,

favicon: {
ico: {
format: 'ico',
geometry: '48x48#',
file_geometry_parser: FastGeometryParser,
}.freeze,
}.merge(
FAVICON_SIZES.to_h do |size|
[:"#{size}", { format: 'png', geometry: "#{size}x#{size}#", file_geometry_parser: FastGeometryParser }]
end
).freeze,

thumbnail: {
'@1x': {
format: 'png',
Expand Down
2 changes: 1 addition & 1 deletion app/views/layouts/application.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
- if storage_host?
%link{ rel: 'dns-prefetch', href: storage_host }/

%link{ rel: 'icon', href: site_icon_path('favicon') || '/favicon.ico', type: 'image/x-icon' }/
%link{ rel: 'icon', href: site_icon_path('favicon', 'ico') || '/favicon.ico', type: 'image/x-icon' }/

- SiteUpload::FAVICON_SIZES.each do |size|
%link{ rel: 'icon', sizes: "#{size}x#{size}", href: site_icon_path('favicon', size.to_i) || frontend_asset_path("icons/favicon-#{size}x#{size}.png"), type: 'image/png' }/
Expand Down
2 changes: 1 addition & 1 deletion config/imagemagick/policy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@
<!-- Disallow any coder by default, and only enable ones required by Mastodon -->
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{JPEG,PNG,GIF,WEBP,HEIC,AVIF}" />
<policy domain="coder" rights="write" pattern="{HISTOGRAM,RGB,INFO}" />
<policy domain="coder" rights="write" pattern="{HISTOGRAM,RGB,INFO,ICO}" />
</policymap>

0 comments on commit d8c4284

Please sign in to comment.