Uh oh!
There was an error while loading. Please reload this page.
[release/7.0] Fix compression - #79547
Conversation
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
ghost
commented
Dec 12, 2022
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
ghost
commented
Dec 12, 2022
Tagging subscribers to this area: @dotnet/ncl Issue DetailsBackport of #79412 to release/7.0 /cc @CarnaViire@greenEkatherine Customer ImpactTestingRiskIMPORTANT: Is this backport for a servicing release? If so and this change touches code that ships in a NuGet package, please make certain that you have added any necessary package authoring and gotten it explicitly reviewed.
|
CI failures are unrelated:
|
karelz
commented
Dec 20, 2022
Known error:
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
carlossanlop
commented
Jan 4, 2023
@CarnaViire@greenEkatherine when this is ready, please add the |
Approved by @SteveMCarroll via email on 2023/1/5 7:44am - adding Servicing-approved label.
@carlossanlop it is ready for merge. |
carlossanlop
commented
Jan 5, 2023
Approved by Tactics (7.0.3). |
Backport of #79412 to release/7.0
Fixes#77783
/cc @CarnaViire@greenEkatherine
Customer Impact
In .NET 6 we implemented WebSocket compression. It can be configured on per-connection and per-message basis. The per-message configuration is done via WebSocketMessageFlags, which are honored in WebSocket class (used mainly for server-side WebSockets), but are not exposed properly in ClientWebSocket class (used for client-side WebSockets).
The fix unifies behavior of ClientWebSocket with WebSocket. The fix does it by delegating to the encapsulated WebSocket instance (which already works correctly), instead of falling back to parent class implementation.
Regression?
No. The old behavior existed since introducing the feature in .NET 6.
Testing
CI + targeted test case.
Risk
Low risk - the change unifies behavior of ClientWebSocket with WebSocket. It does not add new code or behavior.
Also note that WebSocket compression is disabled by default.