Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(react19): Allow null in most RefObjects #86822

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

scttcper
Copy link
Member

@scttcper scttcper commented Mar 11, 2025

In react 19 Ref types are made a bit more strict:

  • Requires first argument in useRef(null)
  • Wants void or undefined to be returned from ref callback instead of null
  • Stricter type checks when passing down refs to props

part of https://github.com/getsentry/frontend-tsc/issues/68

trying to fix the various type errors when updating to react 19 https://github.com/getsentry/getsentry/actions/runs/13779044085/job/38533796056

In react 19 Ref types are made a bit more strict:
- Requires first argument in `useRef(null)`
- Wants void or undefined to be returned from ref callback
- Stricter type checks when passing down refs to props
@github-actions github-actions bot added the Scope: Frontend Automatically applied to PRs that change frontend components label Mar 11, 2025
# Conflicts:
#	static/app/views/dashboards/widgets/timeSeriesWidget/releaseBubbles/useReleaseBubbles.tsx
@scttcper scttcper marked this pull request as ready for review March 12, 2025 00:08
@scttcper scttcper requested review from a team as code owners March 12, 2025 00:08
Copy link

codecov bot commented Mar 12, 2025

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
9693 1 9692 4
View the top 1 failed test(s) by shortest run time
Dashboards > Detail prebuilt dashboards assigns unique IDs to all widgets so grid keys are unique
Stack Traces | 1.43s run time
Error: Unable to find an element with the text: Default Widget 1. This could be because the text is broken up by multiple elements. In this case, you can provide a function for your text matcher to make your matcher more flexible.

Ignored nodes: comments, script, style
...
    at waitForWrapper (.../sentry/sentry/node_modules/@.../dom/dist/wait-for.js:163:27)
    at .../sentry/sentry/node_modules/@.../dom/dist/query-helpers.js:86:33
    at Object.<anonymous> (.../views/dashboards/detail.spec.tsx:191:48)
    at Promise.then.completed (.../sentry/sentry/node_modules/jest-circus/build/utils.js:298:28)
    at new Promise (<anonymous>)
    at callAsyncCircusFn (.../sentry/sentry/node_modules/jest-circus/build/utils.js:231:10)
    at _callCircusTest (.../sentry/sentry/node_modules/jest-circus/build/run.js:316:40)
    at processTicksAndRejections (node:internal/process/task_queues:105:5)
    at _runTest (.../sentry/sentry/node_modules/jest-circus/build/run.js:252:3)
    at _runTestsForDescribeBlock (.../sentry/sentry/node_modules/jest-circus/build/run.js:126:9)
    at _runTestsForDescribeBlock (.../sentry/sentry/node_modules/jest-circus/build/run.js:121:9)
    at _runTestsForDescribeBlock (.../sentry/sentry/node_modules/jest-circus/build/run.js:121:9)
    at run (.../sentry/sentry/node_modules/jest-circus/build/run.js:71:3)
    at runAndTransformResultsToJestFormat (.../sentry/sentry/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
    at jestAdapter (.../sentry/sentry/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
    at runTestInternal (.../sentry/sentry/node_modules/jest-runner/build/runTest.js:367:16)
    at runTest (.../sentry/sentry/node_modules/jest-runner/build/runTest.js:444:34)
    at Object.worker (.../sentry/sentry/node_modules/jest-runner/build/testWorker.js:106:12)

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Scope: Frontend Automatically applied to PRs that change frontend components
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant