Skip to content

feat(theming): generate favicons and touch icons as SVG without imagick - #64703

Draft
szaimen wants to merge 1 commit into
masterfrom
feat/theming-svg-favicon
Draft

szaimen wants to merge 1 commit into
masterfrom
feat/theming-svg-favicon

Conversation

@szaimen

@szaimen szaimen commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The favicon endpoint now returns an SVG that embeds the app icon on the
themed background, instead of rendering an ICO file with imagick. This
removes the imagick requirement for favicons and allows uploading SVG
favicons without imagick.

Touch icons need to be PNG for Safari "Add to Dock" and the iOS home
screen, so they are still rendered with imagick when available and fall
back to the default touch icon otherwise. An uploaded favicon is served
as-is by both endpoints.

The manifest declares the type of the served icons, and the social
media preview image of shares is only replaced by the touch icon if it
is a raster image.

The imagick setup check now only reports when touch icons cannot be
themed or an SVG logo cannot be converted to PNG for emails.

TODO

  • Test that it works
    • Safari
    • Chrome
    • Firefox

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@szaimen szaimen added this to the Nextcloud 36 milestone Sep 23, 2026
@szaimen
szaimen force-pushed the feat/theming-svg-favicon branch from 1e31afa to 21e740f Compare September 23, 2026 20:18
@szaimen szaimen added 2. developing Work in progress and removed 3. to review Waiting for reviews labels Sep 23, 2026
@szaimen szaimen added the technical debt 🧱 🤔🚀 label Sep 23, 2026
@szaimen
szaimen force-pushed the feat/theming-svg-favicon branch from 21e740f to 8281c20 Compare September 24, 2026 09:20
The favicon endpoint now returns an SVG that embeds the app icon on the
themed background, instead of rendering an ICO file with imagick. This
removes the imagick requirement for favicons and allows uploading SVG
favicons without imagick.

Touch icons need to be PNG for Safari "Add to Dock" and the iOS home
screen, so they are still rendered with imagick when available and fall
back to the default touch icon otherwise. An uploaded favicon is served
as-is by both endpoints.

The manifest declares the type of the served icons, and the social
media preview image of shares is only replaced by the touch icon if it
is a raster image.

The imagick setup check now only reports when touch icons cannot be
themed or an SVG logo cannot be converted to PNG for emails.

Closes #36607

Assisted-by: ClaudeCode:claude-opus-5-5
Signed-off-by: Simon L. <szaimen@e.mail.de>
@szaimen
szaimen force-pushed the feat/theming-svg-favicon branch from 8281c20 to d9e2b04 Compare September 24, 2026 09:20
@szaimen

szaimen commented Sep 24, 2026

Copy link
Copy Markdown
Contributor Author

Ok, we cannit remove the requirement as touch icons are still nor accepted as svgs which is a requirement for Safari on ios and macos. So wr cannot push forward with this...

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable usage of svg favicons and remove imagick from iconbuilder

2 participants