From bd47c8a10f00cb49c5409d4a4da90501f89f2b3f Mon Sep 17 00:00:00 2001 From: tyao1 Date: Thu, 22 Jun 2023 20:18:03 +0000 Subject: [PATCH] Fix disableStrictPassiveEffect not working under Suspense (#26989) In https://github.com/facebook/react/pull/26914 I added an extra logic to turn off double useEffect if there is an `Offscreen` tag. But `Suspense` uses `Offscreen` tag internally and that turns off `disableStrictPassiveEffect` for everything. DiffTrain build for commit https://github.com/facebook/react/commit/70e998a1064cc1e8e8f9103e0c00d37fbbcf71c1. --- .../react-test-renderer/cjs/ReactTestRenderer-dev.js | 9 ++------- .../react-test-renderer/cjs/ReactTestRenderer-prod.js | 4 ++-- .../cjs/ReactTestRenderer-profiling.js | 4 ++-- .../xplat/js/RKJSModules/vendor/react/cjs/React-dev.js | 2 +- .../xplat/js/RKJSModules/vendor/react/cjs/React-prod.js | 2 +- .../js/RKJSModules/vendor/react/cjs/React-profiling.js | 2 +- .../js/react-native-github/Libraries/Renderer/REVISION | 2 +- .../Renderer/implementations/ReactFabric-dev.fb.js | 9 ++------- .../implementations/ReactNativeRenderer-dev.fb.js | 9 ++------- 9 files changed, 14 insertions(+), 29 deletions(-) diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js index cbfc0a2957..79dd86047b 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js @@ -7,7 +7,7 @@ * @noflow * @nolint * @preventMunge - * @generated SignedSource<<8b35d681c01d550a6b69db76a1733d08>> + * @generated SignedSource<<78e16f0583c5e93e8b989135cc106bd4>> */ 'use strict'; @@ -23769,11 +23769,6 @@ function createFiberFromSuspenseList(pendingProps, mode, lanes, key) { return fiber; } function createFiberFromOffscreen(pendingProps, mode, lanes, key) { - { - // StrictMode in Offscreen should always run double passive effects - mode &= ~NoStrictPassiveEffectsMode; - } - var fiber = createFiber(OffscreenComponent, pendingProps, key, mode); fiber.elementType = REACT_OFFSCREEN_TYPE; fiber.lanes = lanes; @@ -23934,7 +23929,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-canary-c8deb5db6-20230622"; +var ReactVersion = "18.3.0-canary-70e998a10-20230622"; // Might add PROFILE later. diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js index b74e86dd48..9c9262be9b 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js @@ -8617,7 +8617,7 @@ var devToolsConfig$jscomp$inline_1031 = { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 0, - version: "18.3.0-canary-c8deb5db6-20230622", + version: "18.3.0-canary-70e998a10-20230622", rendererPackageName: "react-test-renderer" }; var internals$jscomp$inline_1230 = { @@ -8648,7 +8648,7 @@ var internals$jscomp$inline_1230 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-canary-c8deb5db6-20230622" + reconcilerVersion: "18.3.0-canary-70e998a10-20230622" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_1231 = __REACT_DEVTOOLS_GLOBAL_HOOK__; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js index dbcf4f2a8a..b1370858c7 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js @@ -9043,7 +9043,7 @@ var devToolsConfig$jscomp$inline_1073 = { throw Error("TestRenderer does not support findFiberByHostInstance()"); }, bundleType: 0, - version: "18.3.0-canary-c8deb5db6-20230622", + version: "18.3.0-canary-70e998a10-20230622", rendererPackageName: "react-test-renderer" }; var internals$jscomp$inline_1271 = { @@ -9074,7 +9074,7 @@ var internals$jscomp$inline_1271 = { scheduleRoot: null, setRefreshHandler: null, getCurrentFiber: null, - reconcilerVersion: "18.3.0-canary-c8deb5db6-20230622" + reconcilerVersion: "18.3.0-canary-70e998a10-20230622" }; if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) { var hook$jscomp$inline_1272 = __REACT_DEVTOOLS_GLOBAL_HOOK__; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js index 44c5c10bc7..e0efd43693 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js @@ -27,7 +27,7 @@ if ( } "use strict"; -var ReactVersion = "18.3.0-canary-c8deb5db6-20230622"; +var ReactVersion = "18.3.0-canary-70e998a10-20230622"; // ATTENTION // When adding new symbols to this file, diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js index f6c0faa9e6..55d299fb49 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js @@ -642,4 +642,4 @@ exports.useSyncExternalStore = function ( ); }; exports.useTransition = useTransition; -exports.version = "18.3.0-canary-c8deb5db6-20230622"; +exports.version = "18.3.0-canary-70e998a10-20230622"; diff --git a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js index 33390c925c..7befbd23af 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js +++ b/compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js @@ -645,7 +645,7 @@ exports.useSyncExternalStore = function ( ); }; exports.useTransition = useTransition; -exports.version = "18.3.0-canary-c8deb5db6-20230622"; +exports.version = "18.3.0-canary-70e998a10-20230622"; /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ if ( diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION index 0937cb1029..2a5436c2c3 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/REVISION @@ -1 +1 @@ -c8deb5db660f3f6eeca30d29b4bd48d9e82b3792 +70e998a1064cc1e8e8f9103e0c00d37fbbcf71c1 diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js index 72cc7d0dff..4f6745b79e 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactFabric-dev.fb.js @@ -7,7 +7,7 @@ * @noflow * @nolint * @preventMunge - * @generated SignedSource<<514b18ed9abf66bd67c35f8d3892be26>> + * @generated SignedSource<> */ 'use strict'; @@ -27025,11 +27025,6 @@ function createFiberFromSuspenseList(pendingProps, mode, lanes, key) { return fiber; } function createFiberFromOffscreen(pendingProps, mode, lanes, key) { - { - // StrictMode in Offscreen should always run double passive effects - mode &= ~NoStrictPassiveEffectsMode; - } - var fiber = createFiber(OffscreenComponent, pendingProps, key, mode); fiber.elementType = REACT_OFFSCREEN_TYPE; fiber.lanes = lanes; @@ -27249,7 +27244,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-canary-8ff97f72"; +var ReactVersion = "18.3.0-canary-6ea864da"; function createPortal$1( children, diff --git a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js index 2ae978d8c6..6bd310ff32 100644 --- a/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js +++ b/compiled-rn/facebook-fbsource/xplat/js/react-native-github/Libraries/Renderer/implementations/ReactNativeRenderer-dev.fb.js @@ -7,7 +7,7 @@ * @noflow * @nolint * @preventMunge - * @generated SignedSource<<14c435eed21e626d0548f1265b3a2ab8>> + * @generated SignedSource<<8f036c0125a599ffea1d8d0e0001b6d9>> */ 'use strict'; @@ -27539,11 +27539,6 @@ function createFiberFromSuspenseList(pendingProps, mode, lanes, key) { return fiber; } function createFiberFromOffscreen(pendingProps, mode, lanes, key) { - { - // StrictMode in Offscreen should always run double passive effects - mode &= ~NoStrictPassiveEffectsMode; - } - var fiber = createFiber(OffscreenComponent, pendingProps, key, mode); fiber.elementType = REACT_OFFSCREEN_TYPE; fiber.lanes = lanes; @@ -27763,7 +27758,7 @@ function createFiberRoot( return root; } -var ReactVersion = "18.3.0-canary-a48d7fee"; +var ReactVersion = "18.3.0-canary-e9a186c1"; function createPortal$1( children,