From 630f958bd2c296f6bd2e47fe1c25cf7b34c36649 Mon Sep 17 00:00:00 2001 From: Dance Mom Date: Thu, 29 Sep 2022 14:00:37 -0500 Subject: [PATCH 1/4] Add plugin command to toggle connection --- MareSynchronos/Plugin.cs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/MareSynchronos/Plugin.cs b/MareSynchronos/Plugin.cs index 74d5bf8..86d2be9 100644 --- a/MareSynchronos/Plugin.cs +++ b/MareSynchronos/Plugin.cs @@ -204,6 +204,33 @@ namespace MareSynchronos if (string.IsNullOrEmpty(args)) { OpenUi(); + return; + } + + var splitArgs = args.ToLowerInvariant().Trim().Split(); + + if (splitArgs.Length == 0) + { + // Interpret this as toggling the UI + OpenUi(); + return; + } + + if (splitArgs[0] == "toggle") + { + var fullPause = splitArgs.Length > 1 ? splitArgs[1] switch + { + "on" => false, + "off" => true, + _ => !_configuration.FullPause, + } : !_configuration.FullPause; + + if (fullPause != _configuration.FullPause) + { + _configuration.FullPause = fullPause; + _configuration.Save(); + _ = _apiController.CreateConnections(); + } } } From 0bafb510af33a7de82137a7db76a01c13603757a Mon Sep 17 00:00:00 2001 From: Dance Mom Date: Thu, 29 Sep 2022 14:50:05 -0500 Subject: [PATCH 2/4] Slash command - remove duplicate codepath --- MareSynchronos/Plugin.cs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/MareSynchronos/Plugin.cs b/MareSynchronos/Plugin.cs index 86d2be9..e4e8743 100644 --- a/MareSynchronos/Plugin.cs +++ b/MareSynchronos/Plugin.cs @@ -201,15 +201,9 @@ namespace MareSynchronos private void OnCommand(string command, string args) { - if (string.IsNullOrEmpty(args)) - { - OpenUi(); - return; - } + var splitArgs = args?.ToLowerInvariant().Trim().Split(); - var splitArgs = args.ToLowerInvariant().Trim().Split(); - - if (splitArgs.Length == 0) + if (splitArgs == null || splitArgs.Length == 0) { // Interpret this as toggling the UI OpenUi(); From fe29bc7e9f568957ffe6be3a5b77402b5d409b0d Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Sun, 2 Oct 2022 20:56:20 +0200 Subject: [PATCH 3/4] fix filescanner locking up dictionary when deletion tasks are scheduled --- MareSynchronos/FileCache/PeriodicFileScanner.cs | 3 ++- MareSynchronos/MareSynchronos.csproj | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/MareSynchronos/FileCache/PeriodicFileScanner.cs b/MareSynchronos/FileCache/PeriodicFileScanner.cs index d692f45..72c5ae6 100644 --- a/MareSynchronos/FileCache/PeriodicFileScanner.cs +++ b/MareSynchronos/FileCache/PeriodicFileScanner.cs @@ -229,7 +229,8 @@ public class PeriodicFileScanner : IDisposable try { var validatedCacheResult = _fileDbManager.ValidateFileCacheEntity(cache); - scannedFiles[validatedCacheResult.Item2.ResolvedFilepath] = true; + if (validatedCacheResult.Item1 != FileState.RequireDeletion) + scannedFiles[validatedCacheResult.Item2.ResolvedFilepath] = true; if (validatedCacheResult.Item1 == FileState.RequireUpdate) { entitiesToUpdate.Add(validatedCacheResult.Item2); diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 00c3f0c..2cd663d 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.4.22 + 0.4.23 https://github.com/Penumbra-Sync/client From d2fe1074592ee9ed677c3db69413470cb9f2a523 Mon Sep 17 00:00:00 2001 From: Stanley Dimant Date: Sun, 2 Oct 2022 21:08:26 +0200 Subject: [PATCH 4/4] fix /mare toggle --- MareSynchronos/MareSynchronos.csproj | 2 +- MareSynchronos/Plugin.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/MareSynchronos/MareSynchronos.csproj b/MareSynchronos/MareSynchronos.csproj index 2cd663d..79ec69e 100644 --- a/MareSynchronos/MareSynchronos.csproj +++ b/MareSynchronos/MareSynchronos.csproj @@ -3,7 +3,7 @@ - 0.4.23 + 0.4.24 https://github.com/Penumbra-Sync/client diff --git a/MareSynchronos/Plugin.cs b/MareSynchronos/Plugin.cs index e4e8743..7a97189 100644 --- a/MareSynchronos/Plugin.cs +++ b/MareSynchronos/Plugin.cs @@ -201,7 +201,7 @@ namespace MareSynchronos private void OnCommand(string command, string args) { - var splitArgs = args?.ToLowerInvariant().Trim().Split(); + var splitArgs = args.ToLowerInvariant().Trim().Split(" ", StringSplitOptions.RemoveEmptyEntries); if (splitArgs == null || splitArgs.Length == 0) {