From 94913cbffeff60c862ef818ca62cdc329dc2fd57 Mon Sep 17 00:00:00 2001 From: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com> Date: Fri, 23 Jan 2026 10:46:30 +0000 Subject: [PATCH] [flags] cleanup renameElementSymbol (#35600) Removed the feature flag completely, enabled by default. Will land once I have everything ready on xplat side. --- packages/react-client/src/__tests__/ReactFlight-test.js | 1 - packages/react-dom/src/__tests__/ReactComponent-test.js | 1 - packages/react-dom/src/__tests__/ReactDOMOption-test.js | 3 +-- packages/shared/ReactFeatureFlags.js | 3 --- packages/shared/ReactSymbols.js | 8 +++----- packages/shared/__tests__/ReactSymbols-test.internal.js | 1 - .../shared/forks/ReactFeatureFlags.native-fb-dynamic.js | 1 - packages/shared/forks/ReactFeatureFlags.native-fb.js | 1 - packages/shared/forks/ReactFeatureFlags.native-oss.js | 1 - packages/shared/forks/ReactFeatureFlags.test-renderer.js | 1 - .../forks/ReactFeatureFlags.test-renderer.native-fb.js | 1 - .../shared/forks/ReactFeatureFlags.test-renderer.www.js | 2 -- packages/shared/forks/ReactFeatureFlags.www-dynamic.js | 1 - packages/shared/forks/ReactFeatureFlags.www.js | 1 - 14 files changed, 4 insertions(+), 22 deletions(-) diff --git a/packages/react-client/src/__tests__/ReactFlight-test.js b/packages/react-client/src/__tests__/ReactFlight-test.js index ab9bc654073..0a543a3464c 100644 --- a/packages/react-client/src/__tests__/ReactFlight-test.js +++ b/packages/react-client/src/__tests__/ReactFlight-test.js @@ -1085,7 +1085,6 @@ describe('ReactFlight', () => { }); }); - // @gate renameElementSymbol it('should emit descriptions of errors in dev', async () => { const ClientErrorBoundary = clientReference(ErrorBoundary); diff --git a/packages/react-dom/src/__tests__/ReactComponent-test.js b/packages/react-dom/src/__tests__/ReactComponent-test.js index 8990711cf1c..9df55ff80ed 100644 --- a/packages/react-dom/src/__tests__/ReactComponent-test.js +++ b/packages/react-dom/src/__tests__/ReactComponent-test.js @@ -498,7 +498,6 @@ describe('ReactComponent', () => { ); }); - // @gate renameElementSymbol it('throws if a legacy element is used as a child', async () => { const inlinedElement = { $$typeof: Symbol.for('react.element'), diff --git a/packages/react-dom/src/__tests__/ReactDOMOption-test.js b/packages/react-dom/src/__tests__/ReactDOMOption-test.js index 9859fb67f12..910c90a3b96 100644 --- a/packages/react-dom/src/__tests__/ReactDOMOption-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMOption-test.js @@ -138,12 +138,11 @@ describe('ReactDOMOption', () => { }).rejects.toThrow('Objects are not valid as a React child'); }); - // @gate www && !renameElementSymbol it('should support element-ish child', async () => { // This is similar to . // We don't toString it because you must instead provide a value prop. const obj = { - $$typeof: Symbol.for('react.element'), + $$typeof: Symbol.for('react.transitional.element'), type: props => props.content, ref: null, key: null, diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 08d4b1fc33d..6542fc9da6a 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -159,9 +159,6 @@ export const enableInternalInstanceMap: boolean = false; // const __NEXT_MAJOR__ = __EXPERIMENTAL__; -// Renames the internal symbol for elements since they have changed signature/constructor -export const renameElementSymbol: boolean = true; - /** * Enables a fix to run insertion effect cleanup on hidden subtrees. */ diff --git a/packages/shared/ReactSymbols.js b/packages/shared/ReactSymbols.js index d22d4ba12ee..bb67b538930 100644 --- a/packages/shared/ReactSymbols.js +++ b/packages/shared/ReactSymbols.js @@ -7,17 +7,15 @@ * @flow */ -import {renameElementSymbol} from 'shared/ReactFeatureFlags'; - // ATTENTION // When adding new symbols to this file, // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' // The Symbol used to tag the ReactElement-like types. export const REACT_LEGACY_ELEMENT_TYPE: symbol = Symbol.for('react.element'); -export const REACT_ELEMENT_TYPE: symbol = renameElementSymbol - ? Symbol.for('react.transitional.element') - : REACT_LEGACY_ELEMENT_TYPE; +export const REACT_ELEMENT_TYPE: symbol = Symbol.for( + 'react.transitional.element', +); export const REACT_PORTAL_TYPE: symbol = Symbol.for('react.portal'); export const REACT_FRAGMENT_TYPE: symbol = Symbol.for('react.fragment'); export const REACT_STRICT_MODE_TYPE: symbol = Symbol.for('react.strict_mode'); diff --git a/packages/shared/__tests__/ReactSymbols-test.internal.js b/packages/shared/__tests__/ReactSymbols-test.internal.js index 2ee93336ea7..c651f53075a 100644 --- a/packages/shared/__tests__/ReactSymbols-test.internal.js +++ b/packages/shared/__tests__/ReactSymbols-test.internal.js @@ -23,7 +23,6 @@ describe('ReactSymbols', () => { }); }; - // @gate renameElementSymbol it('Symbol values should be unique', () => { expectToBeUnique(Object.entries(require('shared/ReactSymbols'))); }); diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js index f139a3fcf28..c1d8ea3ceaa 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js @@ -22,7 +22,6 @@ export const enableObjectFiber = __VARIANT__; export const enableHiddenSubtreeInsertionEffectCleanup = __VARIANT__; export const enableEagerAlternateStateNodeCleanup = __VARIANT__; export const passChildrenWhenCloningPersistedNodes = __VARIANT__; -export const renameElementSymbol = __VARIANT__; export const enableFragmentRefs = __VARIANT__; export const enableFragmentRefsScrollIntoView = __VARIANT__; export const enableFragmentRefsInstanceHandles = __VARIANT__; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js index bc5d05c83d9..dab30e7f115 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js @@ -24,7 +24,6 @@ export const { enableObjectFiber, enableEagerAlternateStateNodeCleanup, passChildrenWhenCloningPersistedNodes, - renameElementSymbol, enableFragmentRefs, enableFragmentRefsScrollIntoView, enableFragmentRefsInstanceHandles, diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js index be77de267ff..52c4204ef00 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-oss.js +++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js @@ -52,7 +52,6 @@ export const enableTaint: boolean = true; export const enableTransitionTracing: boolean = false; export const enableTrustedTypesIntegration: boolean = false; export const passChildrenWhenCloningPersistedNodes: boolean = false; -export const renameElementSymbol: boolean = true; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js index f033e130bdb..4a1ded43c7d 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js @@ -55,7 +55,6 @@ export const disableClientCache: boolean = true; export const enableInfiniteRenderLoopDetection: boolean = false; -export const renameElementSymbol: boolean = true; export const enableEagerAlternateStateNodeCleanup: boolean = true; export const enableYieldingBeforePassive: boolean = true; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js index 1b6f65544ce..67ae35f04b9 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js @@ -50,7 +50,6 @@ export const enableTransitionTracing = false; export const enableTrustedTypesIntegration = false; export const enableUpdaterTracking = false; export const passChildrenWhenCloningPersistedNodes = false; -export const renameElementSymbol = false; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js index 3916e82e16b..4434cfa6c64 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js @@ -60,8 +60,6 @@ export const enableInfiniteRenderLoopDetection: boolean = false; export const enableReactTestRendererWarning: boolean = false; export const disableLegacyMode: boolean = true; -export const renameElementSymbol: boolean = false; - export const enableObjectFiber: boolean = false; export const enableEagerAlternateStateNodeCleanup: boolean = true; diff --git a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js index 1d174609cb9..c5a0cf63fd6 100644 --- a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js +++ b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js @@ -21,7 +21,6 @@ export const enableNoCloningMemoCache: boolean = __VARIANT__; export const enableObjectFiber: boolean = __VARIANT__; export const enableRetryLaneExpiration: boolean = __VARIANT__; export const enableTransitionTracing: boolean = __VARIANT__; -export const renameElementSymbol: boolean = __VARIANT__; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 0c457d31e89..bc64b65053b 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -25,7 +25,6 @@ export const { enableRetryLaneExpiration, enableTransitionTracing, enableTrustedTypesIntegration, - renameElementSymbol, retryLaneExpirationMs, syncLaneExpirationMs, transitionLaneExpirationMs,