@@ -81,7 +81,7 @@ private void Window_StateChanged(object sender, EventArgs e)
81
81
private static async Task < string > GetReleaseNotesMarkdownAsync ( )
82
82
{
83
83
var releaseNotesJSON = await Http . GetStringAsync ( "https://api.github.com/repos/Flow-Launcher/Flow.Launcher/releases" ) ;
84
-
84
+
85
85
if ( string . IsNullOrEmpty ( releaseNotesJSON ) )
86
86
{
87
87
return string . Empty ;
@@ -150,11 +150,37 @@ private sealed class GitHubReleaseInfo
150
150
151
151
#endregion
152
152
153
- [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Usage" , "VSTHRD100:Avoid async void methods" , Justification = "<Pending>" ) ]
154
- private async void MarkdownViewer_Loaded ( object sender , RoutedEventArgs e )
153
+ private void MarkdownViewer_Loaded ( object sender , RoutedEventArgs e )
155
154
{
156
155
MarkdownViewer . MarkdownStyle = MarkdownStyle . GithubLike ;
157
- MarkdownViewer . Markdown = await GetReleaseNotesMarkdownAsync ( ) ;
156
+ RefreshMarkdownViewer ( ) ;
157
+ }
158
+
159
+ private void RefreshButton_Click ( object sender , RoutedEventArgs e )
160
+ {
161
+ RefreshButton . Visibility = Visibility . Collapsed ;
162
+ RefreshProgressRing . Visibility = Visibility . Visible ;
163
+ RefreshMarkdownViewer ( ) ;
164
+ }
165
+
166
+ [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Usage" , "VSTHRD100:Avoid async void methods" , Justification = "<Pending>" ) ]
167
+ private async void RefreshMarkdownViewer ( )
168
+ {
169
+ var output = await GetReleaseNotesMarkdownAsync ( ) . ConfigureAwait ( false ) ;
170
+
171
+ Application . Current . Dispatcher . Invoke ( ( ) =>
172
+ {
173
+ RefreshProgressRing . Visibility = Visibility . Collapsed ;
174
+ if ( string . IsNullOrEmpty ( output ) )
175
+ {
176
+ RefreshButton . Visibility = Visibility . Visible ;
177
+ }
178
+ else
179
+ {
180
+ RefreshButton . Visibility = Visibility . Collapsed ;
181
+ MarkdownViewer . Markdown = output ;
182
+ }
183
+ } ) ;
158
184
}
159
185
}
160
186
}
0 commit comments