diff --git a/Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs b/Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs index d3086cbbc66..1e845498ce4 100644 --- a/Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs +++ b/Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs @@ -43,8 +43,6 @@ public static async Task UpdateManifestAsync(bool usePrimaryUrlOnly = fals if (results.Count == 0) return false; - lastFetchedAt = DateTime.Now; - var updatedPluginResults = new List(); var appVersion = SemanticVersioning.Version.Parse(Constant.Version); @@ -56,6 +54,8 @@ public static async Task UpdateManifestAsync(bool usePrimaryUrlOnly = fals UserPlugins = updatedPluginResults; + lastFetchedAt = DateTime.Now; + return true; } } @@ -73,10 +73,22 @@ public static async Task UpdateManifestAsync(bool usePrimaryUrlOnly = fals private static bool IsMinimumAppVersionSatisfied(UserPlugin plugin, SemanticVersioning.Version appVersion) { - if (string.IsNullOrEmpty(plugin.MinimumAppVersion) || appVersion >= SemanticVersioning.Version.Parse(plugin.MinimumAppVersion)) + if (string.IsNullOrEmpty(plugin.MinimumAppVersion)) return true; - API.LogDebug(ClassName, $"Plugin {plugin.Name} requires minimum Flow Launcher version {plugin.MinimumAppVersion}, " + try + { + if (appVersion >= SemanticVersioning.Version.Parse(plugin.MinimumAppVersion)) + return true; + } + catch (Exception e) + { + API.LogException(ClassName, $"Failed to parse the minimum app version {plugin.MinimumAppVersion} for plugin {plugin.Name}. " + + "Plugin excluded from manifest", e); + return false; + } + + API.LogInfo(ClassName, $"Plugin {plugin.Name} requires minimum Flow Launcher version {plugin.MinimumAppVersion}, " + $"but current version is {Constant.Version}. Plugin excluded from manifest."); return false;