From 635ba777e44af911fce4bdcbf82792d22f69fbf9 Mon Sep 17 00:00:00 2001 From: Ashesh Vashi Date: Sun, 7 Jun 2026 10:59:57 +0530 Subject: [PATCH] fix(server-ui): clarify SSH tunnel identity-file password prompt label MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes pgadmin-org/pgadmin4#9981. The `tunnel_prompt_password` switch under SSH Tunnel (added in v9.15 by commit f3567518d / PR #6996) is only meaningful for identity-file authentication — it controls whether pgAdmin prompts for the identity file's passphrase at connection time. Its label `Prompt for password?` and prior help text didn't make this clear. When using password authentication for the SSH tunnel, the switch is correctly disabled, but the generic label led users to think the toggle controlled SSH-password prompting in general — and that it was broken when they couldn't change it. Two small UX changes, no behaviour change: - Rename the label to `Prompt for identity file password?` so the scope is explicit on first glance. - Expand the help text to (a) state what enabling does in identity-file mode, (b) note the field applies only to identity-file auth, (c) point users to the password-auth equivalent (leave the SSH password field empty to be prompted on connection). The `disabled` callback is preserved per the project's existing convention: conditionally-relevant fields stay visible but greyed out, rather than disappearing entirely. --- .../browser/server_groups/servers/static/js/server.ui.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/web/pgadmin/browser/server_groups/servers/static/js/server.ui.js b/web/pgadmin/browser/server_groups/servers/static/js/server.ui.js index 1a0e38e1d91..2d6e6caf126 100644 --- a/web/pgadmin/browser/server_groups/servers/static/js/server.ui.js +++ b/web/pgadmin/browser/server_groups/servers/static/js/server.ui.js @@ -489,7 +489,8 @@ export default class ServerSchema extends BaseUISchema { readonly: obj.isConnected, }, { - id: 'tunnel_prompt_password', label: gettext('Prompt for password?'), + id: 'tunnel_prompt_password', + label: gettext('Prompt for identity file password?'), type: 'switch', group: gettext('SSH Tunnel'), mode: ['properties', 'edit', 'create'], deps: ['tunnel_authentication', 'use_ssh_tunnel'], depChange: (state)=>{ @@ -500,7 +501,7 @@ export default class ServerSchema extends BaseUISchema { disabled: function(state) { return !state.tunnel_authentication || !state.use_ssh_tunnel; }, - helpMessage: gettext('This setting applies only when using an identity file. An identity file may or may not have a password. If set to true the system will prompt for the password.') + helpMessage: gettext('Enable if the identity file is passphrase-protected, to be prompted for the passphrase at connection time. This setting applies only to identity-file authentication. When using password authentication for the SSH tunnel, leave the SSH password field empty to be prompted on connection.') }, { id: 'save_tunnel_password', label: gettext('Save password?'),