refactor: 💡 update logic to get preferred rdp client (#3066)
* refactor: 💡 updated logic to store preferred rdp client * refactor: 💡 simplified preferred client logic
This commit is contained in:
1 parent
5faf830d46
commit
4fc3244049
1 file changed
+12
-19
@@ -77,31 +77,24 @@ class RdpClientManager {
|
||||
return available;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the best default RDP client (first available that's not 'none')
|
||||
* @returns {Promise<string>} Best RDP client value or 'none'
|
||||
*/
|
||||
async getBestDefaultRdpClient() {
|
||||
const availableClients = await this.getAvailableRdpClients();
|
||||
const bestClient = availableClients.find(
|
||||
(client) => client !== RDP_CLIENT_NONE,
|
||||
);
|
||||
return bestClient ?? RDP_CLIENT_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the user's preferred RDP client, auto-detecting if not set
|
||||
* @returns {Promise<string>} Preferred RDP client value
|
||||
*/
|
||||
async getPreferredRdpClient() {
|
||||
let preferredClient = store.get('preferredRdpClient');
|
||||
const availableClients = await this.getAvailableRdpClients();
|
||||
const installedClients = availableClients.filter(
|
||||
(client) => client !== RDP_CLIENT_NONE,
|
||||
);
|
||||
|
||||
if (!preferredClient) {
|
||||
// Auto-detect and set the best available client
|
||||
preferredClient = await this.getBestDefaultRdpClient();
|
||||
store.set('preferredRdpClient', preferredClient);
|
||||
}
|
||||
return preferredClient;
|
||||
if (installedClients.length === 0) return RDP_CLIENT_NONE;
|
||||
|
||||
const preferredClient =
|
||||
store.get('preferredRdpClient') ?? installedClients[0];
|
||||
// check if preferred client is still installed
|
||||
return installedClients.includes(preferredClient)
|
||||
? preferredClient
|
||||
: RDP_CLIENT_NONE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user