From f90f21b62068b3934ccb910562209edbcb4f8f38 Mon Sep 17 00:00:00 2001 From: taoso Date: Mon, 9 Mar 2026 03:25:49 +0800 Subject: [PATCH] feat: allow use of svg, png, and ico images types for favicon (#1289) Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com> Co-authored-by: Kyle Mendell --- backend/internal/controller/app_images_controller.go | 9 ++++++--- .../update-application-images.svelte | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/backend/internal/controller/app_images_controller.go b/backend/internal/controller/app_images_controller.go index ec3215aa..3e3c2b04 100644 --- a/backend/internal/controller/app_images_controller.go +++ b/backend/internal/controller/app_images_controller.go @@ -2,7 +2,9 @@ package controller import ( "net/http" + "slices" "strconv" + "strings" "time" "github.com/gin-gonic/gin" @@ -197,7 +199,7 @@ func (c *AppImagesController) updateBackgroundImageHandler(ctx *gin.Context) { // @Description Update the application favicon // @Tags Application Images // @Accept multipart/form-data -// @Param file formData file true "Favicon file (.ico)" +// @Param file formData file true "Favicon file (.svg/.png/.ico)" // @Success 204 "No Content" // @Router /api/application-images/favicon [put] func (c *AppImagesController) updateFaviconHandler(ctx *gin.Context) { @@ -208,8 +210,9 @@ func (c *AppImagesController) updateFaviconHandler(ctx *gin.Context) { } fileType := utils.GetFileExtension(file.Filename) - if fileType != "ico" { - _ = ctx.Error(&common.WrongFileTypeError{ExpectedFileType: ".ico"}) + mimeType := utils.GetImageMimeType(strings.ToLower(fileType)) + if !slices.Contains([]string{"image/svg+xml", "image/png", "image/x-icon"}, mimeType) { + _ = ctx.Error(&common.WrongFileTypeError{ExpectedFileType: ".svg or .png or .ico"}) return } diff --git a/frontend/src/routes/settings/admin/application-configuration/update-application-images.svelte b/frontend/src/routes/settings/admin/application-configuration/update-application-images.svelte index e59795ee..5efdca8c 100644 --- a/frontend/src/routes/settings/admin/application-configuration/update-application-images.svelte +++ b/frontend/src/routes/settings/admin/application-configuration/update-application-images.svelte @@ -39,7 +39,7 @@ label={m.favicon()} bind:image={favicon} imageURL="/api/application-images/favicon" - accept="image/x-icon" + accept="image/svg+xml, image/png, image/x-icon" />