diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c18ec6..b246986 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,8 +41,6 @@ jobs: env: LANG: en_US.UTF-8 LC_ALL: en_US.UTF-8 - RCT_USE_RN_DEP: '1' - RCT_USE_PREBUILT_RNCORE: '0' steps: - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5 - uses: ./.github/actions/setup diff --git a/docs/workflow.md b/docs/workflow.md index 9a68947..ffb3adf 100644 --- a/docs/workflow.md +++ b/docs/workflow.md @@ -117,6 +117,12 @@ For CocoaPods, use a Ruby version compatible with `example/Gemfile`, then run `bundle install` and `bundle exec pod install --project-directory=ios` from `example/`. Set `LANG=en_US.UTF-8` and `LC_ALL=en_US.UTF-8`. +To test same-frame delivery of the first iOS event, apply +[react/react-native#58530](https://github.com/react/react-native/pull/58530) to the +example's React Native manually, for example with `pnpm patch react-native`, and +reinstall pods with `RCT_USE_PREBUILT_RNCORE=0`; the prebuilt React Native core does +not contain that change. + ## Pull requests Before committing, run all checks above and the native builds affected by the @@ -135,23 +141,3 @@ pnpm run docs:build Docusaurus serves the site locally; building it does not deploy it. Preview the landing page and API documentation at desktop and mobile widths after UI edits. - -## React Native event-beat test patch - -The example installs React Native `0.88.0-rc.1` with -`patches/react-native@0.88.0-rc.1.patch` through `pnpm-workspace.yaml`. -The patch carries the native source changes from -[upstream PR #58530](https://github.com/react/react-native/pull/58530), commit -`c73ef0f22a655ed18b626a6373ef69a63912adeb`. It also adds that proposal's -`kNoTag` prerequisite and adapts two header include contexts to RC1. It excludes -upstream test and API-snapshot files. The upstream proposal is unmerged. - -Run `pnpm install --frozen-lockfile` to reproduce it. The example Podfile sets -`RCT_USE_PREBUILT_RNCORE=0`: precompiled React Native binaries do not contain these -source changes. Reinstall pods and rebuild the native app after changing the -patch. Prebuilt third-party React Native dependencies may still be used. - -The patch is an example dependency for testing layout-time synchronous delivery; -it is not bundled into the library's npm package or applied to consuming apps. -Verify first-visible-frame behavior with a recorded native run. Passing package -tests or compiling the synchronous event code does not establish that behavior. diff --git a/example/ios/Podfile b/example/ios/Podfile index 62e79f7..108718c 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -1,6 +1,3 @@ -# The event-beat patch changes React Native sources: https://github.com/react/react-native/pull/58530. -ENV['RCT_USE_PREBUILT_RNCORE'] = '0' - # Resolve react_native_pods.rb with node to allow for hoisting require Pod::Executable.execute_command('node', ['-p', 'require.resolve( diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 5f70cc3..f788c2c 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -5,7 +5,8 @@ PODS: - ReactNativeDependencies - fast_float (8.0.0): - ReactNativeDependencies - - FBLazyVector (0.88.0-rc.1) + - FBLazyVector (0.88.0-rc.1): + - React-Core-prebuilt - fmt (12.1.0): - ReactNativeDependencies - glog (0.3.5): @@ -18,8 +19,10 @@ PODS: - ReactNativeDependencies - RCT-Folly/Default (2024.11.18.00): - ReactNativeDependencies - - RCTDeprecation (0.88.0-rc.1) - - RCTRequired (0.88.0-rc.1) + - RCTDeprecation (0.88.0-rc.1): + - React-Core-prebuilt + - RCTRequired (0.88.0-rc.1): + - React-Core-prebuilt - RCTSwiftUI (0.88.0-rc.1) - RCTSwiftUIWrapper (0.88.0-rc.1): - RCTSwiftUI @@ -42,6 +45,7 @@ PODS: - React-RCTVibration (= 0.88.0-rc.1) - React-bridging (0.88.0-rc.1): - React-callinvoker + - React-Core-prebuilt - React-jsi - React-timing - ReactNativeDependencies @@ -51,259 +55,39 @@ PODS: - React-callinvoker/callinvokerUmbrella (0.88.0-rc.1): - React-cxxstableapi - React-Core (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation + - React-Core-prebuilt - React-Core/Default (= 0.88.0-rc.1) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils + - React-Core-prebuilt (0.88.0-rc.1): - ReactNativeDependencies - - Yoga - React-Core/CoreModulesHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/Default (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/DevSupport (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default (= 0.88.0-rc.1) - - React-Core/RCTWebSocket (= 0.88.0-rc.1) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTActionSheetHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTAnimationHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTBlobHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTImageHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTLinkingHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTNetworkHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTSettingsHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTTextHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTVibrationHeaders (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-Core/RCTWebSocket (0.88.0-rc.1): - - hermes-engine - - RCTDeprecation - - React-Core/Default (= 0.88.0-rc.1) - - React-cxxreact - - React-featureflags - - React-hermes - - React-jsi - - React-jsiexecutor - - React-jsinspector - - React-jsinspectorcdp - - React-jsitooling - - React-perflogger - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-CoreModules (0.88.0-rc.1): - RCTTypeSafety (= 0.88.0-rc.1) + - React-Core-prebuilt - React-Core/CoreModulesHeaders (= 0.88.0-rc.1) - React-debug - React-featureflags @@ -323,6 +107,7 @@ PODS: - React-cxxreact (0.88.0-rc.1): - hermes-engine - React-callinvoker (= 0.88.0-rc.1) + - React-Core-prebuilt - React-debug (= 0.88.0-rc.1) - React-jserrorhandler (= 0.88.0-rc.1) - React-jsi (= 0.88.0-rc.1) @@ -346,6 +131,7 @@ PODS: - React-cxxstableapi - React-defaultsnativemodule (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-domnativemodule - React-Fabric/animated @@ -366,6 +152,7 @@ PODS: - React-domnativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxstableapi - React-Fabric - React-Fabric/bridging @@ -384,6 +171,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -423,6 +211,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -444,6 +233,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -464,6 +254,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -484,6 +275,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -504,6 +296,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -524,6 +317,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -544,6 +338,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -564,6 +359,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -589,6 +385,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -609,6 +406,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -629,6 +427,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -649,6 +448,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -671,6 +471,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -691,6 +492,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -711,6 +513,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -731,6 +534,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -751,6 +555,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -771,6 +576,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -791,6 +597,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -812,6 +619,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -836,6 +644,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -856,6 +665,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -876,6 +686,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -896,6 +707,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -916,6 +728,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -941,6 +754,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -961,6 +775,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -983,6 +798,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1004,6 +820,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1023,6 +840,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1046,6 +864,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1077,6 +896,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1098,6 +918,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1119,6 +940,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1140,6 +962,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1161,6 +984,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1182,6 +1006,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1203,6 +1028,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1224,6 +1050,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1245,6 +1072,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1266,6 +1094,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1287,6 +1116,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1307,6 +1137,7 @@ PODS: - hermes-engine - RCTRequired (= 0.88.0-rc.1) - RCTTypeSafety (= 0.88.0-rc.1) + - React-Core-prebuilt - React-cxxstableapi - React-Fabric - React-featureflags @@ -1321,14 +1152,17 @@ PODS: - ReactNativeDependencies - Yoga - React-featureflags (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-featureflags/featureflagsUmbrella (= 0.88.0-rc.1) - ReactNativeDependencies - React-featureflags/featureflagsUmbrella (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - ReactNativeDependencies - React-featureflagsnativemodule (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-featureflags - React-jsi @@ -1338,6 +1172,7 @@ PODS: - ReactNativeDependencies - React-graphics (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-featureflags - React-jsi - React-jsiexecutor @@ -1346,6 +1181,7 @@ PODS: - ReactNativeDependencies - React-hermes (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxreact (= 0.88.0-rc.1) - React-cxxstableapi - React-jsi @@ -1361,6 +1197,7 @@ PODS: - React-idlecallbacksnativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxstableapi - React-jsi - React-jsiexecutor @@ -1370,6 +1207,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - React-ImageManager (0.88.0-rc.1): + - React-Core-prebuilt - React-Core/Default - React-cxxstableapi - React-debug @@ -1381,6 +1219,7 @@ PODS: - React-intersectionobservernativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-Fabric @@ -1397,6 +1236,7 @@ PODS: - React-jserrorhandler (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-featureflags @@ -1404,9 +1244,11 @@ PODS: - ReactNativeDependencies - React-jsi (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - ReactNativeDependencies - React-jsiexecutor (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1422,6 +1264,7 @@ PODS: - ReactNativeDependencies - React-jsinspector (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-featureflags - React-jsi - React-jsinspectorcdp @@ -1433,14 +1276,17 @@ PODS: - React-utils - ReactNativeDependencies - React-jsinspectorcdp (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - ReactNativeDependencies - React-jsinspectornetwork (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-jsinspectorcdp - ReactNativeDependencies - React-jsinspectortracing (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-jsi - React-jsinspectornetwork @@ -1450,6 +1296,7 @@ PODS: - ReactNativeDependencies - React-jsitooling (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxreact (= 0.88.0-rc.1) - React-cxxstableapi - React-debug @@ -1463,18 +1310,22 @@ PODS: - React-jsitracing (0.88.0-rc.1): - React-jsi - React-logger (0.88.0-rc.1): + - React-Core-prebuilt - ReactNativeDependencies - React-Mapbuffer (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Mapbuffer/mapbufferUmbrella (= 0.88.0-rc.1) - ReactNativeDependencies - React-Mapbuffer/mapbufferUmbrella (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-debug - ReactNativeDependencies - React-microtasksnativemodule (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-jsi - React-jsiexecutor @@ -1484,6 +1335,7 @@ PODS: - React-mutationobservernativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-Fabric @@ -1503,6 +1355,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Fabric @@ -1527,6 +1380,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Fabric @@ -1549,6 +1403,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Fabric @@ -1571,6 +1426,7 @@ PODS: - React-bridging - React-callinvoker - React-Core + - React-Core-prebuilt - React-cxxreact - React-debug - React-featureflags @@ -1581,6 +1437,7 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - React-networking (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-jsinspectornetwork - React-jsinspectortracing @@ -1590,9 +1447,11 @@ PODS: - React-oscompat (0.88.0-rc.1): - React-cxxstableapi - React-perflogger (0.88.0-rc.1): + - React-Core-prebuilt - ReactNativeDependencies - React-performancecdpmetrics (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-jsi - React-performancetimeline @@ -1600,6 +1459,7 @@ PODS: - React-timing - ReactNativeDependencies - React-performancetimeline (0.88.0-rc.1): + - React-Core-prebuilt - React-cxxstableapi - React-featureflags - React-jsinspector @@ -1612,6 +1472,7 @@ PODS: - React-RCTAnimatedModuleProvider (0.88.0-rc.1): - hermes-engine - React-Core + - React-Core-prebuilt - React-Fabric/animated - React-featureflags - ReactCommon @@ -1619,6 +1480,7 @@ PODS: - Yoga - React-RCTAnimation (0.88.0-rc.1): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTAnimationHeaders - React-debug - React-featureflags @@ -1632,6 +1494,7 @@ PODS: - RCTRequired - RCTTypeSafety - React-Core + - React-Core-prebuilt - React-CoreModules - React-debug - React-defaultsnativemodule @@ -1658,6 +1521,7 @@ PODS: - ReactNativeDependencies - React-RCTBlob (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-Core/RCTBlobHeaders - React-Core/RCTWebSocket - React-jsi @@ -1669,42 +1533,14 @@ PODS: - ReactCommon - ReactNativeDependencies - React-RCTFabric (0.88.0-rc.1): - - hermes-engine - - RCTSwiftUIWrapper - - React-Core - - React-cxxstableapi - - React-debug - - React-Fabric - - React-FabricComponents - - React-FabricImage - - React-featureflags - - React-graphics - - React-ImageManager - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-networking - - React-performancecdpmetrics - - React-performancetimeline - - React-RCTAnimation - - React-RCTFBReactNativeSpec - - React-RCTImage - - React-RCTText - - React-rendererconsistency - - React-renderercss - - React-rendererdebug - - React-runtimeexecutor - - React-runtimescheduler - - React-utils - - ReactNativeDependencies - - Yoga + - React-Core-prebuilt - React-RCTFBReactNativeSpec (0.88.0-rc.1): - hermes-engine - RCTRequired - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-jsi - React-NativeModulesApple - React-RCTFBReactNativeSpec/components (= 0.88.0-rc.1) @@ -1716,6 +1552,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Fabric @@ -1730,6 +1567,7 @@ PODS: - Yoga - React-RCTImage (0.88.0-rc.1): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTImageHeaders - React-jsi - React-NativeModulesApple @@ -1746,6 +1584,7 @@ PODS: - ReactCommon/turbomodule/core (= 0.88.0-rc.1) - React-RCTNetwork (0.88.0-rc.1): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTNetworkHeaders - React-debug - React-featureflags @@ -1758,22 +1597,10 @@ PODS: - ReactCommon - ReactNativeDependencies - React-RCTRuntime (0.88.0-rc.1): - - hermes-engine - - React-Core - - React-debug - - React-jsi - - React-jsinspector - - React-jsinspectorcdp - - React-jsinspectortracing - - React-jsitooling - - React-RuntimeApple - - React-RuntimeCore - - React-runtimeexecutor - - React-RuntimeHermes - - React-utils - - ReactNativeDependencies + - React-Core-prebuilt - React-RCTSettings (0.88.0-rc.1): - RCTTypeSafety + - React-Core-prebuilt - React-Core/RCTSettingsHeaders - React-jsi - React-NativeModulesApple @@ -1784,6 +1611,7 @@ PODS: - React-Core/RCTTextHeaders (= 0.88.0-rc.1) - Yoga - React-RCTVibration (0.88.0-rc.1): + - React-Core-prebuilt - React-Core/RCTVibrationHeaders - React-jsi - React-NativeModulesApple @@ -1795,11 +1623,13 @@ PODS: - React-debug - React-utils - React-rendererdebug (0.88.0-rc.1): + - React-Core-prebuilt - React-debug - ReactNativeDependencies - React-resizeobservernativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-Fabric @@ -1817,6 +1647,7 @@ PODS: - React-RuntimeApple (0.88.0-rc.1): - hermes-engine - React-callinvoker + - React-Core-prebuilt - React-Core/Default - React-CoreModules - React-cxxreact @@ -1839,6 +1670,7 @@ PODS: - ReactNativeDependencies - React-RuntimeCore (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-Fabric @@ -1854,6 +1686,7 @@ PODS: - React-utils - ReactNativeDependencies - React-runtimeexecutor (0.88.0-rc.1): + - React-Core-prebuilt - React-debug - React-featureflags - React-jsi (= 0.88.0-rc.1) @@ -1861,6 +1694,7 @@ PODS: - ReactNativeDependencies - React-RuntimeHermes (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-cxxstableapi - React-featureflags - React-hermes @@ -1877,6 +1711,7 @@ PODS: - React-runtimescheduler (0.88.0-rc.1): - hermes-engine - React-callinvoker + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-debug @@ -1900,11 +1735,13 @@ PODS: - React-debug - React-utils (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-debug - React-jsi (= 0.88.0-rc.1) - ReactNativeDependencies - React-viewtransitionnativemodule (0.88.0-rc.1): - hermes-engine + - React-Core-prebuilt - React-Fabric - React-Fabric/bridging - React-jsi @@ -1917,6 +1754,7 @@ PODS: - React-webperformancenativemodule (0.88.0-rc.1): - hermes-engine - React-bridging + - React-Core-prebuilt - React-cxxreact - React-cxxstableapi - React-jsi @@ -1934,6 +1772,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-debug - React-Fabric - React-FabricImage @@ -1948,11 +1787,13 @@ PODS: - ReactCommon/turbomodule/core - ReactNativeDependencies - ReactCommon (0.88.0-rc.1): + - React-Core-prebuilt - ReactCommon/turbomodule (= 0.88.0-rc.1) - ReactNativeDependencies - ReactCommon/turbomodule (0.88.0-rc.1): - hermes-engine - React-callinvoker (= 0.88.0-rc.1) + - React-Core-prebuilt - React-jsi (= 0.88.0-rc.1) - React-logger (= 0.88.0-rc.1) - React-perflogger (= 0.88.0-rc.1) @@ -1962,6 +1803,7 @@ PODS: - hermes-engine - React-bridging - React-callinvoker (= 0.88.0-rc.1) + - React-Core-prebuilt - React-cxxreact (= 0.88.0-rc.1) - React-debug (= 0.88.0-rc.1) - React-featureflags (= 0.88.0-rc.1) @@ -1977,6 +1819,7 @@ PODS: - RCTTypeSafety - React-bridging - React-Core + - React-Core-prebuilt - React-cxxstableapi - React-debug - React-Fabric @@ -1995,27 +1838,29 @@ PODS: - Yoga - SocketRocket (0.7.1): - ReactNativeDependencies - - Yoga (0.0.0) + - Yoga (0.0.0): + - React-Core-prebuilt DEPENDENCIES: - boost (from `build/rndeps-facades/boost`) - DoubleConversion (from `build/rndeps-facades/DoubleConversion`) - fast_float (from `build/rndeps-facades/fast_float`) - - FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`) + - FBLazyVector (from `build/rncore-facades/FBLazyVector`) - fmt (from `build/rndeps-facades/fmt`) - glog (from `build/rndeps-facades/glog`) - hermes-engine (from `../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`) - RCT-Folly (from `build/rndeps-facades/RCT-Folly`) - - RCTDeprecation (from `../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`) - - RCTRequired (from `../../node_modules/react-native/Libraries/Required`) + - RCTDeprecation (from `build/rncore-facades/RCTDeprecation`) + - RCTRequired (from `build/rncore-facades/RCTRequired`) - RCTSwiftUI (from `../../node_modules/react-native/ReactApple/RCTSwiftUI`) - RCTSwiftUIWrapper (from `../../node_modules/react-native/ReactApple/RCTSwiftUIWrapper`) - RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`) - React (from `../../node_modules/react-native/`) - React-bridging (from `../../node_modules/react-native/ReactCommon/react/bridging`) - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`) - - React-Core (from `../../node_modules/react-native/`) - - React-Core/RCTWebSocket (from `../../node_modules/react-native/`) + - React-Core (from `build/rncore-facades/React-Core`) + - React-Core-prebuilt (from `../../node_modules/react-native/React-Core-prebuilt.podspec`) + - React-Core/RCTWebSocket (from `build/rncore-facades/React-Core`) - React-CoreModules (from `../../node_modules/react-native/React/CoreModules`) - React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`) - React-cxxstableapi (from `../../node_modules/react-native/ReactCommon/react/cxxstableapi`) @@ -2057,12 +1902,12 @@ DEPENDENCIES: - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTAppDelegate (from `../../node_modules/react-native/Libraries/AppDelegate`) - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) - - React-RCTFabric (from `../../node_modules/react-native/React`) + - React-RCTFabric (from `build/rncore-facades/React-RCTFabric`) - React-RCTFBReactNativeSpec (from `../../node_modules/react-native/React`) - React-RCTImage (from `../../node_modules/react-native/Libraries/Image`) - React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`) - React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`) - - React-RCTRuntime (from `../../node_modules/react-native/React/Runtime`) + - React-RCTRuntime (from `build/rncore-facades/React-RCTRuntime`) - React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`) - React-RCTText (from `../../node_modules/react-native/Libraries/Text`) - React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`) @@ -2085,7 +1930,7 @@ DEPENDENCIES: - ReactNativeDependencies (from `../../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`) - ReservedRegions (from `../..`) - SocketRocket (from `build/rndeps-facades/SocketRocket`) - - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`) + - Yoga (from `build/rncore-facades/Yoga`) EXTERNAL SOURCES: boost: @@ -2095,7 +1940,7 @@ EXTERNAL SOURCES: fast_float: :path: build/rndeps-facades/fast_float FBLazyVector: - :path: "../../node_modules/react-native/Libraries/FBLazyVector" + :path: build/rncore-facades/FBLazyVector fmt: :path: build/rndeps-facades/fmt glog: @@ -2106,9 +1951,9 @@ EXTERNAL SOURCES: RCT-Folly: :path: build/rndeps-facades/RCT-Folly RCTDeprecation: - :path: "../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation" + :path: build/rncore-facades/RCTDeprecation RCTRequired: - :path: "../../node_modules/react-native/Libraries/Required" + :path: build/rncore-facades/RCTRequired RCTSwiftUI: :path: "../../node_modules/react-native/ReactApple/RCTSwiftUI" RCTSwiftUIWrapper: @@ -2122,7 +1967,9 @@ EXTERNAL SOURCES: React-callinvoker: :path: "../../node_modules/react-native/ReactCommon/callinvoker" React-Core: - :path: "../../node_modules/react-native/" + :path: build/rncore-facades/React-Core + React-Core-prebuilt: + :podspec: "../../node_modules/react-native/React-Core-prebuilt.podspec" React-CoreModules: :path: "../../node_modules/react-native/React/CoreModules" React-cxxreact: @@ -2206,7 +2053,7 @@ EXTERNAL SOURCES: React-RCTBlob: :path: "../../node_modules/react-native/Libraries/Blob" React-RCTFabric: - :path: "../../node_modules/react-native/React" + :path: build/rncore-facades/React-RCTFabric React-RCTFBReactNativeSpec: :path: "../../node_modules/react-native/React" React-RCTImage: @@ -2216,7 +2063,7 @@ EXTERNAL SOURCES: React-RCTNetwork: :path: "../../node_modules/react-native/Libraries/Network" React-RCTRuntime: - :path: "../../node_modules/react-native/React/Runtime" + :path: build/rncore-facades/React-RCTRuntime React-RCTSettings: :path: "../../node_modules/react-native/Libraries/Settings" React-RCTText: @@ -2262,97 +2109,98 @@ EXTERNAL SOURCES: SocketRocket: :path: build/rndeps-facades/SocketRocket Yoga: - :path: "../../node_modules/react-native/ReactCommon/yoga" + :path: build/rncore-facades/Yoga SPEC CHECKSUMS: boost: 8502bfdc46e2804408af2e163049ece181009af4 DoubleConversion: 501a575c40c0b50c89685762dd3e415e6bb26fb0 fast_float: 7c925d1cebf8328d4018d061f49377e9f887e3b4 - FBLazyVector: 5cf5541cab4664463215430a132c4f7302cf3703 + FBLazyVector: c70429ca8ce61cad7c477bdbe6ba8b30996bff6f fmt: ba0886e864ebb21d14c98b2e12e164b8002f5b93 glog: 3cf7cb46f743c4bc758ae3e6d9c15bd1b4cfd6d4 hermes-engine: 7e5f90072b91f62ead9584eebdced74fa9c742a0 RCT-Folly: 82921e585c0400eda46fac1068297aa9dfb035e4 - RCTDeprecation: 509a258e5ead39237fd7467ef1e08f1ca1c71392 - RCTRequired: 56ca3269ba39440e601d6e312cf54cc3e70d5be9 - RCTSwiftUI: 0c85d072b66bb2e77f802ed88f17fdc10cb6547a - RCTSwiftUIWrapper: 1b1ffc373e91646e2e9ba5111f2a7c88a74a6ad9 - RCTTypeSafety: 9968856c94499c6ec472d8681f101b29ee3d617d + RCTDeprecation: 791606bb67573791862d7af9a787878fefcf1aff + RCTRequired: 57e3c3f5e7102529bf9a42348ff77153b01cfa0b + RCTSwiftUI: afacbbc43b83aae973fc0655fee3ec72a0217f49 + RCTSwiftUIWrapper: 2b63e1e919e61411735c9df1903103e8c2bd7394 + RCTTypeSafety: 9583cb963dbe7cc7dbc318bc5854c51e5138a070 React: 720e5e4c8b8ea2538b2b72d040837f9ca8c69684 - React-bridging: d72966914e041cf08ad2b8fbacbd7e290b8be3f2 - React-callinvoker: dee452809b8cd56e79158a104505ec83b7196e1d - React-Core: 1e6780d85bfd723669bd23b7a4471aee21798baf - React-CoreModules: 1e4aff4042331d8584ff89ff5218d6d16cbae8c2 - React-cxxreact: 67993632ed6186c6628e2dbd5f0e4ba73a1e55d3 - React-cxxstableapi: 8a2c2cad99eb3656acce29e90ef4fca7fe4b3da2 - React-debug: 6bbe669be29fe6361dcd0e7aa0e79ea4aa4853fb - React-defaultsnativemodule: 6d3c1d3aa0d01afba32ad9d703e4b9636c6bbfe7 - React-domnativemodule: 78a9d6a00b0a5c0ca6a14d6cfd3918f045105331 - React-Fabric: 8df7fc7577b78e7c561b3262dc69303df2c9a1ef - React-FabricComponents: 9dfa3597af1246757c623fb1db2105b74cd3b6a4 - React-FabricImage: bd31289125e735abb2d45e1bd87b20f0dbde4926 - React-featureflags: e4ac14a48f8b9519c70f1abf5f7fcd5741eb3569 - React-featureflagsnativemodule: 48edbfd0a65f196aca287b0a9077c0419499c54b - React-graphics: b8161482da8f10d4d2b9c4b0619a1963b527a1b2 - React-hermes: 2464e7bda1135926bdc7cf62d283f0531d2286ac - React-idlecallbacksnativemodule: 3afbc89c77366f5c74d39ca4ded0342ab69117ea - React-ImageManager: 569c6fee73139a4a653d8509e145f38be2a46766 - React-intersectionobservernativemodule: b9f2ad631650a678d11a4a802e8dcde515835029 - React-jserrorhandler: 2968430b17aeb948931373a744da8213baef0468 - React-jsi: 244f13b106a699908f7ba46fb5854958106183dd - React-jsiexecutor: 412403c59245f7cc90253214c1bd931cc3a8c50f - React-jsinspector: 44487c7c909233a6baf1a63844bc30f1b64d63fa - React-jsinspectorcdp: 54bb7d9d47beb60689710d910fa35f433676a893 - React-jsinspectornetwork: 244bc084900cc29317d35a91f3a97c08f9d9e6cc - React-jsinspectortracing: efbe64fbb664b250a5780812fe17c950cd137669 - React-jsitooling: 7a689594ecccc99bfb8989f55526fd7d4d642bc1 - React-jsitracing: 20c4cfe55e9d91943f98ca387b840affd90dc3d3 - React-logger: d2e3cbfd85981db304613976e46fc8f2c5ace056 - React-Mapbuffer: 9ee2165c7400e5ac6e088208e5155dfdb8ea4d08 - React-microtasksnativemodule: d4aa09e567213c1e412982fba245f23f26e118b9 - React-mutationobservernativemodule: 3f228825f527d9fab2084f36477dfbdda42290af - react-native-safe-area-context: 88d32c455a957f973a4cdcc8e9753635a5811bda - React-NativeModulesApple: 3abe6e2bc89c0c71aaf69bc6d2585da908b443fd - React-networking: 58182ddf5556e4dbf1d9fab4c86025b2bfdbdacb - React-oscompat: fc14afbfd1fa9bce7d55361543328e3dd0b21e9d - React-perflogger: 4107ad5e4334aefba160e0311d50f6e1872903a2 - React-performancecdpmetrics: 8810f4684ba3ebbb612e0614e0cba4856cb07a43 - React-performancetimeline: c4b91b1877ca7c9df1a6d74a85396ea3b46f72f5 - React-RCTActionSheet: 43dca5c1cef7d7b368014d30d6c01d23e15f2f77 - React-RCTAnimatedModuleProvider: 4dd5baa3a653f1d2125b7b1f40554ceeab9ac887 - React-RCTAnimation: 4656f20fe0d9a9f41ab1beb8c5f81e534426daf0 - React-RCTAppDelegate: af9bc1607de503ddc2916c44bba4194aef08c0d3 - React-RCTBlob: e4ddbe1a9186e5e2b39b5c232595f07f7f6d6383 - React-RCTFabric: 45d57fb9c4df3a1125b6db4614e243a5aca7a899 - React-RCTFBReactNativeSpec: 964b77112041dc77ce4e95421c048714363c82e8 - React-RCTImage: f8c6eb693ed74f9f042abd4d05057274cb5ede50 - React-RCTLinking: ef844c6ed8ec01914babe93b0e241b5bc55a399b - React-RCTNetwork: 0362b45aa2fa65260dbcc56bfa486b60cb7c810a - React-RCTRuntime: a29449fc538780b6fc89061e535e05e448ebd1f6 - React-RCTSettings: 6748ac046229a0bf60692f463974f8a12f42a495 - React-RCTText: 69676af079f693ae40c93fd60758aabc6d8663a4 - React-RCTVibration: 3c1540c74f3b78f7cdf2c05c68e3983cb707018a - React-rendererconsistency: d1a9b6f55ccc6fdf8aedf09726c0a5a92b891aa9 - React-renderercss: 8bff3cf822fcb420993d81c79823c040c80ad9a5 - React-rendererdebug: 6aec626c7ed35a465f2e45bf458104b1ce68817e - React-resizeobservernativemodule: 63488e31faa91f6c28ebfd585a9b4187882ea8a6 - React-RuntimeApple: 07a45cab22da656839d526227438f07b203aa76c - React-RuntimeCore: f723d476fd35900719e1194fd0529d93481054ca - React-runtimeexecutor: 7cd54b08f6ff30f46f4175446fe7b901447a831b - React-RuntimeHermes: 970f2011d7a1944ccbaea0b329ca88da4883891a - React-runtimescheduler: c81888f3b9342c65926f5c988deb50c3f288eb89 - React-timing: 759385b32943b2c081b729c9e328be8cafc6b419 - React-utils: 469f1d9f5413e6bfd71f7a57f5a78468a9a0207f - React-viewtransitionnativemodule: 4629206a76c9e01f8fefe97ee7c9041dc5806b13 - React-webperformancenativemodule: 964d0ac4e71dc506ec6be417e5318d28b0328ca0 + React-bridging: 425030967fe49c46c1e5ba45857c7a6040625b53 + React-callinvoker: 0d3c1c03acbabdecb6faf206ca0bd88679fd2228 + React-Core: ee2b1e23786826deecc99f1d28cdd58e183c751e + React-Core-prebuilt: a3b4f0378e640737cacb7d23e2851f1bb46cc53f + React-CoreModules: 85de14f8b0f4e1cabf7df3bbbcba7ad986a13451 + React-cxxreact: b1c5826b7a1c2b4b1e1978d0d2081feca9ef82e9 + React-cxxstableapi: 61fa769b584550257b96b95040bbf3bdc6a63448 + React-debug: f9ee168f025c10616b8b4cc779f45845cb30a860 + React-defaultsnativemodule: dd3551174963eb6bede3299fb26167ca14ea87b5 + React-domnativemodule: 0777b9e75f9cb2618c01da604d709a08ff3f149a + React-Fabric: 53b30e179ea19805c67d7cc13785808b80a29a2c + React-FabricComponents: 95e75c56f3e0579587ec31da2d863ab90471ac2c + React-FabricImage: 65697bec3ce2e0fa2804d682b7df6b0c680f4dce + React-featureflags: 987903efc800882b61da6be8d7e15d708d2560bd + React-featureflagsnativemodule: 747bac45490663e1bff982f3ca42add33540f9b8 + React-graphics: 78c301aec0a6520bee3b9fc2eb1ba83f7cc32daf + React-hermes: 3e51afc365fda24eec8ee90aae87a12d2d58a209 + React-idlecallbacksnativemodule: c5434d2aaf546473e9c9ae1996c45c55b2c781cb + React-ImageManager: ede2d5bca874f8d416cd472b86d8701eff9d9615 + React-intersectionobservernativemodule: 7502ebd3ce036094899fd60ada9b9f2b566e119b + React-jserrorhandler: b56e895ffb01109bcb9cf22b31d293d6f23594fa + React-jsi: 60e0a22053e2e614a2755a50f4dc8c37367d6449 + React-jsiexecutor: c97e4e9b289ddb488016440cad0c0b3e0c24aea5 + React-jsinspector: b7f7ef8ca61a5b0d5b3127d269ccb9cd4250773a + React-jsinspectorcdp: 471efd98c2e35682cc6650cd13c733aff52e5509 + React-jsinspectornetwork: 287e50cb6c3816482e89c023681549148a00b2c7 + React-jsinspectortracing: a8db420b24cc22971ef7abce18c6ec22ec74df11 + React-jsitooling: ed50d11c635ca219081f541e9b04392fdd2bc76e + React-jsitracing: 01ee92b3af5bd0bcd904ce9e961f4a808420a535 + React-logger: 01ded2af635b5037c98ad8dc5e532beeebf7d29b + React-Mapbuffer: 33cc2891dc41b1165d474b8128643a08ad6971f5 + React-microtasksnativemodule: 4b1a9f440de884cd781bfdb54219b125d44d0097 + React-mutationobservernativemodule: 9e3039af5ade318d2164bc30e12e0a25691b02c6 + react-native-safe-area-context: abb719c2a29a686cd4d77d4fce0eb5d94d2173d6 + React-NativeModulesApple: 10984eac14f27a2eed3bcd66bf64353b40d306dc + React-networking: c3c5df2db2e7da4e73aa4d0835f9707de7dbe475 + React-oscompat: a53891fb569cfb782bb347cfe852be5321446a0f + React-perflogger: 0ddc0afb09fa3cbdf1bbfe5002dd03e6315e9c6a + React-performancecdpmetrics: c07827b4e6a0856c1a19b9d0483fff5104a86483 + React-performancetimeline: 1a7f949a4de91689f286a98c14fa0121bb8d512c + React-RCTActionSheet: cf3c75b8b7d0a4dccb668a9ecc9c8e9fa8b3f5a2 + React-RCTAnimatedModuleProvider: 0d17cbbac13bc36b5411879fdd1f3e1f348ab926 + React-RCTAnimation: a5cfa303d1aa404dc4c97651fbdc4a98af1042fb + React-RCTAppDelegate: 22c983bd565b340ed9aba9f15a49d30a53e75c16 + React-RCTBlob: 8d8e0aa849749890c36a0cb7b5ea8d2ff0b5ffcc + React-RCTFabric: a7d7965a9a3d6e927b0fb464a4ed9b0353c0e949 + React-RCTFBReactNativeSpec: 26aa8a4cc1da4075615a794320e2d5aacfcbeea2 + React-RCTImage: 7d342c741d4f2336ebc4e3f963a964089f9c40b9 + React-RCTLinking: 8d530ec82e1ff9a91b1226164ec88158828d7fab + React-RCTNetwork: 11a26cfdfbdbf5b4302ef00ee2e57938d9874df4 + React-RCTRuntime: 4e2e5dc417423e1c9007753a1f488b3e9d19b314 + React-RCTSettings: bd896bcc2f651ea67b5954ea80f7eaa1cee4bc36 + React-RCTText: 22d26b43a8bee9c91c8e6a1355e5f36cc4a68be0 + React-RCTVibration: 5e5897c746eade615013bf157365a27e4ca0fd92 + React-rendererconsistency: 213141291497000d9032772f85ee7b5a12353d70 + React-renderercss: 09637940cbc27e784dcf93a8ab75cc9a920fdc08 + React-rendererdebug: 91db767811746477cb9060de31898d4aba967f13 + React-resizeobservernativemodule: 9c8c6e0b45d21fdf91e9a35fd1ebc03f039a2f89 + React-RuntimeApple: 5e5954514c331793b328444dbd6da8088e198cfc + React-RuntimeCore: b8ad0e12e9988f8d3ca42fa66ff6a8fa369678bf + React-runtimeexecutor: 484a781ebcd2a2cfab86349fd7f9d3db49e8571c + React-RuntimeHermes: 92eed1536a5e47ee0b2f7512ca5afe3153bc19a1 + React-runtimescheduler: 6d495865f1ef7689e42dc3fbe2baa773dd408502 + React-timing: 179a1a9683f024f6a03b1ceb7c5922cb9aa68f25 + React-utils: 4dbae1a086247cfa2005a6990fa924a57557af4c + React-viewtransitionnativemodule: 2d8910138ce75882f18ab0e10cbf1752bf7dad5a + React-webperformancenativemodule: d4c7d89a646d0dd21f3f2e6a694bf7a1d6697472 ReactAppDependencyProvider: b834b007d075e546a9525f4aae771ac261415264 - ReactCodegen: 7060e7b043ecf3693700d5db5935b5823441964d - ReactCommon: 9e80a3e5f5c0617eca5880d1b471878b794a33ee + ReactCodegen: 30f23f4b49be969efe5b85109e751434b714c533 + ReactCommon: cb43d161764e3bac17dac2a80dce2b4edf5b3a2f ReactNativeDependencies: dabb9681fdf66316a899de1ce3ef247606b513a8 - ReservedRegions: f5b7762f6614dcc1e31ed3fc7b4e4f8c2dc4375e + ReservedRegions: 7d7519e5148cd172f19191b7f17561de665702b7 SocketRocket: 37aec555668fb852ec12e3c0de59a86ca58f0871 - Yoga: 3df102dba5effb5f50dbe6efce7d19bd1003a279 + Yoga: d1c536142c5ff8ec8cd856ab2a7c227a1d875c8e -PODFILE CHECKSUM: 813774ff9f49671212c25493fa7eb406c696fd00 +PODFILE CHECKSUM: 456b2ca69e0498f3f4a43522a1605cf93cde503b COCOAPODS: 1.15.2 diff --git a/patches/react-native@0.88.0-rc.1.patch b/patches/react-native@0.88.0-rc.1.patch deleted file mode 100644 index 59ca1e1..0000000 --- a/patches/react-native@0.88.0-rc.1.patch +++ /dev/null @@ -1,454 +0,0 @@ -diff --git a/React/Fabric/AppleEventBeat.cpp b/React/Fabric/AppleEventBeat.cpp -deleted file mode 100644 -index 4a3d533a0cd..00000000000 ---- a/React/Fabric/AppleEventBeat.cpp -+++ /dev/null -@@ -1,31 +0,0 @@ --/* -- * Copyright (c) Meta Platforms, Inc. and affiliates. -- * -- * This source code is licensed under the MIT license found in the -- * LICENSE file in the root directory of this source tree. -- */ -- --#include "AppleEventBeat.h" -- --#include -- --namespace facebook::react { -- --AppleEventBeat::AppleEventBeat( -- std::shared_ptr ownerBox, -- std::unique_ptr uiRunLoopObserver, -- RuntimeScheduler& runtimeScheduler) -- : EventBeat(std::move(ownerBox), runtimeScheduler), -- uiRunLoopObserver_(std::move(uiRunLoopObserver)) { -- uiRunLoopObserver_->setDelegate(this); -- uiRunLoopObserver_->enable(); --} -- --void AppleEventBeat::activityDidChange( -- const RunLoopObserver::Delegate* delegate, -- RunLoopObserver::Activity /*activity*/) const noexcept { -- react_native_assert(delegate == this); -- induce(); --} -- --} // namespace facebook::react -diff --git a/React/Fabric/AppleEventBeat.h b/React/Fabric/AppleEventBeat.h -index 256e0f0983ad14991f794cf910756a809e19e3bb..4124fc7860aad0a0bd6519ecf97e5264abeb0960 100644 ---- a/React/Fabric/AppleEventBeat.h -+++ b/React/Fabric/AppleEventBeat.h -@@ -7,10 +7,18 @@ - - #pragma once - -+#include -+#include -+#include -+ -+#import -+ - #include - #include - #include - -+@class RCTEventBeatFlusherLayer; -+ - namespace facebook::react { - - class RuntimeScheduler; -@@ -19,13 +27,34 @@ class RuntimeScheduler; - * Event beat associated with JavaScript runtime. - * The beat is called on `RuntimeExecutor`'s thread induced by the UI thread - * event loop. -+ * -+ * A synchronous request made while Core Animation is laying out the current -+ * frame (the run loop observer that induces the beat has already run at that -+ * point) is additionally induced from the display phase of the same commit -+ * cycle, so that its effects are mounted before the frame is presented. The -+ * induce is scheduled on the layer of the requesting view's window — the root -+ * of the tree Core Animation is laying out when the request is made from -+ * layout. - */ - class AppleEventBeat : public EventBeat, public RunLoopObserver::Delegate { - public: -+ /* -+ * Resolves the layer of the window containing the view with the given tag. -+ * Called on the main thread; returns nil when the view is not mounted or -+ * not attached to a window. -+ */ -+ using WindowLayerResolver = std::function; -+ - AppleEventBeat( - std::shared_ptr ownerBox, - std::unique_ptr uiRunLoopObserver, -- RuntimeScheduler &RuntimeScheduler); -+ RuntimeScheduler &RuntimeScheduler, -+ WindowLayerResolver windowLayerResolver); -+ -+ ~AppleEventBeat() override; -+ -+ using EventBeat::requestSynchronous; -+ void requestSynchronous(Tag tag) const override; - - #pragma mark - RunLoopObserver::Delegate - -@@ -34,6 +63,9 @@ class AppleEventBeat : public EventBeat, public RunLoopObserver::Delegate { - - private: - std::unique_ptr uiRunLoopObserver_; -+ WindowLayerResolver windowLayerResolver_; -+ NSMapTable *layers_; -+ void (^onDisplay_)(void); - }; - - } // namespace facebook::react -diff --git aReact/Fabric/AppleEventBeat.mm b/React/Fabric/AppleEventBeat.mm -new file mode 100644 -index 0000000000000000000000000000000000000000..d4ca6a9d5986ce598fa80657b9680b2ecf9dbaa0 ---- /dev/null -+++ b/React/Fabric/AppleEventBeat.mm -@@ -0,0 +1,124 @@ -+/* -+ * Copyright (c) Meta Platforms, Inc. and affiliates. -+ * -+ * This source code is licensed under the MIT license found in the -+ * LICENSE file in the root directory of this source tree. -+ */ -+ -+#include "AppleEventBeat.h" -+ -+#import -+#import -+ -+#include -+ -+/* -+ * A zero-sized layer whose only purpose is to run a callback during the -+ * display phase of a Core Animation commit. Core Animation processes a commit -+ * as layout → display → (repeat until stable) → commit, so a layer marked as -+ * needing display during the layout phase has its `display` called after the -+ * whole layout pass but before the transaction is committed. -+ */ -+@interface RCTEventBeatFlusherLayer : CALayer -+- (instancetype)initWithOnDisplay:(void (^)(void))onDisplay; -+@end -+ -+@implementation RCTEventBeatFlusherLayer { -+ void (^_onDisplay)(void); -+} -+ -+- (instancetype)initWithOnDisplay:(void (^)(void))onDisplay -+{ -+ if (self = [super init]) { -+ _onDisplay = [onDisplay copy]; -+ self.frame = CGRectZero; -+ } -+ return self; -+} -+ -+- (void)display -+{ -+ _onDisplay(); -+} -+ -+// The layer is not a visual element; never participate in animations. -+- (id)actionForKey:(NSString *)event -+{ -+ return nil; -+} -+ -+@end -+ -+namespace facebook::react { -+ -+AppleEventBeat::AppleEventBeat( -+ std::shared_ptr ownerBox, -+ std::unique_ptr uiRunLoopObserver, -+ RuntimeScheduler &runtimeScheduler, -+ WindowLayerResolver windowLayerResolver) -+ : EventBeat(std::move(ownerBox), runtimeScheduler), -+ uiRunLoopObserver_(std::move(uiRunLoopObserver)), -+ windowLayerResolver_(std::move(windowLayerResolver)), -+ layers_([NSMapTable weakToStrongObjectsMapTable]) -+{ -+ std::weak_ptr weakOwner = ownerBox_->owner; -+ onDisplay_ = ^{ -+ // The owner (indirectly) retains the event beat; if it is gone, so is -+ // the beat this induces. -+ auto owner = weakOwner.lock(); -+ if (!owner) { -+ return; -+ } -+ this->induce(); -+ }; -+ -+ uiRunLoopObserver_->setDelegate(this); -+ uiRunLoopObserver_->enable(); -+} -+ -+AppleEventBeat::~AppleEventBeat() -+{ -+ // The beat can be destroyed on any thread; layer mutations belong on the -+ // main thread. The block only retains the layers, and a display happening -+ // before it executes is made safe by the owner check above. -+ NSMapTable *layers = layers_; -+ RCTExecuteOnMainQueue(^{ -+ for (RCTEventBeatFlusherLayer *layer in layers.objectEnumerator) { -+ [layer removeFromSuperlayer]; -+ } -+ [layers removeAllObjects]; -+ }); -+} -+ -+void AppleEventBeat::requestSynchronous(Tag tag) const -+{ -+ EventBeat::requestSynchronous(tag); -+ -+ if (tag == kNoTag || !RCTIsMainQueue()) { -+ return; -+ } -+ CALayer *hostLayer = windowLayerResolver_ ? windowLayerResolver_(tag) : nil; -+ if (hostLayer == nil) { -+ return; -+ } -+ RCTEventBeatFlusherLayer *layer = [layers_ objectForKey:hostLayer]; -+ if (layer == nil) { -+ layer = [[RCTEventBeatFlusherLayer alloc] initWithOnDisplay:onDisplay_]; -+ [layers_ setObject:layer forKey:hostLayer]; -+ } -+ if (layer.superlayer != hostLayer) { -+ [layer removeFromSuperlayer]; -+ [hostLayer addSublayer:layer]; -+ } -+ [layer setNeedsDisplay]; -+} -+ -+void AppleEventBeat::activityDidChange( -+ const RunLoopObserver::Delegate *delegate, -+ RunLoopObserver::Activity /*activity*/) const noexcept -+{ -+ react_native_assert(delegate == this); -+ induce(); -+} -+ -+} // namespace facebook::react -diff --git a/React/Fabric/RCTSurfacePresenter.mm b/React/Fabric/RCTSurfacePresenter.mm -index 0e4bbe3764638cedd46619604819b5d681359abb..303523b983a63477f4e19bda17a4ce00d3410ee3 100644 ---- a/React/Fabric/RCTSurfacePresenter.mm -+++ b/React/Fabric/RCTSurfacePresenter.mm -@@ -292,11 +292,16 @@ - (RCTScheduler *)_createScheduler - toolbox.runtimeExecutor = runtimeExecutor; - toolbox.bridgelessBindingsExecutor = _bridgelessBindingsExecutor; - -+ RCTMountingManager *mountingManager = _mountingManager; - toolbox.eventBeatFactory = -- [runtimeScheduler](std::shared_ptr ownerBox) -> std::unique_ptr { -+ [runtimeScheduler, mountingManager](std::shared_ptr ownerBox) -> std::unique_ptr { - auto runLoopObserver = - std::make_unique(RunLoopObserver::Activity::BeforeWaiting, ownerBox->owner); -- return std::make_unique(std::move(ownerBox), std::move(runLoopObserver), *runtimeScheduler); -+ auto windowLayerResolver = [mountingManager](Tag tag) -> CALayer * { -+ return [mountingManager.componentViewRegistry findComponentViewWithTag:tag].window.layer; -+ }; -+ return std::make_unique( -+ std::move(ownerBox), std::move(runLoopObserver), *runtimeScheduler, std::move(windowLayerResolver)); - }; - - RCTScheduler *scheduler = [[RCTScheduler alloc] initWithToolbox:toolbox]; -diff --git a/ReactCommon/react/renderer/core/EventBeat.cpp b/ReactCommon/react/renderer/core/EventBeat.cpp -index cdb05f4719fdb98037ddc8fa9e4aeeddda24af81..e8cf9ffdda2998ae9829f4528180ba539f261478 100644 ---- a/ReactCommon/react/renderer/core/EventBeat.cpp -+++ b/ReactCommon/react/renderer/core/EventBeat.cpp -@@ -26,6 +26,10 @@ void EventBeat::request() const { - } - - void EventBeat::requestSynchronous() const { -+ requestSynchronous(kNoTag); -+} -+ -+void EventBeat::requestSynchronous(Tag /*tag*/) const { - react_native_assert( - beatCallback_ && - "Unexpected state: EventBeat::setBeatCallback was not called before EventBeat::requestSynchronous."); -@@ -53,7 +57,14 @@ void EventBeat::induce() const { - isEventBeatRequested_ = false; - - if (isBeatCallbackScheduled_) { -- return; -+ // An asynchronous beat is already scheduled but has not run yet. A -+ // synchronous request must not be stranded behind it (it would silently -+ // lose its this-frame guarantee, and the leftover flag would make an -+ // unrelated later beat blocking), so it proceeds and processes the queue -+ // now; the already scheduled beat will simply find an empty queue. -+ if (!isSynchronousRequested_) { -+ return; -+ } - } - - isBeatCallbackScheduled_ = true; -diff --git a/ReactCommon/react/renderer/core/EventBeat.h b/ReactCommon/react/renderer/core/EventBeat.h -index 3740b457e78551723a58a2a55a6b654f9a1f5660..6d0747598a397b7859df21f62d0f84ceab89531b 100644 ---- a/ReactCommon/react/renderer/core/EventBeat.h -+++ b/ReactCommon/react/renderer/core/EventBeat.h -@@ -7,6 +7,7 @@ - - #pragma once - -+#include - #include - #include - #include -@@ -109,7 +110,12 @@ class EventBeat { - * Both JS and UI thread are - * blocked. - */ -- virtual void requestSynchronous() const; -+ virtual void requestSynchronous(Tag tag) const; -+ -+ /* -+ * Convenience for requesters with no view attribution. -+ */ -+ void requestSynchronous() const; - - /* - * The callback will be executed once a consumer (for example EventQueue) -diff --git a/ReactCommon/react/renderer/core/EventDispatcher.cpp b/ReactCommon/react/renderer/core/EventDispatcher.cpp -index 5fa5e6821a514c60b8aa7155362c1c2849d8b2fd..70f9c63ee77ea5655b049b5aff5368e3bee9c82c 100644 ---- a/ReactCommon/react/renderer/core/EventDispatcher.cpp -+++ b/ReactCommon/react/renderer/core/EventDispatcher.cpp -@@ -37,8 +37,8 @@ void EventDispatcher::dispatchEvent(RawEvent&& rawEvent) const { - eventQueue_.enqueueEvent(std::move(rawEvent)); - } - --void EventDispatcher::experimental_flushSync() const { -- eventQueue_.experimental_flushSync(); -+void EventDispatcher::experimental_flushSync(Tag tag) const { -+ eventQueue_.experimental_flushSync(tag); - } - - void EventDispatcher::dispatchStateUpdate( -diff --git a/ReactCommon/react/renderer/core/EventDispatcher.h b/ReactCommon/react/renderer/core/EventDispatcher.h -index 88a9a953e4234088d567e5c9f040016f95fe9a08..597ee71bd9753407f81b405b135b3ef5ac0de1f1 100644 ---- a/ReactCommon/react/renderer/core/EventDispatcher.h -+++ b/ReactCommon/react/renderer/core/EventDispatcher.h -@@ -12,6 +12,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -44,7 +45,7 @@ class EventDispatcher { - /* - * Experimental API exposed to support EventEmitter::experimental_flushSync. - */ -- void experimental_flushSync() const; -+ void experimental_flushSync(Tag tag) const; - - /* - * Dispatches a raw event with asynchronous batched priority. Before the -diff --git a/ReactCommon/react/renderer/core/EventEmitter.cpp b/ReactCommon/react/renderer/core/EventEmitter.cpp -index 2d6ac50e3730645e784a7ca382d8c8f228252336..ee4f386d614d991e4343b2bce130a9429cff7c27 100644 ---- a/ReactCommon/react/renderer/core/EventEmitter.cpp -+++ b/ReactCommon/react/renderer/core/EventEmitter.cpp -@@ -7,6 +7,8 @@ - - #include "EventEmitter.h" - -+#include -+ - #include - #include - #include -@@ -234,6 +236,13 @@ void EventEmitter::setShadowNodeFamily( - shadowNodeFamily_ = std::move(shadowNodeFamily); - } - -+Tag EventEmitter::getTag() const { -+ if (auto family = shadowNodeFamily_.lock()) { -+ return family->getTag(); -+ } -+ return kNoTag; -+} -+ - const SharedEventTarget& EventEmitter::getEventTarget() const { - return eventTarget_; - } -diff --git a/ReactCommon/react/renderer/core/EventEmitter.h b/ReactCommon/react/renderer/core/EventEmitter.h -index f3e9a4c334e7f04e5f3d7b112fcd10eaacb0e37b..8ff98e40fb063e805ae152dfd6a658fb0ab8a8f6 100644 ---- a/ReactCommon/react/renderer/core/EventEmitter.h -+++ b/ReactCommon/react/renderer/core/EventEmitter.h -@@ -75,7 +75,7 @@ class EventEmitter { - } - - syncFunc(); -- eventDispatcher->experimental_flushSync(); -+ eventDispatcher->experimental_flushSync(getTag()); - } - - /* -@@ -131,6 +131,12 @@ class EventEmitter { - private: - friend class UIManagerBinding; - -+ /* -+ * The tag of the view this emitter belongs to, or `kNoTag` once its family -+ * is gone. -+ */ -+ Tag getTag() const; -+ - SharedEventTarget eventTarget_; - std::weak_ptr shadowNodeFamily_; - -diff --git a/ReactCommon/react/renderer/core/EventQueue.cpp b/ReactCommon/react/renderer/core/EventQueue.cpp -index 6e99fd71bb7aa4f16da1be6828028e10fb4252fc..27b4ee16df911d57e930e42e11015206cb9a2e72 100644 ---- a/ReactCommon/react/renderer/core/EventQueue.cpp -+++ b/ReactCommon/react/renderer/core/EventQueue.cpp -@@ -86,8 +86,8 @@ void EventQueue::onEnqueue() const { - eventBeat_->request(); - } - --void EventQueue::experimental_flushSync() const { -- eventBeat_->requestSynchronous(); -+void EventQueue::experimental_flushSync(Tag tag) const { -+ eventBeat_->requestSynchronous(tag); - } - - void EventQueue::onBeat(jsi::Runtime& runtime) const { -diff --git a/ReactCommon/react/renderer/core/EventQueue.h b/ReactCommon/react/renderer/core/EventQueue.h -index f525767478aa700f3b1978a0b4f2dc8c7d3b7730..2f624194f27f614e6c7397404285385b54e92e99 100644 ---- a/ReactCommon/react/renderer/core/EventQueue.h -+++ b/ReactCommon/react/renderer/core/EventQueue.h -@@ -7,6 +7,7 @@ - - #pragma once - -+#include - #include - #include - #include -@@ -61,7 +62,7 @@ class EventQueue { - /* - * Experimental API exposed to support EventEmitter::experimental_flushSync. - */ -- void experimental_flushSync() const; -+ void experimental_flushSync(Tag tag) const; - - protected: - /* -diff --git a/ReactCommon/react/renderer/core/ReactPrimitives.h b/ReactCommon/react/renderer/core/ReactPrimitives.h -index 84bdffabbf230e587c5abb2c7687f857a4efa60a..7559adb1d9d9349057d5622c16fc8c36453c4fc4 100644 ---- a/ReactCommon/react/renderer/core/ReactPrimitives.h -+++ b/ReactCommon/react/renderer/core/ReactPrimitives.h -@@ -16,6 +16,8 @@ namespace facebook::react { - */ - using Tag = int32_t; - -+constexpr Tag kNoTag = -1; -+ - /* - * An id of a running Surface instance that is used to refer to the instance. - */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8d5b0c..25413a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -105,9 +105,6 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -patchedDependencies: - react-native@0.88.0-rc.1: 37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f - importers: .: @@ -144,7 +141,7 @@ importers: version: 19.3.0 react-native: specifier: 0.88.0-rc.1 - version: 0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) + version: 0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) react-native-builder-bob: specifier: ^0.43.1 version: 0.43.1(supports-color@8.1.1) @@ -162,10 +159,10 @@ importers: version: 19.3.0 react-native: specifier: 0.88.0-rc.1 - version: 0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) + version: 0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) react-native-safe-area-context: specifier: 5.10.0 - version: 5.10.0(react-native@0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0) + version: 5.10.0(react-native@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0) devDependencies: '@babel/core': specifier: ^7.25.2 @@ -10342,12 +10339,12 @@ snapshots: '@react-native/typescript-config@0.88.0-rc.1': {} - '@react-native/virtualized-lists@0.88.0-rc.1(@types/react@19.3.0)(react-native@0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0)': + '@react-native/virtualized-lists@0.88.0-rc.1(@types/react@19.3.0)(react-native@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 19.3.0 - react-native: 0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) + react-native: 0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) optionalDependencies: '@types/react': 19.3.0 @@ -14941,19 +14938,19 @@ snapshots: escape-string-regexp: 5.0.0 fast-glob: 3.3.3 - react-native-safe-area-context@5.10.0(react-native@0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0): + react-native-safe-area-context@5.10.0(react-native@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0): dependencies: react: 19.3.0 - react-native: 0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) + react-native: 0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1) - react-native@0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1): + react-native@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1): dependencies: '@react-native/asset-utils': 0.88.0-rc.1 '@react-native/codegen': 0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1)) '@react-native/community-cli-plugin': 0.88.0-rc.1(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(supports-color@8.1.1) '@react-native/gradle-plugin': 0.88.0-rc.1 '@react-native/normalize-colors': 0.88.0-rc.1 - '@react-native/virtualized-lists': 0.88.0-rc.1(@types/react@19.3.0)(react-native@0.88.0-rc.1(patch_hash=37262d4824a63f1e0ea630ea8473b70345b986f00574d2f9363b564074706d0f)(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0) + '@react-native/virtualized-lists': 0.88.0-rc.1(@types/react@19.3.0)(react-native@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(@react-native-community/cli@20.2.0(supports-color@8.1.1)(typescript@7.0.2))(@react-native/metro-config@0.88.0-rc.1(@babel/core@7.29.7(supports-color@8.1.1))(supports-color@8.1.1))(@types/react@19.3.0)(react@19.3.0)(supports-color@8.1.1))(react@19.3.0) anser: 1.4.10 ansi-regex: 5.0.1 base64-js: 1.5.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 3fceb2f..09f7461 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,5 +9,3 @@ allowBuilds: core-js: false esbuild: false unrs-resolver: false -patchedDependencies: - react-native@0.88.0-rc.1: patches/react-native@0.88.0-rc.1.patch diff --git a/website/docs/example.md b/website/docs/example.md index a8f4a7a..1ebe900 100644 --- a/website/docs/example.md +++ b/website/docs/example.md @@ -76,17 +76,7 @@ pnpm test pnpm run build ``` -## React Native event-beat patch - -The workspace applies `patches/react-native@0.88.0-rc.1.patch` to its example's React -Native dependency. It contains the [event-beat change #58530](https://github.com/react/react-native/pull/58530) -at commit `c73ef0f22a655ed18b626a6373ef69a63912adeb`, adapted to RC1. The Podfile -sets `RCT_USE_PREBUILT_RNCORE=0`, so CocoaPods compiles the patched iOS RN core from -source. Reinstall pods and rebuild after changing the patch. - -This patch is confined to the repository example. Installing the published library -does not apply it to your app. Android uses the standard precompiled RN AAR; -its initial mount timing is handled by the library's post-mount observation. +## Measurement status The example displays Pending until the first measurement, then Ready even when there are no active regions. Compare these states with the overlays rather than diff --git a/website/docs/platforms.md b/website/docs/platforms.md index 141fcf1..8ab38a9 100644 --- a/website/docs/platforms.md +++ b/website/docs/platforms.md @@ -86,9 +86,7 @@ iOS measures in `layoutSubviews`. The first measurement after the provider mount is a synchronous event, so `ReservedRegionsGate` content can mount with it. React Native processes that event one frame later unless it includes [react/react-native#58530](https://github.com/react/react-native/pull/58530), which processes the event beat in the frame that requested it. That change is merged -into React Native's `main` branch but is not in the 0.88 release candidates. The -repository example applies it as a patch; the published package does not patch -your app's React Native. See [the example setup](./example.md#react-native-event-beat-patch). +into React Native's `main` branch but is not in the 0.88 release candidates. Later changes are regular events that React receives at a later event beat. When several changes happen before JavaScript processes them, the intermediate ones are usually coalesced, and React always ends with the latest.