Fix implicit remoting proxy cmdlets to act on common parameters#20367
Merged
daxian-dbw merged 4 commits intoPowerShell:masterfrom Sep 26, 2023
Merged
Fix implicit remoting proxy cmdlets to act on common parameters#20367daxian-dbw merged 4 commits intoPowerShell:masterfrom
daxian-dbw merged 4 commits intoPowerShell:masterfrom
Conversation
daxian-dbw
requested changes
Sep 25, 2023
| foreach (string commonParameterName in Cmdlet.CommonParameters) | ||
| // need to exclude `ProgressAction` which may not exist for downlevel platforms | ||
| var commonParameters = Cmdlet.CommonParameters; | ||
| commonParameters.Remove("ProgressAction"); |
Member
There was a problem hiding this comment.
- The calling to
Removehere removesProgressActionfrom the static hash sets_commonParameters. It will likely cause problems with other places that depends ons_commonParameters. - We should ignore
ProgressActiononly if the server side is a down-level version that doesn't support this common parameter. You may be able to use the same check code from here:
…remove progressaction for older PS
Member
Author
|
The 1 CodeFactor issue is by-design |
daxian-dbw
reviewed
Sep 26, 2023
|
This PR has Quantification details
Why proper sizing of changes matters
Optimal pull request sizes drive a better predictable PR flow as they strike a
What can I do to optimize my changes
How to interpret the change counts in git diff output
Was this comment helpful? 👍 :ok_hand: :thumbsdown: (Email) |
adityapatwardhan
pushed a commit
that referenced
this pull request
Oct 19, 2023
adityapatwardhan
added a commit
that referenced
this pull request
Oct 19, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
PR Summary
The PR to add
ProgressActioncommon parameter caused this regression due to an internal helper to determine if the proxy is for a cmdlet. It expected CommonParameters to never change so if they differ, then the parameter is treated as custom so it doesn't work as expected. This works remoting from latest PS7 to latest PS7 since the common parameters match. However, latest to older PS7 or WinPS5.1 (like via WinCompat layer) fails as the newProgressActionisn't found on the target.Fix is to exclude
ProgressActionfrom this check to enable it to work for the other common parameters.PR Context
Fix #20209
PR Checklist
.h,.cpp,.cs,.ps1and.psm1files have the correct copyright headerWIP:or[ WIP ]to the beginning of the title (theWIPbot will keep its status check atPendingwhile the prefix is present) and remove the prefix when the PR is ready.(which runs in a different PS Host).