react / react/react-native

structuredClone reads user-overridden RegExp properties

Offen
#58,224 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs: Author Feedback Needs: Repro
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne am React Native structuredClone-Polyfill-Einstiegspunkt und untersuche die RegExp-Behandlung. Füge eine Regressionstestabdeckung für eigene Überschreibungen von source, flags und einzelnen Flag-Eigenschaften hinzu und führe anschließend die relevanten structuredClone-Tests aus. Als erledigt gilt die Aufgabe, wenn RegExp-Klone das integrierte Muster und die kanonischen Flags verwenden, ohne benutzerdefinierte Überschreibungen aufzurufen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
javascript, react-native
Bereich
mobile
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.