From 7824a78e85af1b9784c33eaf746e0e935dce0da7 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 29 Apr 2024 17:49:48 +0200 Subject: [PATCH 1/2] Cleanup image redownload --- back/src/Kyoo.Core/Controllers/MiscRepository.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/back/src/Kyoo.Core/Controllers/MiscRepository.cs b/back/src/Kyoo.Core/Controllers/MiscRepository.cs index eb32ae8d..8b014840 100644 --- a/back/src/Kyoo.Core/Controllers/MiscRepository.cs +++ b/back/src/Kyoo.Core/Controllers/MiscRepository.cs @@ -62,7 +62,7 @@ public class MiscRepository( }.Select(x => GetSql(x)); string sql = string.Join(" union all ", queries); IEnumerable ret = await database.QueryAsync(sql); - return ret.Where(x => x != null).ToArray() as Image[]; + return ret.ToArray() as Image[]; } public async Task DownloadMissingImages() From a8eb1c52b6670d44014ab1c1e953ba4d579ece56 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Mon, 29 Apr 2024 21:51:55 +0200 Subject: [PATCH 2/2] Use stable images ids to prevent duplicated --- back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs b/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs index 7f447397..8dfc7a84 100644 --- a/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs +++ b/back/src/Kyoo.Core/Controllers/ThumbnailsManager.cs @@ -24,7 +24,6 @@ using System.Net.Http; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; -using System.Xml; using Blurhash.SkiaSharp; using Kyoo.Abstractions.Controllers; using Kyoo.Abstractions.Models; @@ -80,7 +79,11 @@ public class ThumbnailsManager( try { if (image.Id == Guid.Empty) - image.Id = Guid.NewGuid(); + { + // Ensure stable ids to prevent duplicated images being stored on the fs. + using MD5 md5 = MD5.Create(); + image.Id = new Guid(md5.ComputeHash(Encoding.UTF8.GetBytes(image.Source))); + } logger.LogInformation("Downloading image {What}", what);