@@ -3945,7 +3945,12 @@ function commitPassiveMountOnFiber(
3945
3945
instance . _visibility |= OffscreenPassiveEffectsConnected ;
3946
3946
3947
3947
const includeWorkInProgressEffects =
3948
- ( finishedWork . subtreeFlags & PassiveMask ) !== NoFlags ;
3948
+ ( finishedWork . subtreeFlags & PassiveMask ) !== NoFlags ||
3949
+ ( enableProfilerTimer &&
3950
+ enableComponentPerformanceTrack &&
3951
+ finishedWork . actualDuration !== 0 &&
3952
+ ( finishedWork . alternate === null ||
3953
+ finishedWork . alternate . child !== finishedWork . child ) ) ;
3949
3954
recursivelyTraverseReconnectPassiveEffects (
3950
3955
finishedRoot ,
3951
3956
finishedWork ,
@@ -4113,7 +4118,12 @@ function recursivelyTraverseReconnectPassiveEffects(
4113
4118
// node was reused.
4114
4119
const childShouldIncludeWorkInProgressEffects =
4115
4120
includeWorkInProgressEffects &&
4116
- ( parentFiber . subtreeFlags & PassiveMask ) !== NoFlags ;
4121
+ ( ( parentFiber . subtreeFlags & PassiveMask ) !== NoFlags ||
4122
+ ( enableProfilerTimer &&
4123
+ enableComponentPerformanceTrack &&
4124
+ parentFiber . actualDuration !== 0 &&
4125
+ ( parentFiber . alternate === null ||
4126
+ parentFiber . alternate . child !== parentFiber . child ) ) ) ;
4117
4127
4118
4128
// TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)
4119
4129
let child = parentFiber . child ;
@@ -4379,7 +4389,14 @@ function recursivelyTraverseAtomicPassiveEffects(
4379
4389
// pre-rendering. We call this function when traversing a hidden tree whose
4380
4390
// regular effects are currently disconnected.
4381
4391
// TODO: Add special flag for atomic effects
4382
- if ( parentFiber . subtreeFlags & PassiveMask ) {
4392
+ if (
4393
+ parentFiber . subtreeFlags & PassiveMask ||
4394
+ ( enableProfilerTimer &&
4395
+ enableComponentPerformanceTrack &&
4396
+ parentFiber . actualDuration !== 0 &&
4397
+ ( parentFiber . alternate === null ||
4398
+ parentFiber . alternate . child !== parentFiber . child ) )
4399
+ ) {
4383
4400
let child = parentFiber . child ;
4384
4401
while ( child !== null ) {
4385
4402
if ( enableProfilerTimer && enableComponentPerformanceTrack ) {
0 commit comments