@@ -23,7 +23,7 @@ public partial class MainWindow : Window {
2323
2424 private PlexResourceData ? SelectedResource => ( PlexResourceData ) UserServerComboBox . SelectedItem ;
2525
26- public Uri ? Address {
26+ public Uri ? SelectedAddress {
2727 get {
2828 if ( ! string . IsNullOrEmpty ( Config . Settings . PlexAddress ) )
2929 return new UriBuilder ( Config . Settings . PlexAddress ) . Uri ;
@@ -115,12 +115,12 @@ public void GetAccountInfo() {
115115 UserServerComboBox . ItemsSource = new List < dynamic > ( ) { customItem } ;
116116 UserServerComboBox . IsEnabled = false ;
117117 }
118- UserServerComboBox . SelectedIndex = 0 ;
118+ UserServerComboBox . SelectedIndex = App . PlexResources ? . ToList ( ) . FindIndex ( r => r . Name == Config . Settings . SelectedServer ) ?? 0 ;
119+ if ( UserServerComboBox . SelectedIndex == - 1 )
120+ UserServerComboBox . SelectedIndex = 0 ;
119121
120122 UserInfoPanel . Visibility = Visibility . Visible ;
121-
122123 UserServerComboBox . Visibility = Visibility . Visible ;
123-
124124 LoadingImage . Visibility = Visibility . Collapsed ;
125125 }
126126
@@ -151,7 +151,7 @@ public async void StartPolling() {
151151 private async Task < SessionData ? > GetCurrentSession ( ) {
152152 try {
153153 if ( UserServerComboBox . SelectedItem == null ) return null ;
154- HttpRequestMessage requestMessage = new ( HttpMethod . Get , $ "{ Address } status/sessions?X-Plex-Token={ SelectedResource ? . AccessToken } ") ;
154+ HttpRequestMessage requestMessage = new ( HttpMethod . Get , $ "{ SelectedAddress } status/sessions?X-Plex-Token={ SelectedResource ? . AccessToken } ") ;
155155 requestMessage . Headers . Add ( "Accept" , "application/json" ) ;
156156 Console . WriteLine ( requestMessage . RequestUri ) ;
157157
@@ -168,7 +168,7 @@ public async void StartPolling() {
168168 return sessions ? . FirstOrDefault ( session => session . Type == "track" && session . User ? . Name == App . Account ? . Username ) ;
169169 }
170170 catch ( Exception e ) {
171- Console . WriteLine ( $ "WARN: Unable to get current session: { Address } status/sessions?X-Plex-Token={ SelectedResource ? . AccessToken ? [ ..3 ] } ... { e . Message } { e . InnerException } ") ;
171+ Console . WriteLine ( $ "WARN: Unable to get current session: { SelectedAddress } status/sessions?X-Plex-Token={ SelectedResource ? . AccessToken ? [ ..3 ] } ... { e . Message } { e . InnerException } ") ;
172172 return null ;
173173 }
174174 }
@@ -398,7 +398,7 @@ private static async Task TestResource(PlexResourceData resource) {
398398 }
399399
400400 private async Task < string > UploadImage ( string thumb ) {
401- HttpResponseMessage getResponse = await httpClient . GetAsync ( $ "{ Address } photo/:/transcode?width={ Config . Settings . ArtResolution } &height={ Config . Settings . ArtResolution } &minSize=1&upscale=1&format=png&url={ thumb } &X-Plex-Token={ SelectedResource ? . AccessToken } ") ;
401+ HttpResponseMessage getResponse = await httpClient . GetAsync ( $ "{ SelectedAddress } photo/:/transcode?width={ Config . Settings . ArtResolution } &height={ Config . Settings . ArtResolution } &minSize=1&upscale=1&format=png&url={ thumb } &X-Plex-Token={ SelectedResource ? . AccessToken } ") ;
402402
403403 string dataString = Uri . EscapeDataString ( Convert . ToBase64String ( await getResponse . Content . ReadAsByteArrayAsync ( ) ) ) ;
404404 HttpResponseMessage sendResponse = await httpClient . SendAsync ( new ( ) {
@@ -433,6 +433,9 @@ private void SettingsButton_Click(object sender, RoutedEventArgs e) {
433433 protected override void OnClosed ( EventArgs e ) {
434434 base . OnClosed ( e ) ;
435435 App . DiscordClient . Dispose ( ) ;
436+
437+ Config . Settings . SelectedServer = SelectedResource ? . Name ?? string . Empty ;
438+
436439 Config . Save ( ) ;
437440 }
438441
0 commit comments