-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[Serializer] ChainEncoder does not honor context support check if called repeatedly #38270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hey, thanks for your report! |
Hey, thanks for your report! |
Can you create a small example application that allows to reproduce your issue? |
I can do a PR with the proposed changes including a test case that checks exactly this issue. How about that? |
Hey, thanks for your report! |
still relevant; PR exists #43231 |
…erface` and `ContextAwareDecoderInterface` (nicolas-grekas) This PR was merged into the 6.1 branch. Discussion ---------- [Serializer] Revert deprecation of `ContextAwareEncoderInterface` and `ContextAwareDecoderInterface` | Q | A | ------------- | --- | Branch? | 6.1 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | - | License | MIT | Doc PR | - While reviewing #43231, I figured out that the correct fix for #38270 was to make `ChainEncoder` properly consider `ContextAwareEncoderInterface` when deciding to cache or not. Since this interface is useful to discriminate the cache/no-cache situations, we have to undeprecate it (from #43982.) /cc `@Guite` and `@mtarld` FYI Commits ------- 9ac7fb1 [Serializer] Revert deprecation of `ContextAwareEncoderInterface` and `ContextAwareDecoderInterface`
…n ChainEncoder/ChainDecoder (Guite) This PR was merged into the 4.4 branch. Discussion ---------- [Serializer] Fix caching context-aware encoders/decoders in ChainEncoder/ChainDecoder | Q | A | ------------- | --- | Branch? | 4.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #38270 | License | MIT | Doc PR | - As proposed in #43231 (comment) Will require #47150 on 6.1 until a proper solution is implemented, hopefully in 6.2. Commits ------- 5902380 [Serializer] Fix caching context-aware encoders/decoders in ChainEncoder/ChainDecoder
Uh oh!
There was an error while loading. Please reload this page.
ChainEncoder#getEncoder
method reads:If that method is called more than once with different
$context
arguments the wrong encoder could be returned because$encoder->supportsEncoding($format, $context)
is not called again.Hence, I disabled the first check and
return
statement and things worked like a charm.The text was updated successfully, but these errors were encountered: