(Regarding the experimental React.unstable_Profiler API and reactjs/rfcs/pull/51.)
PR #13058 changed the behavior of React profiling builds to opt host roots into ProfileMode if the React DevTools extension is detected. This was necessary in order to have accurate tree base time measurements for the visual flame graphs.
The Profiler plug-in for DevTools does feature detection to determine if it's enabled by looking at each root and seeing if any of the fibers contain an actualDuration attribute,
The problem is that the actualDuration attribute will be present on v16.4 fibers, which pre-date PR #13058. As a result, the Profiler UI may enable itself with versions of React that it cannot work correctly with.
Perhaps an easy solution would be to rename one of the unstable_Profiler's fiber attributes prior to the next minor release (e.g. treeBaseTime -> treeBaseDuration) and change the DevTools Profiler to feature check using this new name instead.
(Regarding the experimental
React.unstable_ProfilerAPI and reactjs/rfcs/pull/51.)PR #13058 changed the behavior of React profiling builds to opt host roots into
ProfileModeif the React DevTools extension is detected. This was necessary in order to have accurate tree base time measurements for the visual flame graphs.The Profiler plug-in for DevTools does feature detection to determine if it's enabled by looking at each root and seeing if any of the fibers contain an
actualDurationattribute,The problem is that the
actualDurationattribute will be present on v16.4 fibers, which pre-date PR #13058. As a result, the Profiler UI may enable itself with versions of React that it cannot work correctly with.Perhaps an easy solution would be to rename one of the
unstable_Profiler's fiber attributes prior to the next minor release (e.g.treeBaseTime->treeBaseDuration) and change the DevTools Profiler to feature check using this new name instead.