PerformanceObserver accepts invalid callbacks until delivery
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
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
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
Trace the PerformanceObserver constructor and the native delivery path to find where the callback is stored and later invoked. Add coverage for a missing callback and explicitly supplied non-functions, then verify construction throws synchronously with the expected errors and that valid callbacks still work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react-native
- Domain
- api, mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100