[DevTools] Fix false-positive re-render reports for filtered nodes#35723
Merged
[DevTools] Fix false-positive re-render reports for filtered nodes#35723
Conversation
eps1lon
reviewed
Feb 8, 2026
packages/react-devtools-shared/src/__tests__/profilingCharts-test.js
Outdated
Show resolved
Hide resolved
43795fe to
8b56aff
Compare
eps1lon
approved these changes
Feb 9, 2026
github-actions bot
pushed a commit
that referenced
this pull request
Feb 9, 2026
…35723) Fixes #33423, #35245, #19732. As demoed [here](#33423 (comment)), React DevTools incorrectly highlights re-renders for descendants of filtered-out nodes that didn't actually render. There were multiple fixes suggesting changes in `didFiberRender()` function, but these doesn't seem right, because this function is used in a context of whether the Fiber actually rendered something (updated), not re-rendered compared to the previous Fiber. Instead, this PR adds additional validation at callsites that either used for highlighting re-renders or capturing tree base durations and are relying on `didFiberRender`. I've also added a few tests that reproduce the failure scenario. Without the changes, the tests are failing. DiffTrain build for [24f215c](24f215c)
github-actions bot
pushed a commit
that referenced
this pull request
Feb 9, 2026
…35723) Fixes #33423, #35245, #19732. As demoed [here](#33423 (comment)), React DevTools incorrectly highlights re-renders for descendants of filtered-out nodes that didn't actually render. There were multiple fixes suggesting changes in `didFiberRender()` function, but these doesn't seem right, because this function is used in a context of whether the Fiber actually rendered something (updated), not re-rendered compared to the previous Fiber. Instead, this PR adds additional validation at callsites that either used for highlighting re-renders or capturing tree base durations and are relying on `didFiberRender`. I've also added a few tests that reproduce the failure scenario. Without the changes, the tests are failing. DiffTrain build for [24f215c](24f215c)
This was referenced Feb 11, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #33423
Fixes #35245
Fixes #19732
As demoed here, React DevTools incorrectly highlights re-renders for descendants of filtered-out nodes that didn't actually render.
There were multiple fixes suggesting changes in
didFiberRender()function, but these doesn't seem right, because this function is used in a context of whether the Fiber actually rendered something (updated), not re-rendered compared to the previous Fiber.Instead, this PR adds additional validation at callsites that either used for highlighting re-renders or capturing tree base durations and are relying on
didFiberRender. I've also added a few tests that reproduce the failure scenario. Without the changes, the tests are failing.