Fix SSH Key Password (keyPassword) Field Naming Mismatch Between Frontend and Backend #375

Merged
thorved merged 3 commits from fix--sshpasskey-missmatch into dev-1.7.3 2025-10-07 21:05:34 +00:00
2 changed files with 8 additions and 17 deletions
Showing only changes of commit 51be6544cd - Show all commits

View File

@@ -711,7 +711,7 @@ router.get(
authType: resolvedHost.authType,
password: resolvedHost.password || null,
key: resolvedHost.key || null,
key_password: resolvedHost.key_password || null,
keyPassword: resolvedHost.keyPassword || null,
keyType: resolvedHost.keyType || null,
folder: resolvedHost.folder,
tags:
@@ -1243,7 +1243,11 @@ async function resolveHostCredentials(host: any): Promise<any> {
// Convert snake_case to camelCase for hosts without credentials
const result = { ...host };
if (host.key_password !== undefined) {
result.keyPassword = host.key_password;
// Only use the inline key_password if keyPassword hasn't been set by credential resolution
if (result.keyPassword === undefined) {
result.keyPassword = host.key_password;
}
// Always remove the snake_case version to standardize the output
delete result.key_password;
}
return result;

View File

@@ -877,21 +877,8 @@ export function HostManagerEditor({
| "credential";
setAuthTab(newAuthType);
form.setValue("authType", newAuthType);
if (newAuthType === "password") {
form.setValue("key", null);
form.setValue("keyPassword", "");
form.setValue("keyType", "auto");
form.setValue("credentialId", null);
} else if (newAuthType === "key") {
form.setValue("password", "");
form.setValue("credentialId", null);
} else if (newAuthType === "credential") {
form.setValue("password", "");
form.setValue("key", null);
form.setValue("keyPassword", "");
form.setValue("keyType", "auto");
}
// Don't clear other auth fields - let them persist
// The backend will only use the fields relevant to the selected authType
}}
className="flex-1 flex flex-col h-full min-h-0"
>