File tree 1 file changed +10
-3
lines changed
SoundSwitch/Framework/Updater
1 file changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -45,7 +45,11 @@ public UpdateChecker(Uri releaseUrl, bool checkBeta)
45
45
Beta = checkBeta ;
46
46
}
47
47
48
- private bool ProcessRelease ( Release serverRelease )
48
+ /// <summary>
49
+ /// Process the release, and notify about it if it's newer than the version of the app.
50
+ /// </summary>
51
+ /// <returns>true if the release is newer and has been notified</returns>
52
+ private bool ProcessAndNotifyRelease ( Release serverRelease )
49
53
{
50
54
Log . Information ( "Checking version {version} " , serverRelease ) ;
51
55
if ( serverRelease . Prerelease && ! Beta )
@@ -91,10 +95,13 @@ public async Task CheckForUpdate(CancellationToken token)
91
95
httpClient . DefaultRequestHeaders . UserAgent . Add ( ApplicationInfo . CommentValue ) ;
92
96
httpClient . DefaultRequestHeaders . Accept . Add ( MediaTypeWithQualityHeaderValue . Parse ( "application/json" ) ) ;
93
97
var releases = await httpClient . GetFromJsonAsync ( _releaseUrl , GithubReleasesJsonContext . Default . ReleaseArray , token ) ;
94
- foreach ( var release in releases ?? Array . Empty < Release > ( ) )
98
+ foreach ( var release in ( releases ?? Array . Empty < Release > ( ) ) . OrderByDescending ( release => new Version ( release . TagName . Substring ( 1 ) ) ) )
95
99
{
96
100
token . ThrowIfCancellationRequested ( ) ;
97
- ProcessRelease ( release ) ;
101
+ if ( ProcessAndNotifyRelease ( release ) )
102
+ {
103
+ break ;
104
+ }
98
105
}
99
106
}
100
107
You can’t perform that action at this time.
0 commit comments