structuredClone loses own __proto__ data properties
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
The React Native structuredClone polyfill copies enumerable properties with ordinary assignment. For an own __proto__ data property on an object or array, assignment invokes the inherited prototype setter: the clone's prototype is replaced and no own property is created.
Expected behavior
__proto__ should be cloned as an ordinary own enumerable/writable/configurable data property with a deeply cloned value, while the clone keeps its normal Object or Array prototype. Native structuredClone follows this behavior.
React Native Version
0.87.1 and current main
Affected Platforms
JavaScript runtime - All
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The entry point is React Native's structuredClone polyfill; start by reproducing the issue with objects and arrays that own enumerable proto data properties. Done means the clone retains its normal Object or Array prototype and has a deeply cloned own property matching native structuredClone behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100