diff --git a/packages/api/src/proc/sshForwardProcess.js b/packages/api/src/proc/sshForwardProcess.js index 8f1461a9d..d679dea9e 100644 --- a/packages/api/src/proc/sshForwardProcess.js +++ b/packages/api/src/proc/sshForwardProcess.js @@ -15,10 +15,12 @@ async function getSshConnection(connection) { agentForward: connection.sshMode == 'agent', passphrase: connection.sshMode == 'keyFile' ? connection.sshKeyfilePassword : undefined, username: connection.sshLogin, - password: connection.sshMode == 'userPassword' ? connection.sshPassword : undefined, + password: (connection.sshMode || 'userPassword') == 'userPassword' ? connection.sshPassword : undefined, agentSocket: connection.sshMode == 'agent' ? platformInfo.sshAuthSock : undefined, privateKey: - connection.sshMode == 'keyFile' && connection.sshKeyfile ? await fs.readFile(connection.sshKeyfile) : undefined, + connection.sshMode == 'keyFile' && (connection.sshKeyfile || platformInfo?.defaultKeyfile) + ? await fs.readFile(connection.sshKeyfile || platformInfo?.defaultKeyfile) + : undefined, skipAutoPrivateKey: true, noReadline: true, }; diff --git a/packages/web/src/forms/FormElectronFileSelectorRaw.svelte b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte index 0b9b9161b..e59fb65f8 100644 --- a/packages/web/src/forms/FormElectronFileSelectorRaw.svelte +++ b/packages/web/src/forms/FormElectronFileSelectorRaw.svelte @@ -8,6 +8,7 @@ export let name; export let disabled = false; + export let defaultFileName = ''; const { values, setFieldValue } = getFormContext(); @@ -25,6 +26,6 @@
- + Browse
diff --git a/packages/web/src/forms/FormSelectFieldRaw.svelte b/packages/web/src/forms/FormSelectFieldRaw.svelte index d67d76605..b2c6ac814 100644 --- a/packages/web/src/forms/FormSelectFieldRaw.svelte +++ b/packages/web/src/forms/FormSelectFieldRaw.svelte @@ -10,6 +10,7 @@ export let options; export let isClearable = false; export let selectFieldComponent = SelectField; + export let defaultSelectValue; const { values, setFieldValue } = getFormContext(); @@ -17,7 +18,7 @@ { setFieldValue(name, e.detail); diff --git a/packages/web/src/settings/ConnectionSshTunnelFields.svelte b/packages/web/src/settings/ConnectionSshTunnelFields.svelte index bde6ef679..5e1ddd46b 100644 --- a/packages/web/src/settings/ConnectionSshTunnelFields.svelte +++ b/packages/web/src/settings/ConnectionSshTunnelFields.svelte @@ -19,11 +19,11 @@ $: useSshTunnel = $values.useSshTunnel; $: platformInfo = usePlatformInfo(); - $: { - if (!$values.sshMode) setFieldValue('sshMode', 'userPassword'); - // if (!$values.sshPort) setFieldValue('sshPort', '22'); - if (!$values.sshKeyfile && $platformInfo) setFieldValue('sshKeyfile', $platformInfo.defaultKeyfile); - } + // $: { + // if (!$values.sshMode) setFieldValue('sshMode', 'userPassword'); + // // if (!$values.sshPort) setFieldValue('sshPort', '22'); + // if (!$values.sshKeyfile && $platformInfo) setFieldValue('sshKeyfile', $platformInfo.defaultKeyfile); + // } $: isConnected = $openedConnections.includes($values._id) || $openedSingleDatabaseConnections.includes($values._id); @@ -55,6 +55,7 @@ label="SSH Authentication" name="sshMode" isNative + defaultSelectValue="userPassword" disabled={isConnected || !useSshTunnel} options={[ { value: 'userPassword', label: 'Username & password' }, @@ -63,11 +64,11 @@ ]} /> -{#if $values.sshMode != 'userPassword'} +{#if ($values.sshMode || 'userPassword') != 'userPassword'} {/if} -{#if $values.sshMode == 'userPassword'} +{#if ($values.sshMode || 'userPassword') == 'userPassword'}
diff --git a/packages/web/src/tabs/ConnectionTab.svelte b/packages/web/src/tabs/ConnectionTab.svelte index 653342af3..e33fd623d 100644 --- a/packages/web/src/tabs/ConnectionTab.svelte +++ b/packages/web/src/tabs/ConnectionTab.svelte @@ -38,6 +38,8 @@ export let conid; export let connectionStore = undefined; + export let onlyTestButton; + let isTesting; let sqlConnectResult; @@ -207,7 +209,13 @@ {#if driver}
- {#if isConnected} + {#if onlyTestButton} + {#if isTesting} + + {:else} + + {/if} + {:else if isConnected} {:else}