diff --git a/src/Controllers/SettingsController.cs b/src/Controllers/SettingsController.cs index 2bf2d9b..74b67b4 100644 --- a/src/Controllers/SettingsController.cs +++ b/src/Controllers/SettingsController.cs @@ -56,7 +56,13 @@ public class SettingsController : Controller ErrorMessage = "adminUpdateRequestModel is null" }; } + AdminSettingsModel currentSettingsModel = await _ldap.GetAdminSettingsModelAsync(); await _ldap.SetAdminSettingsModelAsync(adminSettingsRequestModel.AdminSettingsModel); + if (adminSettingsRequestModel.AdminSettingsModel.UserImagePreloadType != currentSettingsModel.UserImagePreloadType) + { + IEnumerable users = await _ldap.ListUsersAsync(); + Task _ = ImageHelper.PreloadUsers(users, adminSettingsRequestModel.AdminSettingsModel.UserImagePreloadType); + } return new() { Success = true }; diff --git a/src/Helpers/ImageHelper.cs b/src/Helpers/ImageHelper.cs index 9124e81..02b6000 100644 --- a/src/Helpers/ImageHelper.cs +++ b/src/Helpers/ImageHelper.cs @@ -10,6 +10,7 @@ public static class ImageHelper public static Dictionary> ImageCache = []; public static byte[] ResizeAndConvertToWebp(string imageString, int size = 32) { + if (imageString.Length == 0) return []; if (ImageCache.TryGetValue(size, out Dictionary? sizeCache) && sizeCache.TryGetValue(imageString, out byte[]? result) && result.Length > 0) { @@ -49,6 +50,7 @@ public static class ImageHelper { ResizeAndConvertToWebp(user.JpegPhoto, 256); } + Thread.Sleep(10); } } } \ No newline at end of file