From 401363a8ea83380c001a4fd185892d0b9051f6c6 Mon Sep 17 00:00:00 2001 From: Jakub Nyckowski Date: Sat, 13 May 2023 01:45:22 -0400 Subject: [PATCH] [Assist] Fix random user selection Currently, after selecting a user for command execution in Teleport Assist the user can randomly change. This PR fixes this behavior. --- .../teleport/src/Assist/contexts/messages.tsx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/web/packages/teleport/src/Assist/contexts/messages.tsx b/web/packages/teleport/src/Assist/contexts/messages.tsx index c1912675adaa8..2f65447d4638c 100644 --- a/web/packages/teleport/src/Assist/contexts/messages.tsx +++ b/web/packages/teleport/src/Assist/contexts/messages.tsx @@ -134,9 +134,22 @@ export const remoteCommandToMessage = async ( errorMsg = 'no users found'; } + // If the login has been selected, use it. + let avLogin = execCmd.selectedLogin; + if (!avLogin) { + // If the login has not been selected, use the first one. + avLogin = availableLogins ? availableLogins[0] : ''; + } else { + // If the login has been selected, check if it is available. + // Updated query could have changed the available logins. + if (!availableLogins.includes(avLogin)) { + avLogin = availableLogins ? availableLogins[0] : ''; + } + } + return { ...execCmd, - selectedLogin: availableLogins ? availableLogins[0] : '', + selectedLogin: avLogin, availableLogins: availableLogins, errorMsg: errorMsg, };