Skip to content

Conversation

@irvingoujAtDevolution
Copy link
Contributor

@irvingoujAtDevolution irvingoujAtDevolution commented Dec 19, 2025

Update @devolutions/web-ssh-gui from 0.4.0 to 0.6.2 with the following improvements:

  • Add Keyboard_Interactive authentication mode for SSH connections
  • Support for deprecated SSH algorithms (for legacy server compatibility)
  • Fix deadlock between terminal visibility and host key verification
  • Library now emits connected status when WebSocket connects, allowing users to see and respond to host key verification prompts

Issue: DGW-327

@github-actions
Copy link

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the @devolutions/web-ssh-gui package from version 0.4.0 to 0.6.2, introducing support for keyboard-interactive authentication, deprecated SSH algorithms for legacy server compatibility, and fixes a deadlock issue between terminal visibility and host key verification.

Key changes:

  • Update @devolutions/web-ssh-gui package from 0.4.0 to 0.6.2
  • Add Keyboard_Interactive authentication mode enum value
  • Remove onHostKeyReceived callback to fix deadlock (library now handles host key verification internally)

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
webapp/pnpm-lock.yaml Updates package lock with new @devolutions/web-ssh-gui version 0.6.2 and its dependencies
webapp/apps/gateway-ui/package.json Updates @devolutions/web-ssh-gui package specifier to ^0.6.2
webapp/apps/gateway-ui/src/client/app/shared/enums/web-client-auth-mode.enum.ts Adds Keyboard_Interactive enum value (2) to SshAuthMode
webapp/apps/gateway-ui/src/client/app/modules/web-client/ssh/web-client-ssh.component.ts Removes onHostKeyReceived callback as the library now handles host key verification internally
webapp/apps/gateway-ui/src/client/app/modules/web-client/form/form-components/ssh/ssh-form.component.ts Adds explanatory comment for Keyboard_Interactive authentication mode handling
Files not reviewed (1)
  • webapp/pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 113 to 115
visibility.showPasswordInput = authModeAsNumber === SshAuthMode.Username_and_Password;

visibility.showPrivateKeyInput = authModeAsNumber === SshAuthMode.Private_Key;
Copy link

Copilot AI Dec 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The visibility logic is incomplete for the new Keyboard_Interactive authentication mode. While the comment indicates it only requires username, the code doesn't explicitly set the visibility flags to false for this mode. This could result in unexpected form field visibility when Keyboard_Interactive is selected.

Consider adding explicit handling for when authModeAsNumber equals SshAuthMode.Keyboard_Interactive to ensure both showPasswordInput and showPrivateKeyInput are set to false.

Suggested change
visibility.showPasswordInput = authModeAsNumber === SshAuthMode.Username_and_Password;
visibility.showPrivateKeyInput = authModeAsNumber === SshAuthMode.Private_Key;
// Reset all visibility flags before enabling those required for the selected auth mode
visibility.showPasswordInput = false;
visibility.showPrivateKeyInput = false;
if (authModeAsNumber === SshAuthMode.Username_and_Password) {
visibility.showPasswordInput = true;
} else if (authModeAsNumber === SshAuthMode.Private_Key) {
visibility.showPrivateKeyInput = true;
}

Copilot uses AI. Check for mistakes.
@CBenoit
Copy link
Member

CBenoit commented Dec 20, 2025

Feel free to merge on your side once ready!

…rd interactive auth support

- Update @devolutions/web-ssh-gui from 0.4.0 to 0.6.2
- Add Keyboard_Interactive authentication mode for SSH
- Remove custom host key verification callback (now handled by library)
- Library now emits connected status earlier to prevent deadlock with host key verification
@irvingoujAtDevolution irvingoujAtDevolution merged commit 9f0666c into master Dec 22, 2025
40 checks passed
@irvingoujAtDevolution irvingoujAtDevolution deleted the update-ssh branch December 22, 2025 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants