From 9127d886ca4b82d850fd31da435be98b692b1002 Mon Sep 17 00:00:00 2001 From: pancakes Date: Sat, 29 Mar 2025 02:02:14 +1000 Subject: [PATCH] [backend/api] Render configured instance icon for local users --- .../Controllers/Web/Renderers/UserRenderer.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Iceshrimp.Backend/Controllers/Web/Renderers/UserRenderer.cs b/Iceshrimp.Backend/Controllers/Web/Renderers/UserRenderer.cs index 618234ee..9489d8ce 100644 --- a/Iceshrimp.Backend/Controllers/Web/Renderers/UserRenderer.cs +++ b/Iceshrimp.Backend/Controllers/Web/Renderers/UserRenderer.cs @@ -51,6 +51,10 @@ public class UserRenderer(IOptions config, DatabaseConte var emojis = await GetEmojisAsync([user]); var avatarAlt = await GetAvatarAltAsync([user]); var bannerAlt = await GetBannerAltAsync([user]); + + var iconId = await metaSvc.GetAsync(MetaEntity.IconFileId); + var favicon = iconId != null ? await db.DriveFiles.FirstOrDefaultAsync(p => p.Id == iconId) : null; + var data = new UserRendererDto { Emojis = emojis, @@ -60,7 +64,7 @@ public class UserRenderer(IOptions config, DatabaseConte LocalInstanceData = new LocalInstance { Name = await metaSvc.GetAsync(MetaEntity.InstanceName) ?? config.Value.AccountDomain, - FaviconUrl = null, + FaviconUrl = favicon?.PublicUrl, ThemeColor = await metaSvc.GetAsync(MetaEntity.ThemeColor) } }; @@ -94,6 +98,9 @@ public class UserRenderer(IOptions config, DatabaseConte public async Task> RenderManyAsync(IEnumerable users) { + var iconId = await metaSvc.GetAsync(MetaEntity.IconFileId); + var favicon = iconId != null ? await db.DriveFiles.FirstOrDefaultAsync(p => p.Id == iconId) : null; + var userList = users.ToList(); var data = new UserRendererDto { @@ -104,7 +111,7 @@ public class UserRenderer(IOptions config, DatabaseConte LocalInstanceData = new LocalInstance { Name = await metaSvc.GetAsync(MetaEntity.InstanceName) ?? config.Value.AccountDomain, - FaviconUrl = null, + FaviconUrl = favicon?.PublicUrl, ThemeColor = await metaSvc.GetAsync(MetaEntity.ThemeColor) } };