From 8c535828b9a8c9f95cc6691e587833eae0eb2f90 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Sun, 25 Sep 2022 15:09:21 +0200 Subject: [PATCH] force rescan if auto cleanup removed files --- MareSynchronos/FileCacheDB/PeriodicFileScanner.cs | 8 +++++--- MareSynchronos/MareSynchronos.csproj | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/MareSynchronos/FileCacheDB/PeriodicFileScanner.cs b/MareSynchronos/FileCacheDB/PeriodicFileScanner.cs index f290016..8d24ec1 100644 --- a/MareSynchronos/FileCacheDB/PeriodicFileScanner.cs +++ b/MareSynchronos/FileCacheDB/PeriodicFileScanner.cs @@ -80,7 +80,7 @@ public class PeriodicFileScanner : IDisposable { while (!token.IsCancellationRequested) { - RecalculateFileCacheSize(); + isForced = RecalculateFileCacheSize(); if (!_pluginConfiguration.FileScanPaused || isForced) { isForced = false; @@ -101,7 +101,7 @@ public class PeriodicFileScanner : IDisposable InvokeScan(); } - public void RecalculateFileCacheSize() + public bool RecalculateFileCacheSize() { FileCacheSize = Directory.EnumerateFiles(_pluginConfiguration.CacheFolder).Sum(f => { @@ -115,7 +115,7 @@ public class PeriodicFileScanner : IDisposable } }); - if (FileCacheSize < (long)_pluginConfiguration.MaxLocalCacheInGiB * 1024 * 1024 * 1024) return; + if (FileCacheSize < (long)_pluginConfiguration.MaxLocalCacheInGiB * 1024 * 1024 * 1024) return false; var allFiles = Directory.EnumerateFiles(_pluginConfiguration.CacheFolder) .Select(f => new FileInfo(f)).OrderBy(f => f.LastAccessTime).ToList(); @@ -126,6 +126,8 @@ public class PeriodicFileScanner : IDisposable File.Delete(oldestFile.FullName); allFiles.Remove(oldestFile); } + + return true; } private async Task PeriodicFileScan(CancellationToken ct) diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 5624e54..f352afe 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.4.9 + 0.4.10 https://github.com/Penumbra-Sync/client