From 3c250c656b1c9cb0bbe0a08b397bba71482a6758 Mon Sep 17 00:00:00 2001 From: Joe Milazzo Date: Thu, 15 Jan 2026 09:52:21 -0600 Subject: [PATCH] Fixed an issue when trying to delete a theme file where temp/ already had a copy, Kavita wouldn't delete. --- API/Services/SiteThemeService.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/API/Services/SiteThemeService.cs b/API/Services/SiteThemeService.cs index 1a01e6b3a..6a22f724b 100644 --- a/API/Services/SiteThemeService.cs +++ b/API/Services/SiteThemeService.cs @@ -505,7 +505,13 @@ public class ThemeService : IThemeService _directoryService.FileSystem.Path.Join(_directoryService.SiteThemeDirectory, theme.FileName); var newLocation = _directoryService.FileSystem.Path.Join(_directoryService.TempDirectory, theme.FileName); - _directoryService.CopyFileToDirectory(existingLocation, newLocation); + + if (!_directoryService.FileSystem.File.Exists(newLocation)) + { + _logger.LogInformation("Copying Deleted theme file ({FileName}) to config/temp, it will be removed at midnight", theme.FileName); + _directoryService.CopyFileToDirectory(existingLocation, newLocation); + } + _directoryService.DeleteFiles([existingLocation]); } catch (Exception) { /* Swallow */ }