Merge pull request #3805 from OrigamiDev-Pete/dev

Use System.Version to compare versions
This commit is contained in:
Jack Ye 2025-07-07 14:09:57 +08:00 committed by GitHub
commit 727390db4c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -550,8 +550,13 @@ namespace Flow.Launcher.Core.Plugin
private static bool SameOrLesserPluginVersionExists(string metadataPath)
{
var newMetadata = JsonSerializer.Deserialize<PluginMetadata>(File.ReadAllText(metadataPath));
if (!Version.TryParse(newMetadata.Version, out var newVersion))
return true; // If version is not valid, we assume it is lesser than any existing version
return AllPlugins.Any(x => x.Metadata.ID == newMetadata.ID
&& newMetadata.Version.CompareTo(x.Metadata.Version) <= 0);
&& Version.TryParse(x.Metadata.Version, out var version)
&& newVersion <= version);
}
#region Public functions