Skip to content
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

fix(kernel): kernel's private object annotations are enumerable #3339

Merged
merged 2 commits into from Jan 17, 2022

Conversation

RomainMuller
Copy link
Contributor

The jsii kernel needs to attach metadata to instances that are sent
across the process boundary. While these properties use symbol names to
eliminate the risk for collisions with user-defined properties, they
were inadvertently set as enumerable, causing those to show in outputs
of JSON.stringify and to be copied over as part of spat expressions
(e.g: {...obj}), which resulted in the new value sharing the same
identity as the previous one when sent over the wire.

Caused: aws/aws-cdk#17876


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

The jsii kernel needs to attach metadata to instances that are sent
across the process boundary. While these properties use symbol names to
eliminate the risk for collisions with user-defined properties, they
were inadvertently set as `enumerable`, causing those to show in outputs
of `JSON.stringify` and to be copied over as part of spat expressions
(e.g: `{...obj}`), which resulted in the new value sharing the same
identity as the previous one when sent over the wire.

Caused: aws/aws-cdk#17876
@RomainMuller RomainMuller self-assigned this Jan 14, 2022
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Jan 14, 2022
packages/@jsii/kernel/lib/objects.ts Outdated Show resolved Hide resolved
packages/@jsii/kernel/lib/objects.ts Outdated Show resolved Hide resolved
Co-authored-by: Nick Lynch <nlynch@amazon.com>
@mergify
Copy link
Contributor

mergify bot commented Jan 17, 2022

Thank you for contributing! ❤️ I will now look into making sure the PR is up-to-date, then proceed to try and merge it!

@mergify mergify bot added the pr/ready-to-merge This PR is ready to be merged. label Jan 17, 2022
@mergify
Copy link
Contributor

mergify bot commented Jan 17, 2022

Merging (with squash)...

@mergify mergify bot merged commit d361c7b into main Jan 17, 2022
@mergify mergify bot deleted the rmuller/kernel-tags-private branch January 17, 2022 10:16
@mergify mergify bot removed the pr/ready-to-merge This PR is ready to be merged. label Jan 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
contribution/core This is a PR that came from AWS.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants