react / react/react-native

PerformanceObserver accepts invalid callbacks until delivery

Aperta
#58,238 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Needs: Author Feedback Needs: Repro
Lingua principale
C++
Stelle
127k
Fork
25.3k
Merge medio
1g 23h
PR unite (30g)
4

Descrizione

Description

PerformanceObserver stores its constructor argument without validating that one was supplied or that it is callable. Missing, null, and other non-function callbacks therefore create invalid observer instances and fail only later when native delivery attempts to invoke the value.

Expected behavior

Construction without the required argument should throw synchronously, and an explicitly supplied non-function should throw the corresponding callback type error, matching the PerformanceObserver API contract.

React Native Version

0.87.1 and current main

Affected Platforms

New Architecture - All

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Segui il costruttore di PerformanceObserver e il percorso di consegna nativo per trovare dove viene memorizzato il callback e dove viene invocato in seguito. Aggiungi la copertura per un callback mancante e per valori esplicitamente forniti che non sono funzioni, quindi verifica che la costruzione generi errori in modo sincrono con gli errori attesi e che i callback validi continuino a funzionare.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, react-native
Ambito
api, mobile-dev
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
55/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.