@@ -78,30 +78,23 @@ class RdpClientManager {
7878 }
7979
8080 /**
81- * Gets the best default RDP client (first available that's not 'none')
82- * @returns {Promise<string> } Best RDP client value or 'none'
81+ * Gets the user's preferred RDP client, auto-detecting if not set
82+ * @returns {Promise<string> } Preferred RDP client value
8383 */
84- async getBestDefaultRdpClient ( ) {
84+ async getPreferredRdpClient ( ) {
8585 const availableClients = await this . getAvailableRdpClients ( ) ;
86- const bestClient = availableClients . find (
86+ const installedClients = availableClients . filter (
8787 ( client ) => client !== RDP_CLIENT_NONE ,
8888 ) ;
89- return bestClient ?? RDP_CLIENT_NONE ;
90- }
9189
92- /**
93- * Gets the user's preferred RDP client, auto-detecting if not set
94- * @returns {Promise<string> } Preferred RDP client value
95- */
96- async getPreferredRdpClient ( ) {
97- let preferredClient = store . get ( 'preferredRdpClient' ) ;
90+ if ( installedClients . length === 0 ) return RDP_CLIENT_NONE ;
9891
99- if ( ! preferredClient ) {
100- // Auto-detect and set the best available client
101- preferredClient = await this . getBestDefaultRdpClient ( ) ;
102- store . set ( 'preferredRdpClient' , preferredClient ) ;
103- }
104- return preferredClient ;
92+ const preferredClient =
93+ store . get ( 'preferredRdpClient' ) ?? installedClients [ 0 ] ;
94+ // check if preferred client is still installed
95+ return installedClients . includes ( preferredClient )
96+ ? preferredClient
97+ : RDP_CLIENT_NONE ;
10598 }
10699
107100 /**
0 commit comments