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
Following this issue #371, I investigated the source code of xstyled to understand what was happening by adding logs:
On the server, with each new request, we can see these logs appear:
Basically, an object cannot be used as a key on a map:
So the solution here is to stringify the value when it's an object:
Benchmarks:
This fix slows down the benchmark a bit, probably because of the
JSON.stringify
but prevent memory leaks...(maybe we can look at a library to speed up the conversion object -> string, like https://github.com/fastify/fast-json-stringify)