diff --git a/packages/react-dom-bindings/src/shared/getAttributeAlias.js b/packages/react-dom-bindings/src/shared/getAttributeAlias.js index 2ed432f20275..31ce02f5d560 100644 --- a/packages/react-dom-bindings/src/shared/getAttributeAlias.js +++ b/packages/react-dom-bindings/src/shared/getAttributeAlias.js @@ -50,6 +50,7 @@ const aliases = new Map([ ['markerEnd', 'marker-end'], ['markerMid', 'marker-mid'], ['markerStart', 'marker-start'], + ['maskType', 'mask-type'], ['overlinePosition', 'overline-position'], ['overlineThickness', 'overline-thickness'], ['paintOrder', 'paint-order'], diff --git a/packages/react-dom-bindings/src/shared/possibleStandardNames.js b/packages/react-dom-bindings/src/shared/possibleStandardNames.js index 369b87110b23..b237d116e43e 100644 --- a/packages/react-dom-bindings/src/shared/possibleStandardNames.js +++ b/packages/react-dom-bindings/src/shared/possibleStandardNames.js @@ -314,6 +314,7 @@ const possibleStandardNames = { markerwidth: 'markerWidth', mask: 'mask', maskcontentunits: 'maskContentUnits', + masktype: 'maskType', maskunits: 'maskUnits', mathematical: 'mathematical', mode: 'mode', diff --git a/packages/react-reconciler/src/ReactFiberCommitWork.js b/packages/react-reconciler/src/ReactFiberCommitWork.js index 199a4a873127..322c858bb9c0 100644 --- a/packages/react-reconciler/src/ReactFiberCommitWork.js +++ b/packages/react-reconciler/src/ReactFiberCommitWork.js @@ -48,7 +48,6 @@ import { alwaysThrottleRetries, enableCreateEventHandleAPI, enableEffectEventMutationPhase, - enableHiddenSubtreeInsertionEffectCleanup, enableProfilerTimer, enableProfilerCommitHooks, enableSuspenseCallback, @@ -1663,17 +1662,12 @@ function commitDeletionEffectsOnFiber( case ForwardRef: case MemoComponent: case SimpleMemoComponent: { - if ( - enableHiddenSubtreeInsertionEffectCleanup || - !offscreenSubtreeWasHidden - ) { - // TODO: Use a commitHookInsertionUnmountEffects wrapper to record timings. - commitHookEffectListUnmount( - HookInsertion, - deletedFiber, - nearestMountedAncestor, - ); - } + // TODO: Use a commitHookInsertionUnmountEffects wrapper to record timings. + commitHookEffectListUnmount( + HookInsertion, + deletedFiber, + nearestMountedAncestor, + ); if (!offscreenSubtreeWasHidden) { commitHookLayoutUnmountEffects( deletedFiber, diff --git a/packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js b/packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js index d82b6e31b4c8..c45db0096517 100644 --- a/packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js +++ b/packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.js @@ -3070,14 +3070,10 @@ describe('ReactHooksWithNoopRenderer', () => { await act(() => { root.render(); }); - assertConsoleErrorDev( - gate('enableHiddenSubtreeInsertionEffectCleanup') - ? [ - 'useInsertionEffect must not schedule updates.\n' + - ' in App (at **)', - ] - : [], - ); + assertConsoleErrorDev([ + 'useInsertionEffect must not schedule updates.\n' + + ' in App (at **)', + ]); // Should not warn for regular effects after throw. function NotInsertion() { diff --git a/packages/react-reconciler/src/__tests__/ReactSuspenseEffectsSemantics-test.js b/packages/react-reconciler/src/__tests__/ReactSuspenseEffectsSemantics-test.js index eeb00ac98502..e65c02d89e4d 100644 --- a/packages/react-reconciler/src/__tests__/ReactSuspenseEffectsSemantics-test.js +++ b/packages/react-reconciler/src/__tests__/ReactSuspenseEffectsSemantics-test.js @@ -1610,9 +1610,7 @@ describe('ReactSuspenseEffectsSemantics', () => { 'AsyncText:InnerAsync_1 render', 'Text:OuterFallback destroy insertion', 'Text:OuterFallback destroy layout', - ...(gate(flags => flags.enableHiddenSubtreeInsertionEffectCleanup) - ? ['Text:InnerFallback destroy insertion'] - : []), + 'Text:InnerFallback destroy insertion', 'Text:Outer create layout', 'AsyncText:OuterAsync_1 create layout', 'Text:Inner create layout', @@ -1757,9 +1755,7 @@ describe('ReactSuspenseEffectsSemantics', () => { assertLog([ 'Text:Inside render', 'AsyncText:OutsideAsync render', - ...(gate(flags => flags.enableHiddenSubtreeInsertionEffectCleanup) - ? ['Text:Fallback:Inside destroy insertion'] - : []), + 'Text:Fallback:Inside destroy insertion', 'Text:Fallback:Fallback destroy insertion', 'Text:Fallback:Fallback destroy layout', 'Text:Fallback:Outside destroy insertion', @@ -2248,9 +2244,7 @@ describe('ReactSuspenseEffectsSemantics', () => { // Destroy layout and passive effects in the errored tree. 'App destroy layout', - ...(gate(flags => flags.enableHiddenSubtreeInsertionEffectCleanup) - ? ['Text:Inside destroy insertion'] - : []), + 'Text:Inside destroy insertion', 'Text:Fallback destroy insertion', 'Text:Fallback destroy layout', 'Text:Outside destroy insertion', @@ -2511,9 +2505,7 @@ describe('ReactSuspenseEffectsSemantics', () => { // Destroy layout and passive effects in the errored tree. 'App destroy layout', - ...(gate(flags => flags.enableHiddenSubtreeInsertionEffectCleanup) - ? ['Text:Inside destroy insertion'] - : []), + 'Text:Inside destroy insertion', 'Text:Fallback destroy insertion', 'Text:Fallback destroy layout', 'Text:Outside destroy insertion', diff --git a/packages/react-reconciler/src/__tests__/useEffectEvent-test.js b/packages/react-reconciler/src/__tests__/useEffectEvent-test.js index b120adf61159..1018b4975ad1 100644 --- a/packages/react-reconciler/src/__tests__/useEffectEvent-test.js +++ b/packages/react-reconciler/src/__tests__/useEffectEvent-test.js @@ -938,14 +938,9 @@ describe('useEffectEvent', () => { assertLog([ 'Parent Insertion Create: A 3 2', 'Parent Layout Cleanup: A 3 2', - ...(gate('enableHiddenSubtreeInsertionEffectCleanup') - ? [ - gate('enableViewTransition') && - !gate('enableEffectEventMutationPhase') - ? 'Child Insertion Destroy A 3 2 B 1 1 1' - : 'Child Insertion Destroy A 3 2 B 3 2 2', - ] - : []), + gate('enableViewTransition') && !gate('enableEffectEventMutationPhase') + ? 'Child Insertion Destroy A 3 2 B 1 1 1' + : 'Child Insertion Destroy A 3 2 B 3 2 2', ]); }); diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 7eb81cc72200..ee5f22ab9588 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -162,11 +162,6 @@ export const enableInternalInstanceMap: boolean = false; // const __NEXT_MAJOR__ = __EXPERIMENTAL__; -/** - * Enables a fix to run insertion effect cleanup on hidden subtrees. - */ -export const enableHiddenSubtreeInsertionEffectCleanup: boolean = true; - /** * Removes legacy style context defined using static `contextTypes` and consumed with static `childContextTypes`. */ diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js index f8da141560f5..40bb6f53c743 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js @@ -19,7 +19,6 @@ export const alwaysThrottleRetries = __VARIANT__; export const enableObjectFiber = __VARIANT__; -export const enableHiddenSubtreeInsertionEffectCleanup = __VARIANT__; export const enableEagerAlternateStateNodeCleanup = __VARIANT__; export const passChildrenWhenCloningPersistedNodes = __VARIANT__; export const enableFragmentRefs = __VARIANT__; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js index cb994a6d94ed..bbb13a6eb174 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js @@ -21,7 +21,6 @@ const dynamicFlags: DynamicExportsType = (dynamicFlagsUntyped: any); export const { alwaysThrottleRetries, enableEffectEventMutationPhase, - enableHiddenSubtreeInsertionEffectCleanup, enableObjectFiber, enableEagerAlternateStateNodeCleanup, passChildrenWhenCloningPersistedNodes, diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js index 69e9f8138962..6b0d93447966 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-oss.js +++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js @@ -30,7 +30,6 @@ export const enableCPUSuspense: boolean = false; export const enableCreateEventHandleAPI: boolean = false; export const enableMoveBefore: boolean = true; export const enableFizzExternalRuntime: boolean = true; -export const enableHiddenSubtreeInsertionEffectCleanup: boolean = false; export const enableInfiniteRenderLoopDetection: boolean = false; export const enableLegacyCache: boolean = false; export const enableLegacyFBSupport: boolean = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js index 3dbfe18b07a3..954d9d88eaf5 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js @@ -33,7 +33,6 @@ export const enableCPUSuspense: boolean = false; export const enableNoCloningMemoCache: boolean = false; export const enableLegacyFBSupport: boolean = false; export const enableMoveBefore: boolean = false; -export const enableHiddenSubtreeInsertionEffectCleanup: boolean = false; export const enableRetryLaneExpiration: boolean = false; export const retryLaneExpirationMs = 5000; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js index 79aeed5c24a1..6bc80d2b8e30 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js @@ -26,7 +26,6 @@ export const enableCreateEventHandleAPI = false; export const enableMoveBefore = false; export const enableFizzExternalRuntime = true; export const enableInfiniteRenderLoopDetection = false; -export const enableHiddenSubtreeInsertionEffectCleanup = true; export const enableLegacyCache = false; export const enableLegacyFBSupport = false; export const enableLegacyHidden = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js index cc870fe329bf..91dc33b28f35 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js @@ -35,7 +35,6 @@ export const enableCPUSuspense: boolean = false; export const enableNoCloningMemoCache: boolean = false; export const enableLegacyFBSupport: boolean = false; export const enableMoveBefore: boolean = false; -export const enableHiddenSubtreeInsertionEffectCleanup: boolean = true; export const enableRetryLaneExpiration: boolean = false; export const retryLaneExpirationMs = 5000; diff --git a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js index 496b9c701143..1646c834ef41 100644 --- a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js +++ b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js @@ -16,7 +16,6 @@ export const alwaysThrottleRetries: boolean = __VARIANT__; export const disableLegacyContextForFunctionComponents: boolean = __VARIANT__; export const disableSchedulerTimeoutInWorkLoop: boolean = __VARIANT__; -export const enableHiddenSubtreeInsertionEffectCleanup: boolean = __VARIANT__; export const enableNoCloningMemoCache: boolean = __VARIANT__; export const enableObjectFiber: boolean = __VARIANT__; export const enableRetryLaneExpiration: boolean = __VARIANT__; diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 2a2b7cbfa489..76e3909ccafc 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -19,7 +19,6 @@ export const { disableLegacyContextForFunctionComponents, disableSchedulerTimeoutInWorkLoop, enableEffectEventMutationPhase, - enableHiddenSubtreeInsertionEffectCleanup, enableInfiniteRenderLoopDetection, enableNoCloningMemoCache, enableObjectFiber,