From 90b69f31dd22afa3f59782287c1db1805dc2a3ba Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Sun, 2 Mar 2025 16:36:59 -0500 Subject: [PATCH 1/3] [refactor] Add element type for Activity --- packages/react-devtools-shared/src/backend/fiber/renderer.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/react-devtools-shared/src/backend/fiber/renderer.js b/packages/react-devtools-shared/src/backend/fiber/renderer.js index d06a47e9d3d..e75c3fdefac 100644 --- a/packages/react-devtools-shared/src/backend/fiber/renderer.js +++ b/packages/react-devtools-shared/src/backend/fiber/renderer.js @@ -147,6 +147,7 @@ import type { import type {Source} from 'react-devtools-shared/src/shared/types'; import {getSourceLocationByFiber} from './DevToolsFiberComponentStack'; import {formatOwnerStack} from '../shared/DevToolsOwnerStack'; +import {ActivityComponent} from 'react-reconciler/src/ReactWorkTags'; // Kinds const FIBER_INSTANCE = 0; @@ -1490,6 +1491,7 @@ export function attach( return true; case HostPortal: case HostText: + case ActivityComponent: case LegacyHiddenComponent: case OffscreenComponent: case Throw: From d35d1e3d0186c84f2836bf9b1e0f9e256b0e530a Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Sat, 15 Mar 2025 16:53:03 -0400 Subject: [PATCH 2/3] Better devtool and stack handling --- packages/react-devtools-shared/src/backend/fiber/renderer.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/react-devtools-shared/src/backend/fiber/renderer.js b/packages/react-devtools-shared/src/backend/fiber/renderer.js index e75c3fdefac..d06a47e9d3d 100644 --- a/packages/react-devtools-shared/src/backend/fiber/renderer.js +++ b/packages/react-devtools-shared/src/backend/fiber/renderer.js @@ -147,7 +147,6 @@ import type { import type {Source} from 'react-devtools-shared/src/shared/types'; import {getSourceLocationByFiber} from './DevToolsFiberComponentStack'; import {formatOwnerStack} from '../shared/DevToolsOwnerStack'; -import {ActivityComponent} from 'react-reconciler/src/ReactWorkTags'; // Kinds const FIBER_INSTANCE = 0; @@ -1491,7 +1490,6 @@ export function attach( return true; case HostPortal: case HostText: - case ActivityComponent: case LegacyHiddenComponent: case OffscreenComponent: case Throw: From 53fe6c18b2823a127a0cae9c166a5787cce66032 Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Sun, 16 Mar 2025 12:01:59 -0400 Subject: [PATCH 3/3] Remove REACT_OFFSCREEN_TYPE --- packages/react-reconciler/src/ReactFiber.js | 4 ---- packages/shared/ReactSymbols.js | 1 - packages/shared/isValidElementType.js | 2 -- 3 files changed, 7 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiber.js b/packages/react-reconciler/src/ReactFiber.js index 7b63135c05f..7f5fbe59b8e 100644 --- a/packages/react-reconciler/src/ReactFiber.js +++ b/packages/react-reconciler/src/ReactFiber.js @@ -103,7 +103,6 @@ import { REACT_MEMO_TYPE, REACT_LAZY_TYPE, REACT_SCOPE_TYPE, - REACT_OFFSCREEN_TYPE, REACT_LEGACY_HIDDEN_TYPE, REACT_TRACING_MARKER_TYPE, REACT_ELEMENT_TYPE, @@ -614,8 +613,6 @@ export function createFiberFromTypeAndProps( return createFiberFromSuspense(pendingProps, mode, lanes, key); case REACT_SUSPENSE_LIST_TYPE: return createFiberFromSuspenseList(pendingProps, mode, lanes, key); - case REACT_OFFSCREEN_TYPE: - return createFiberFromOffscreen(pendingProps, mode, lanes, key); case REACT_LEGACY_HIDDEN_TYPE: if (enableLegacyHidden) { return createFiberFromLegacyHidden(pendingProps, mode, lanes, key); @@ -854,7 +851,6 @@ export function createFiberFromOffscreen( key: null | string, ): Fiber { const fiber = createFiber(OffscreenComponent, pendingProps, key, mode); - fiber.elementType = REACT_OFFSCREEN_TYPE; fiber.lanes = lanes; const primaryChildInstance: OffscreenInstance = { _visibility: OffscreenVisible, diff --git a/packages/shared/ReactSymbols.js b/packages/shared/ReactSymbols.js index 1fd00cd76d8..937c01cf759 100644 --- a/packages/shared/ReactSymbols.js +++ b/packages/shared/ReactSymbols.js @@ -33,7 +33,6 @@ export const REACT_SUSPENSE_LIST_TYPE: symbol = Symbol.for( export const REACT_MEMO_TYPE: symbol = Symbol.for('react.memo'); export const REACT_LAZY_TYPE: symbol = Symbol.for('react.lazy'); export const REACT_SCOPE_TYPE: symbol = Symbol.for('react.scope'); -export const REACT_OFFSCREEN_TYPE: symbol = Symbol.for('react.offscreen'); export const REACT_ACTIVITY_TYPE: symbol = Symbol.for('react.activity'); export const REACT_LEGACY_HIDDEN_TYPE: symbol = Symbol.for( 'react.legacy_hidden', diff --git a/packages/shared/isValidElementType.js b/packages/shared/isValidElementType.js index 41370b47a08..84e4fe802a9 100644 --- a/packages/shared/isValidElementType.js +++ b/packages/shared/isValidElementType.js @@ -21,7 +21,6 @@ import { REACT_LAZY_TYPE, REACT_SCOPE_TYPE, REACT_LEGACY_HIDDEN_TYPE, - REACT_OFFSCREEN_TYPE, REACT_TRACING_MARKER_TYPE, REACT_VIEW_TRANSITION_TYPE, REACT_ACTIVITY_TYPE, @@ -52,7 +51,6 @@ export default function isValidElementType(type: mixed): boolean { type === REACT_SUSPENSE_LIST_TYPE || (enableLegacyHidden && type === REACT_LEGACY_HIDDEN_TYPE) || type === REACT_ACTIVITY_TYPE || - type === REACT_OFFSCREEN_TYPE || (enableScopeAPI && type === REACT_SCOPE_TYPE) || (enableTransitionTracing && type === REACT_TRACING_MARKER_TYPE) || (enableViewTransition && type === REACT_VIEW_TRANSITION_TYPE)