Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of the pull request
This PR fixes the crashes that were occurring when connecting to an SSH host.
References and relevant issues
#3888
#3878
#3759 -- Needed to incorporate these changes into SSHWalletWidget
Detailed description of the pull request / Additional comments
WidgetViewModel's new MergeJsonData() function (#3759) has a parsing method that expects JSON string objects. While connecting via SSH, one of the strings passed into MergeJsonData() didn't have a key/value pair, which caused Dev Home to crash. Now, if the JSON parsing fails, the string parameter is wrapped as a JSON string object where the original string is set as the value of "data". This error case only occurs on the "Connect" action, so SSHWalletWidget has been updated to get the host from "data"'s value and use it in the SSH command.
The parameters for the merge method come from the AdaptiveCard, so preventing the parsing issue would require a more time-intensive refactoring.
Validation steps performed
Verified locally by clicking on a dummy host name. I get the same CMD error as entering "ssh {dummy_host}" in the CMD prompt.
PR checklist