|
@@ -81,12 +81,15 @@ public class UpdateChecker
|
|
|
|
|
|
public bool CheckUpdateAvailable(ReleaseInfo latestRelease)
|
|
public bool CheckUpdateAvailable(ReleaseInfo latestRelease)
|
|
{
|
|
{
|
|
|
|
+ if (latestRelease == null || string.IsNullOrEmpty(latestRelease.TagName)) return false;
|
|
|
|
+ if (CurrentVersionTag == null) return false;
|
|
|
|
+
|
|
return latestRelease.WasDataFetchSuccessful && VersionDifferent(CurrentVersionTag, latestRelease.TagName);
|
|
return latestRelease.WasDataFetchSuccessful && VersionDifferent(CurrentVersionTag, latestRelease.TagName);
|
|
}
|
|
}
|
|
|
|
|
|
public bool IsUpdateCompatible(string[] incompatibleVersions)
|
|
public bool IsUpdateCompatible(string[] incompatibleVersions)
|
|
{
|
|
{
|
|
- return !incompatibleVersions.Select(x => x.Trim()).Contains(CurrentVersionTag[..7].Trim());
|
|
|
|
|
|
+ return !incompatibleVersions.Select(x => x.Trim()).Contains(ExtractVersionString(CurrentVersionTag));
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<bool> IsUpdateCompatible()
|
|
public async Task<bool> IsUpdateCompatible()
|
|
@@ -130,6 +133,8 @@ public class UpdateChecker
|
|
|
|
|
|
private static string ExtractVersionString(string versionString)
|
|
private static string ExtractVersionString(string versionString)
|
|
{
|
|
{
|
|
|
|
+ if (string.IsNullOrEmpty(versionString)) return string.Empty;
|
|
|
|
+
|
|
for (int i = 0; i < versionString.Length; i++)
|
|
for (int i = 0; i < versionString.Length; i++)
|
|
{
|
|
{
|
|
if (!char.IsDigit(versionString[i]) && versionString[i] != '.')
|
|
if (!char.IsDigit(versionString[i]) && versionString[i] != '.')
|