react / react/react-native

structuredClone reads user-overridden RegExp properties

Open
#58,224 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs: Author Feedback Needs: Repro
Dominant language
C++
Stars
127k
Forks
25.3k
Avg merge
1d 23h
Merged PRs (30d)
4

Description

Description

The React Native structuredClone polyfill reads value.source and value.flags, so own overrides replace a RegExp's internal pattern/flags while cloning. Capturing only the aggregate flags getter is also insufficient because it reads user-visible per-flag properties such as global.

Expected behavior

RegExp cloning should read the built-in internal source and canonical d g i m s u v y flags without invoking or trusting own overrides, matching native structuredClone.

React Native Version

0.87.1 and current main

Affected Platforms

JavaScript runtime - All

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the React Native structuredClone polyfill entry point and inspect its RegExp handling. Add regression coverage for own overrides of source, flags, and individual flag properties, then run the relevant structuredClone tests. Done means RegExp clones use the built-in pattern and canonical flags without invoking user overrides.

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
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.