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}