Commit Graph

12270 Commits

Author SHA1 Message Date
Nicola Corti d01f1b3214 Add support for handling com.facebook.react.bridge.Dynamic as parameter type in TurboModules (#45944)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45944

This diff adds support having (Legacy) Native Modules with functions with parameters of type `Dynamic`.
This is currently blocking some libraries making it harder for them to migrate to New Architecture.

I've implemented it by adding a `DynamicNative` implementation of `Dynamic` which holds a reference of
the payload as a `folly::dynamic`.

Changelog:
[Android] [Added] - Add support for handling `com.facebook.react.bridge.Dynamic` as parameter type in TurboModules

Reviewed By: mdvacca, cipolleschi

Differential Revision: D60966684

fbshipit-source-id: 2e63bc53ede5277a9c12f1b19f05f6099f5f35f9
2024-08-12 12:56:38 -07:00
Thomas Nardone 471445eb17 Delete LongArray (#45736)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45736

This was an internally used class that was made irrelevant by Kotlin conversion.  Appears to be unused in OSS, no breakages expected.

Changelog:
[Android][Breaking] - Deleted LongArray

Reviewed By: sammy-SC

Differential Revision: D60292651

fbshipit-source-id: cebb3d41113ad9f3247c3189889337d6e3e4ebab
2024-08-12 10:54:33 -07:00
Jakub Grzywacz 010e0010a3 Make setPointerEvents public on ReactViewGroup.java (#45975)
Summary:
I maintain the `react-native-svg` library, where our elements extend `ReactViewGroup`. Currently, `ReactViewGroup` only exposes the getter for `mPointerEvents` publicly, so we cannot set it. To properly handle `pointerEvents`, we would have to duplicate all methods related to `mPointerEvents`, which results in maintaining a separate state. This duplication can lead to desynchronization between the state in our class and the state in the superclass.

PR with a workaround that we can avoid with this change https://github.com/software-mansion/react-native-svg/pull/2395

## Changelog:

[ANDROID] [CHANGED] - make `setPointerEvents` public

Pull Request resolved: https://github.com/facebook/react-native/pull/45975

Test Plan: This change was tested manually by making the field public, allowing dependent classes to override or reference it.

Reviewed By: cortinico

Differential Revision: D61124293

Pulled By: javache

fbshipit-source-id: 389d0a670375a8a68c975294f98c33c28ef41ffe
2024-08-12 10:36:57 -07:00
Jon Thysell c30e35fb44 Fix "C4715 not all control paths return a value" warning in MSVC (#45827)
Summary:
When integrating react-native into react-native-windows, we got the following build warning (which we treat as an error) when building ReactCommon: `C4715 not all control paths return a value`

This PR adds defaults to the switches to make sure every path returns a value.

See https://github.com/microsoft/react-native-windows/issues/13516

## Changelog:

[GENERAL] [FIXED] Fix "C4715 not all control paths return a value" warning in MSVC when building ReactCommon

Pull Request resolved: https://github.com/facebook/react-native/pull/45827

Test Plan: The switches are checking enums this code should never be hit unless new enum values are added.

Reviewed By: robhogan

Differential Revision: D61103286

Pulled By: NickGerleman

fbshipit-source-id: 2028cb60e0b438b9ac17a828f5e1b690052a0bec
2024-08-12 10:00:24 -07:00
Pieter De Baets d9d638c06b Pass unflattened styles to reconciler (#45345)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45345

When React diffs props, it can can short-circuit nested objects if their object identity hasn't changed. Whenever we use `flattenStyle` we prevent this optimization from taking place.

Changelog: [Internal]

Reviewed By: dmytrorykun

Differential Revision: D59518281

fbshipit-source-id: e88ca781ab4622b5342169f8f27b09f0515513b3
2024-08-12 08:13:17 -07:00
Håkon Knutzen 7e41ea4c9d Data race related to read/write on ReactMarker::logTaggedMarkerImpl (#45557)
Summary:
When using `TSan` while running the Unit tests of `RNTester`, there are a few data races picked up. One is described [here](https://github.com/facebook/react-native/issues/45280), while this PR deals with a race related to concurrent read/write of `ReactMarker::logTaggedMarkerImpl`. Here is the `TSan` output:

```
WARNING: ThreadSanitizer: data race (pid=5236)
  Read of size 8 at 0x00011a602690 by thread T34:
    #0 std::__1::__function::__value_func<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>::operator bool[abi:ue170006]() const <null> (RNTesterUnitTests:arm64+0x18cd49c)
    https://github.com/facebook/react-native/issues/1 std::__1::function<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>::operator bool[abi:ue170006]() const <null> (RNTesterUnitTests:arm64+0x18cd2bc)
    https://github.com/facebook/react-native/issues/2 facebook::react::JSIExecutor::initializeRuntime() <null> (RNTesterUnitTests:arm64+0x1c96818)
    https://github.com/facebook/react-native/issues/3 facebook::react::NativeToJsBridge::initializeRuntime()::$_0::operator()(facebook::react::JSExecutor*) <null> (RNTesterUnitTests:arm64+0x1a7a074)
    https://github.com/facebook/react-native/issues/4 decltype(std::declval<facebook::react::NativeToJsBridge::initializeRuntime()::$_0&>()(std::declval<facebook::react::JSExecutor*>())) std::__1::__invoke[abi:ue170006]<facebook::react::NativeToJsBridge::initializeRuntime()::$_0&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::initializeRuntime()::$_0&, facebook::react::JSExecutor*&&) <null> (RNTesterUnitTests:arm64+0x1a79fbc)
    https://github.com/facebook/react-native/issues/5 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<facebook::react::NativeToJsBridge::initializeRuntime()::$_0&, facebook::react::JSExecutor*>(facebook::react::NativeToJsBridge::initializeRuntime()::$_0&, facebook::react::JSExecutor*&&) <null> (RNTesterUnitTests:arm64+0x1a79e5c)
    https://github.com/facebook/react-native/issues/6 std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::initializeRuntime()::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::initializeRuntime()::$_0>, void (facebook::react::JSExecutor*)>::operator()[abi:ue170006](facebook::react::JSExecutor*&&) <null> (RNTesterUnitTests:arm64+0x1a79d84)
    https://github.com/facebook/react-native/issues/7 std::__1::__function::__func<facebook::react::NativeToJsBridge::initializeRuntime()::$_0, std::__1::allocator<facebook::react::NativeToJsBridge::initializeRuntime()::$_0>, void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*&&) <null> (RNTesterUnitTests:arm64+0x1a75250)
    https://github.com/facebook/react-native/issues/8 std::__1::__function::__value_func<void (facebook::react::JSExecutor*)>::operator()[abi:ue170006](facebook::react::JSExecutor*&&) const <null> (RNTesterUnitTests:arm64+0x1abac9c)
    https://github.com/facebook/react-native/issues/9 std::__1::function<void (facebook::react::JSExecutor*)>::operator()(facebook::react::JSExecutor*) const <null> (RNTesterUnitTests:arm64+0x1aba9d0)
    https://github.com/facebook/react-native/issues/10 facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8::operator()() const <null> (RNTesterUnitTests:arm64+0x1aba8d4)
    https://github.com/facebook/react-native/issues/11 decltype(std::declval<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>()()) std::__1::__invoke[abi:ue170006]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&) <null> (RNTesterUnitTests:arm64+0x1aba6d4)
    https://github.com/facebook/react-native/issues/12 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&>(facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8&) <null> (RNTesterUnitTests:arm64+0x1aba4f8)
    https://github.com/facebook/react-native/issues/13 std::__1::__function::__alloc_func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8>, void ()>::operator()[abi:ue170006]() <null> (RNTesterUnitTests:arm64+0x1aba45c)
    https://github.com/facebook/react-native/issues/14 std::__1::__function::__func<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8, std::__1::allocator<facebook::react::NativeToJsBridge::runOnExecutorQueue(std::__1::function<void (facebook::react::JSExecutor*)>&&)::$_8>, void ()>::operator()() <null> (RNTesterUnitTests:arm64+0x1ab4918)
    https://github.com/facebook/react-native/issues/15 std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const <null> (RNTesterUnitTests:arm64+0x3ce2e4)
    https://github.com/facebook/react-native/issues/16 std::__1::function<void ()>::operator()() const <null> (RNTesterUnitTests:arm64+0x3cdfd0)
    https://github.com/facebook/react-native/issues/17 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) <null> (RNTesterUnitTests:arm64+0x4af18c)
    https://github.com/facebook/react-native/issues/18 facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) <null> (RNTesterUnitTests:arm64+0x51595c)
    https://github.com/facebook/react-native/issues/19 facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1::operator()() const <null> (RNTesterUnitTests:arm64+0x529df0)
    https://github.com/facebook/react-native/issues/20 decltype(std::declval<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>()()) std::__1::__invoke[abi:ue170006]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) <null> (RNTesterUnitTests:arm64+0x529b54)
    https://github.com/facebook/react-native/issues/21 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&>(facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1&) <null> (RNTesterUnitTests:arm64+0x529978)
    https://github.com/facebook/react-native/issues/22 std::__1::__function::__alloc_func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()[abi:ue170006]() <null> (RNTesterUnitTests:arm64+0x5298dc)
    https://github.com/facebook/react-native/issues/23 std::__1::__function::__func<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1, std::__1::allocator<facebook::react::RCTMessageThread::runOnQueue(std::__1::function<void ()>&&)::$_1>, void ()>::operator()() <null> (RNTesterUnitTests:arm64+0x524518)
    https://github.com/facebook/react-native/issues/24 std::__1::__function::__value_func<void ()>::operator()[abi:ue170006]() const <null> (RNTesterUnitTests:arm64+0x3ce2e4)
    https://github.com/facebook/react-native/issues/25 std::__1::function<void ()>::operator()() const <null> (RNTesterUnitTests:arm64+0x3cdfd0)
    https://github.com/facebook/react-native/issues/26 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) <null> (RNTesterUnitTests:arm64+0x515384)
    https://github.com/facebook/react-native/issues/27 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ <null> (CoreFoundation:arm64+0x8dc0c)
    https://github.com/facebook/react-native/issues/28 __NSThread__start__ <null> (Foundation:arm64+0x645c60)

  Previous write of size 8 at 0x00011a602690 by main thread:
    #0 std::__1::__function::__value_func<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>::swap[abi:ue170006](std::__1::__function::__value_func<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>&) <null> (RNTesterUnitTests:arm64+0x43b078)
    https://github.com/facebook/react-native/issues/1 std::__1::function<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>::swap(std::__1::function<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>&) <null> (RNTesterUnitTests:arm64+0x433100)
    https://github.com/facebook/react-native/issues/2 std::__1::function<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>& std::__1::function<void (facebook::react::ReactMarker::ReactMarkerId, char const*)>::operator=<registerPerformanceLoggerHooks(RCTPerformanceLogger*)::$_1, void>(registerPerformanceLoggerHooks(RCTPerformanceLogger*)::$_1&&) <null> (RNTesterUnitTests:arm64+0x432d50)
    https://github.com/facebook/react-native/issues/3 registerPerformanceLoggerHooks(RCTPerformanceLogger*) <null> (RNTesterUnitTests:arm64+0x4170fc)
    https://github.com/facebook/react-native/issues/4 -[RCTCxxBridge initWithParentBridge:] <null> (RNTesterUnitTests:arm64+0x416504)
    https://github.com/facebook/react-native/issues/5 -[RCTBridge setUp] <null> (RNTesterUnitTests:arm64+0x3bf6f4)
    https://github.com/facebook/react-native/issues/6 -[RCTBridge initWithDelegate:bundleURL:moduleProvider:launchOptions:] <null> (RNTesterUnitTests:arm64+0x3bc540)
    https://github.com/facebook/react-native/issues/7 -[RCTBridge initWithBundleURL:moduleProvider:launchOptions:] <null> (RNTesterUnitTests:arm64+0x3bc124)
    https://github.com/facebook/react-native/issues/8 -[RCTImageLoaderTests testImageLoaderUsesImageURLLoaderWithHighestPriority] <null> (RNTesterUnitTests:arm64+0x7de8)
    https://github.com/facebook/react-native/issues/9 __invoking___ <null> (CoreFoundation:arm64+0x13371c)

  Location is global 'facebook::react::ReactMarker::logTaggedMarkerImpl' at 0x00011a602678 (RNTesterUnitTests+0x438a690)

  Thread T34 (tid=11229216, running) created by main thread at:
    #0 pthread_create <null> (libclang_rt.tsan_iossim_dynamic.dylib:arm64+0x2bee4)
    https://github.com/facebook/react-native/issues/1 -[NSThread startAndReturnError:] <null> (Foundation:arm64+0x6458f0)
    https://github.com/facebook/react-native/issues/2 -[RCTBridge setUp] <null> (RNTesterUnitTests:arm64+0x3bf748)
    https://github.com/facebook/react-native/issues/3 -[RCTBridge initWithDelegate:bundleURL:moduleProvider:launchOptions:] <null> (RNTesterUnitTests:arm64+0x3bc540)
    https://github.com/facebook/react-native/issues/4 -[RCTBridge initWithBundleURL:moduleProvider:launchOptions:] <null> (RNTesterUnitTests:arm64+0x3bc124)
    https://github.com/facebook/react-native/issues/5 -[RCTImageLoaderTests testImageLoaderUsesImageDecoderWithHighestPriority] <null> (RNTesterUnitTests:arm64+0xbe8c)
    https://github.com/facebook/react-native/issues/6 __invoking___ <null> (CoreFoundation:arm64+0x13371c)
```

The proposed solution is to wrap `logTaggedMarkerImpl` in a class that has a static getter and setter wherein a read/write lock is employed. It is my understanding that `logTaggedMarkerImpl` is read several times, but only assigned rarely, and thus it seems appropriate with a read/write lock. The getter and setter functions are also inlineable, such that one should not need to make an extra function call when obtaining the `logTaggedMarkerImpl` instance.

In order to reproduce my findings and verify fix:

* Clone this branch
* Run setup code as described in README
* Execute `git revert -n 65998835c2198b9d626160a6883744801fa056a9 83a2a3c9b4e5ea588a6cc3a9281ad385a388b84a`
* Enable TSan for both `RNTester` and its test scheme.
* Enable Runtime issue breakpoint for TSan
* Run unit tests
* Observe the `TSan` breakpoint is hit (possibly other places in the codebase as well) when accessing `logTaggedMarkerImpl`. Continue execution if other breakpoints are hit before this breakpoint.
* Execute `git revert --abort`
* Run the tests again and observe the `TSan` breakpoint does _not_ hit said code again.

## Changelog:

[iOS][Fixed] Data race related to read/write on `ReactMarker::logTaggedMarkerImpl`

Pull Request resolved: https://github.com/facebook/react-native/pull/45557

Test Plan: I believe there are existing tests that will cover the proposed changes.

Reviewed By: cipolleschi

Differential Revision: D60525080

Pulled By: dmytrorykun

fbshipit-source-id: 78b0ce2a660af0e29909ff68c018698a9a1e29f8
2024-08-12 05:06:05 -07:00
Riccardo Cipolleschi 4faafb0aa4 Remove _shouldEmitEvent guardrails (#45837)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45837

Some Internal tests in the old architecture were failing after landing [#45414](https://github.com/facebook/react-native/pull/45414) because the `RCTNativeAnimatedModule` in the old architecture was not declaring the event.

This change fixes it by declaring the event that is never fired in the Old Architecture as it is not needed.

## Changelog
[iOS][Added] - Declare the `onUserDrivenAnimationEnded` in the old Architecture

Reviewed By: sammy-SC

Differential Revision: D60499584

fbshipit-source-id: 581a30a88dbd6d8d67078a11699157c55ed19e58
2024-08-12 03:52:51 -07:00
Riccardo Cipolleschi a8786fc1df React to onUserDrivenAnimationEnded event in JS (#45839)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45839

Pull Request resolved: https://github.com/facebook/react-native/pull/45414

This change completes the fix for broken pressable when animations were applied to components with native driven animations.

When creating the AnimatedProps, if they are natively drive animation, we look for the AnimatedValue involved and we register a listener. This is needed to make sure that the NativeModule will send te updated value upon calling the `update` function.

Then, when observing the props lifecycle, it register a listener to the new `OnUserAnimationEnded` event, fired by the NativeAnimation module.

When the `OnUserAnimationEnded` event is fired, the AnimatedProps will update the props that depends on the user driven animation.

## Changelog
[General][Fixed] - reallign the shadow tree and the native tree when the user finishes interacting with the app.

Reviewed By: sammy-SC

Differential Revision: D60499583

fbshipit-source-id: 02d25e7ca31b91f4d6e4ec1654350e2d84117eda
2024-08-12 03:52:51 -07:00
David Vacca 175943f15b Fix Fabric logging when ReactNativeFeatureFlags.setAndroidLayoutDirection is enabled (#45953)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45953

Fabric logging was broken when ReactNativeFeatureFlags.setAndroidLayoutDirection is enabled, I'm fixing it here

changelog: [internal] internal

Reviewed By: NickGerleman, bvanderhoof

Differential Revision: D61002408

fbshipit-source-id: bff76ce145d4619635a4b55a4750c3e51bb4d8d7
2024-08-10 00:01:24 -07:00
Nick Gerleman d3bd4254cf Fix OutsetBoxShadowDrawable offseting (#45954)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45954

Fixes offset issue after CSSBackgroundDrawable decoupling.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D61003916

fbshipit-source-id: e23faf7f9bae89f2f77a448ba3d99f29c89eb621
2024-08-09 19:05:16 -07:00
shubhamguptadream11 603eb94dd9 feat(android): height issue fixed with keyboard avoiding component in new architecture (#45928)
Summary:
Fixes this issue: https://github.com/facebook/react-native/issues/45880

## Changelog:

<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

[ANDROID] [CHANGED] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->

[ANDROID] [CHANGED] - Replaced `mLastHeight` with `mVisibleViewArea.height()` since mLastHeight value is not getting updated. For `width` we are already using `mVisibleViewArea.width()`

Pull Request resolved: https://github.com/facebook/react-native/pull/45928

Test Plan: - Tested the fix in new and old architecture both

Reviewed By: christophpurrer

Differential Revision: D61023998

Pulled By: cortinico

fbshipit-source-id: df67616330effb7b9e6724d94b3be92c0dbd6190
2024-08-09 12:23:09 -07:00
Gabriel Donadel 5ced5f8363 Add shared-testutil folder to NPM files to be published (#45936)
Summary:
React-native 0.75 RC7 gradle sync is currently broken due to the fact that the `shared-testutil` folder is missing from the `react-native/gradle-plugin` npm package

## Changelog:

[INTERNAL] [ADDED] - Add shared-testutil folder to NPM files to be published

Pull Request resolved: https://github.com/facebook/react-native/pull/45936

Test Plan: N/A

Reviewed By: cipolleschi

Differential Revision: D60969631

Pulled By: cortinico

fbshipit-source-id: 850edfe0cf6b0e8174a1df9ea962d207d2ce0112
2024-08-09 05:50:16 -07:00
Oskar Kwaśniewski e4e461c9cf feat: implement automicallyAdjustsKeyboardInsets for new architecture on iOS (#45939)
Summary:
This PR implements the missing `automicallyAdjustsKeyboardInsets` for new architecture. It's a fixed version of reverted: https://github.com/facebook/react-native/issues/45819

We now check if the view intersects with the keyboard's end frame and if it doesn't we just do nothing.

Here is the app running on new arch:

https://github.com/user-attachments/assets/673f0587-6a67-47e3-8050-d6ee33a45724

## Changelog:

[IOS] [FIXED] - implement automicallyAdjustsKeyboardInsets for new arch

Pull Request resolved: https://github.com/facebook/react-native/pull/45939

Test Plan:
1. Test out ScrollViewKeyboardInsets example
2. See if it works the same with old and new arch

Reviewed By: cortinico

Differential Revision: D60958475

Pulled By: cipolleschi

fbshipit-source-id: 8650064af84bc79b6b89e07293640e5d010154c2
2024-08-09 05:22:23 -07:00
Joe Vilches 7b36c0204f Fix crash when you layout multiple absolute nodes in the same static subtree (#45952)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45952

X-link: https://github.com/facebook/yoga/pull/1686

https://en.wikipedia.org/wiki/Short-circuit_evaluation 🫠

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D60997231

fbshipit-source-id: 11d70086eecfb5481c578477f288138370016a83
2024-08-08 22:41:29 -07:00
Nick Gerleman 0273123dde Gate off % translate on Android Paper (#45946)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45946

This code is forked on iOS, where we have been, as a policy, avoiding Paper-specific changes. This code is shared between renderers on Android, but it is confusing developer experience to have it work on Android Paper, to then fail on iOS unless it is on new arch.

This change disables support on Android Paper for consistency.

Changelog:
[Android][Removed] - Gate off % translate on Android Paper

Reviewed By: joevilches

Differential Revision: D60970266

fbshipit-source-id: 5df73b948464f5093941528b0af2e694827a9460
2024-08-08 19:44:49 -07:00
Nick Gerleman 620b1221fa Avoid Image ofscreen render (#45948)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45948

This change effectively reverts D59489788 which fixed Image implementation of `hasOverlappingRendering()`. When this is true, Android will draw offscreen, then composite the rasterized layer with alpha in one pass, instead of drawing each element with alpha (which results in incorrect rendering).

The unforseen downside is that this prevents drawing overflow, which means images with non-full opacity break box shadows and outline in the future.

This deserves a fuller fix... but in the meantime, I discovered we disable offscreen alpha in many of the core components already, with `<View>` as a major example requiring explicit opt-in. This is... kinda terrible, since `opacity` rendering is pretty broken on RN Android, but the status quo lets us avoid a pretty bad boxShadow bug for now.

Changelog:
[Android][Changed] - Avoid image ofscreen render

Reviewed By: Abbondanzo

Differential Revision: D60972846

fbshipit-source-id: 403714d6bb0527a7426feba3dafee05b6aefbb7d
2024-08-08 17:21:21 -07:00
Ingrid Wang 8a390ba9b8 Mark setNetworkActivityIndicatorVisible as deprecated (#45950)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45950

Changelog:

[iOS][Deprecated] Deprecated StatusBar.setNetworkActivityIndicatorVisible

The status bar network activity indicator is deprecated in iOS 13. Setting its visibility has no effect in iOS 13 and later. It will be completely removed in a future release.

Reviewed By: philIip

Differential Revision: D60977517

fbshipit-source-id: 31e79113fffd0201c4393b61236d3911e82b40d1
2024-08-08 16:27:49 -07:00
Alan Lee 270951a212 Update OSS to minSdk 24 (#45906)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45906

- Updating RNTester and React Native to minSdk 24 targeting 0.76 release as [announced](https://github.com/react-native-community/discussions-and-proposals/discussions/802)

**Changelog:**
[Android][Breaking] - updating `minSdkVersion` to API 24 (Android 7)

Reviewed By: cortinico, mdvacca

Differential Revision: D60790790

fbshipit-source-id: 961141867e7238157e5e6e72ede0f73bd31901a2
2024-08-08 15:23:15 -07:00
Nick Gerleman d56d9d9618 Decouple CSSBackgroundDrawable from OutsetBoxShadowDrawable (#45805)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45805

After recent changes where we dive into paths ourselves, we really don't have a good reason to use the heavy CSSBackgroundDrawable. Accept a box shadow style in place of a reference to the original drawable, and then draw using calculated round rect path instead of new whole Drawable. This lets us avoid a lot of conversions as well (with the last diff already removing some).

This should also resolve a crash we started seeing:

```
androidx.core.util.Preconditions.checkNotNull (Preconditions.java:136) [inlined]
- com.facebook.react.uimanager.drawable.CSSBackgroundDrawable.drawRoundedBackgroundWithBorders (CSSBackgroundDrawable.java:386)
 [inlined]
- com.facebook.react.uimanager.drawable.CSSBackgroundDrawable.draw (CSSBackgroundDrawable.java:142)
- com.facebook.react.uimanager.drawable.OutsetBoxShadowDrawable.draw (OutsetBoxShadowDrawable.kt:137)
- android.graphics.drawable.LayerDrawable.draw (LayerDrawable.java:1019)

```

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D60401423

fbshipit-source-id: 693d9bf5e85956290db932cdb18f15ba26446894
2024-08-08 12:56:39 -07:00
Nick Gerleman bbd5b5e157 Gate off % border radii on Android Paper (#45945)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45945

This code is forked on iOS, where we have been, as a policy, avoiding Paper-specific changes. This code is shared between renderers on Android, but it is confusing developer experience to have it work on Android Paper, to then fail on iOS unless it is on new arch.

This change disables support on Android Paper for consistency.

Changelog:
[Android][Removed] - Gate off % border radii on Android Paper

Reviewed By: cortinico

Differential Revision: D60967347

fbshipit-source-id: 1d26bc71aee677aa9a0dc9bb38f781a99c7762a8
2024-08-08 11:26:04 -07:00
Jorge Cabiedes Acosta 757cefb26e Fix box-shadow showing on top of subviews (#45935)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45935

As title

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D60925627

fbshipit-source-id: 3cc2703eb68201fd02063738f8896b87a938658c
2024-08-08 11:22:16 -07:00
Alex Hunt 51ffc5cc12 Break out URLSearchParams, require typedef for unparsable files (#45783)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45783

Improves type strictness in the `react-native` package.

- Break out `URLSearchParams` from `URL.js` into its own module, to isolate a `$FlowFixMe[unsupported-syntax]` suppression within that definition.
- Update `public-api-test` to require an adjacent `<module>.js.flow` type definition file whenever a `$FlowFixMe[unsupported-syntax]`is present.
- Add `URLSearchParams.js.flow` with a Flow parser compatible typedef (`@iterator` instead of `[Symbol.iterator]`).

The result of these changes is to add missing typedef test coverage for `Libraries/Blob/URL.js` (see updated test snapshots).

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D60376327

fbshipit-source-id: 93c0949289a4b53f621f563769ffb68d5dc38d91
2024-08-08 10:38:12 -07:00
Alex Hunt 0e9c9c7c6e Align paused overlay design on Android (#45942)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45942

Design refinements to the paused debugger overlay on Android.

Changed:
- Visual treatment of the button (text, icon colour, spacing)
- The touch area of the button (whole unit becomes touchable to resume)
- Overlay opacity reduced
- Overlay animation removed

Changelog: [Internal]

Reviewed By: motiz88

Differential Revision: D60962345

fbshipit-source-id: 3c1c480e5469e6f7700fe96305bb83c348329ea6
2024-08-08 10:35:29 -07:00
Sushant Sardeshpande beebf4a0a3 Fix for app restart on Android in case of remote debugging (#45775)
Summary:
Added a check in setRemoteJSDebugEnabled in DevSupportManagerBase.java to check for PREFS_REMOTE_JS_DEBUG_KEY to see if the value has changed.

Fix for https://github.com/facebook/react-native/issues/45399 - App restarting when `NativeDevSettings.setIsDebuggingRemotely` is used in a landing component. If this was invoked from a component load or action that would fire on app start, it was creating an infinite loop where the app would keep on restart before eventually leading to a crash.

## Changelog:
[ANDROID] [FIXED] - Fix issue with `NativeDevSettings.setIsDebuggingRemotely` where the app would keep on restarting if remote debugging was invoked from an action / component that was called on app start.

Pull Request resolved: https://github.com/facebook/react-native/pull/45775

Test Plan:
Create a new project using RN CLI.
Set `newArchEnabled=false`.�
Install modules using `yarn install`.�
Build from source for Android by setting the following in `settings.gradle`-�
```
includeBuild('../node_modules/react-native') {
     dependencySubstitution {
         substitute(module("com.facebook.react:react-android")).using(project(":packages:react-native:ReactAndroid"))
         substitute(module("com.facebook.react:react-native")).using(project(":packages:react-native:ReactAndroid"))
         substitute(module("com.facebook.react:hermes-android")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
         substitute(module("com.facebook.react:hermes-engine")).using(project(":packages:react-native:ReactAndroid:hermes-engine"))
     }
 }
```
Set the ANDROID_HOME and ANDROID_NDK_HOME environment variables required for react native.�Call `NativeDevSettings.setIsDebuggingRemotely` from App.tsx which is the landing component.�
Test with both `hermesEnabled=true` and `hermesEnabled=false` and ensure that app does not keep on restarting after fix.

Reviewed By: cipolleschi

Differential Revision: D60377406

Pulled By: huntie

fbshipit-source-id: c8faf184b50b67f50f8a4b6851df9d0ef3350949
2024-08-08 07:58:23 -07:00
Dmitry Rykun 5d70411b48 Use useDebouncedEffect for managing animated props lifecycle
Summary:
This diff sets up an experiment to use `useDebouncedEffect` for managing animated props lifecycle.

Changelog: [Internal]

bypass-github-export-checks

Facebook
This diff also defaults to `useDebouncedEffect` for managing animated props lifecycle in IGVR and FBVR.

Based on local tracing of FBVR, `useDebouncedEffect` results in **~19ms faster visual completion**.
Before we executed **54.2 ms** of passive effects vs **35.6 ms** after.

Reviewed By: josephsavona, rubennorte

Differential Revision: D60834116

fbshipit-source-id: 35d5eb4c4be18e716f96129911e66eaffe54bb17
2024-08-08 06:04:13 -07:00
Rob Hogan c8acbf55c5 Unbreak Swift build - guard C++ header in #ifdef __cplusplus (#45941)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45941

Quick fix to avoid imports from Swift chaining to Objective-C++ headers. Will follow up with a redesign.

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D60960077

fbshipit-source-id: 4ce9507900196d5298c7885a99a5e4d786f76982
2024-08-08 05:49:19 -07:00
Nicola Corti 92dff73ba2 Introduce the enableEventEmitterRetentionDuringGesturesOnAndroid to gate the Pressable fix (#45930)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45930

This introduces the `enableEventEmitterRetentionDuringGesturesOnAndroid` that allows us to gate the
fix for bug #45126 and #44610.

Changelog:
[Internal] [Changed] - Introduce the enableEventEmitterRetentionDuringGesturesOnAndroid to gate the Pressable fix

Reviewed By: mdvacca

Differential Revision: D60908117

fbshipit-source-id: 885917832718d9b90d043b2d7e2cdb47e0f01ea7
2024-08-08 05:06:04 -07:00
Nicola Corti 6b7f68240e Do not destroy views when there is a touch going on for New Architecture (#45865)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45865

This diff introduces the logic to defer the destruction of ViewState (and EventEmitter) for views that are currently touched on by the user. The idea is to let the UIManager know which view is currently active from the `JSTouchDispatcher` and eventually defer the view deletion till the view is not interacted anymore.

The JSTouchDispatcher already retains the information on which tag was the touch originally fired.
We'll pass over that information to the UIManager/SurfaceMountingManager so that it can be accounted for when the view has to be deleted.

This is causing a couple of bad bugs on Android:

Fixes https://github.com/facebook/react-native/issues/45126
Fixes https://github.com/facebook/react-native/issues/44610
Closes https://github.com/facebook/react-native/pull/45675

Changelog:
[Android] [Fixed] - Do not destroy views when there is a touch going on for New Architecture

Reviewed By: mdvacca

Differential Revision: D60594878

fbshipit-source-id: c3334d16cf305e0178f50772576050ebfbba85ec
2024-08-08 05:06:04 -07:00
Blake Friedman 03c0e5e2af ReactSwitch.java → Kotlin (#45931)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45931

Migration to Kotlin.

Changelog: [Android][Changed] Migrated ReactSwitch to Kotlin

Reviewed By: cortinico

Differential Revision: D60898267

fbshipit-source-id: 530e240a071deb3eff3e463f04edc590de03c594
2024-08-08 03:17:26 -07:00
zhongwuzw 089e8289ba Fixes FORCE_BUNDLING error when bundle js (#45871)
Summary:
After enable FORCE_BUNDLING to true, build error.  cc blakef
![image](https://github.com/user-attachments/assets/42f7fed7-efa1-4c23-b812-db49b64d3bff)

![image](https://github.com/user-attachments/assets/4ac40c43-b404-4f3a-8b7d-3c2749f587ed)

## Changelog:

[IOS] [FIXED] - Fixes FORCE_BUNDLING error when bundle js

Pull Request resolved: https://github.com/facebook/react-native/pull/45871

Test Plan: enable FORCE_BUNDLING to true, build success.

Reviewed By: cipolleschi

Differential Revision: D60829522

Pulled By: blakef

fbshipit-source-id: cc8d3bf6a88a49010215acb958ad65e311f618b2
2024-08-08 02:20:33 -07:00
David Vacca 99a8cd0fd8 Refactor DefaultNewArchitectureEntryPoint to use ReactNativeNewArchitectureFeatureFlagsDefaults (#45919)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45919

Refactor DefaultNewArchitectureEntryPoint to use ReactNativeNewArchitectureFeatureFlagsDefaults

changelog: [internal] internal

Reviewed By: shwanton, cortinico

Differential Revision: D60866416

fbshipit-source-id: 2ac92500ac0a30f5bf775ae870f557cd543980aa
2024-08-07 17:35:24 -07:00
David Vacca ff2a77a2e2 Introduce ReactNativeNewArchitectureFeatureFlagsDefaults (#45922)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45922

Introduce the ReactNativeNewArchitectureFeatureFlagsDefaults class, which initializes default values for ReactNativeFeatureFlags when the New architecture is  enabled.
This class is meant to be overrode by ReactNativeNewArchitectureFeatureFlagsDefaults or others apps migrating to the new architecture.

changelog: [internal] internal

Reviewed By: philIip

Differential Revision: D60861873

fbshipit-source-id: b31ba947dae999fea8bb4effd63c56dc142a5c3d
2024-08-07 17:35:24 -07:00
Shawn Dempsey 6a1ecbb2bb ReactRootView.createRootView should be @nullable (#45924)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45924

Changelog: [android][fixed] Anntate ReactRootView.createRootView with nullable

**Context**

- D54772205 changed `createRootView` to return `null`
- https://www.internalfb.com/diff/D60803470?dst_version_fbid=533309559035246&transaction_fbid=475433162004889

**Change**

- Annotate `createRootView` with `Nullable`

Reviewed By: mdvacca

Differential Revision: D60867547

fbshipit-source-id: 12c325cb9a2dd6db4b2388b2ad3c2af13065d371
2024-08-07 16:42:54 -07:00
Joe Vilches e5d8c60172 Fix broken shadows on iOS (#45934)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45934

The OSS impl of gradient was wrong, and ends up skipping shadows if it is not defined. Fixed that.

Changelog: [Internal]

Reviewed By: jorge-cab

Differential Revision: D60917620

fbshipit-source-id: 3d4ea3e8084d33fa5d15fb82d45cfd063143087c
2024-08-07 14:01:44 -07:00
Alex Hunt 115918780d Update hermes-parser and related packages in fbsource to 0.23.1 (#45782)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45782

Bump hermes-parser and related packages to [0.23.1](https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md).

React Native specific changes: This removes all remaining syntax parsing exclude cases from `public-api-test` 🎉

Changelog: [Internal]

Differential Revision: D60375696

fbshipit-source-id: 35dbb17fe1b2b9bce7c7772e5735773ac50504e8
2024-08-07 12:41:47 -07:00
Alex Hunt 7c49df9d08 Set nativeSourceCodeFetching capability in jsinspector-modern targets (#45850)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45850

Enables the `nativeSourceCodeFetching` capability flag for the modern debugger stack on both Android and iOS. This disables source code fetching hacks within the Inspector Proxy layer and instead enables the debugger server to handle all source code fetching directly on the device.

Changelog: [Internal]

Differential Revision: D60236216

fbshipit-source-id: 1239b4d7d2233852f007114721b202d90459fa06
2024-08-07 09:08:28 -07:00
Alex Hunt db3069b7ca Schedule IWebSocketDelegate event calls on inspector thread (#45849)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45849

This fixes a bug where we were calling `delegate.didReceiveMessage` (and other handlers) from multiple threads on Android. In particular, with the addition of `Network.loadNetworkResource` in D54496969, we observed memory access issues in the implementation for `IO.read` in `NetworkIOAgent` after multiple successive requests are received.

This approach updates the Android-specific implementation of `IWebSocketDelegate` to schedule delegate handler and `close` calls on the inspector thread.

Changelog: [Internal]

Differential Revision: D60520747

fbshipit-source-id: 459b44b424157793faaf5967435e1303a0061292
2024-08-07 09:08:28 -07:00
Alex Hunt 7cd1787e02 Implement HostTargetDelegate.networkRequest (Android Bridgeless) (#45666)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45666

Following https://github.com/facebook/react-native/pull/45664, implements the `networkRequest` method of `jsinspector_modern::HostTargetDelegate` for Android (Bridgeless).

Changelog: [Internal]

Differential Revision: D60232817

fbshipit-source-id: 109574392da21b2a698e061aa1847e17d17e662b
2024-08-07 09:08:28 -07:00
Alex Hunt 0c8ce2728e Implement HostTargetDelegate.networkRequest (Android Bridge) (#45664)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45664

Implement the `networkRequest` method of `jsinspector_modern::HostTargetDelegate` for Android (Bridge). This diff introduces a common `InspectorNetworkHelper` class that will be shared for the Bridgeless implementation.

This change allows the modern debugger server to handle CDP `Network.loadNetworkResource` (etc) requests. Notably, resources in the Chrome DevTools Sources panel will now be loaded by the backend.

Changelog: [Internal]

Differential Revision: D60036502

fbshipit-source-id: 5fdca7f34634c7541395041025bef62ddfad9eab
2024-08-07 09:08:28 -07:00
Rob Hogan c720583f6c Implement HostTargetDelegate.networkRequest on iOS (#44846)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44846

Implement the `networkRequest` method of `jsinspector_modern::HostTargetDelegate` for iOS (bridge and bridgeless) to satisfy CDP `Network.loadNetworkResource` (etc) requests.

Changelog:
[iOS][Added] Debugger: Implement CDP methods for loading network resources through the debug target.

Differential Revision: D54496969

fbshipit-source-id: fdaf445dda69b621617decdba49ba89c42043a92
2024-08-07 09:08:28 -07:00
Dmitry Rykun 62231ea883 Introduce useDebouncedEffect
Summary:
This diff introduces the `useDebouncedEffect` hook. It should be used for expensive effects that can be scheduled asynchronously, not blocking the rendering.

Changelog: [Internal]

bypass-github-export-checks

Facebook
This a copy of https://www.internalfb.com/code/fbsource/xplat/js/RKJSModules/public/xplat-react/shared/core/react_hooks/DebouncedEffectImplementation.js
I put it here temporarily to be able to run an experiment with `Animated`. We should come up with a better way to introduce this hook to OSS.
I'm bypassing GH export to not to draw extra attention to this.

Reviewed By: rubennorte

Differential Revision: D60762745

fbshipit-source-id: c13b20424360493a7fc94dc27264591a7253f77f
2024-08-07 08:41:06 -07:00
Oskar Kwaśniewski 05dec917f2 fix: Hermes build for visionOS simulator (Release) (#45911)
Summary:
Building for the visionOS simulator in the Release scheme requires an x86_64 slice to be included.

![CleanShot 2024-08-06 at 15 18 29@2x](https://github.com/user-attachments/assets/6fd962eb-ab71-4937-affe-964d8fa39f53)

## Changelog:

[IOS] [FIXED] - Include x86_64 slice when building for visionOS simulator

Pull Request resolved: https://github.com/facebook/react-native/pull/45911

Test Plan: CI Green

Reviewed By: GijsWeterings

Differential Revision: D60828872

Pulled By: cipolleschi

fbshipit-source-id: 74444ac0b6661baf427837d242ba0ca295da0d16
2024-08-07 07:56:19 -07:00
Oskar Kwaśniewski c17da4e811 fix: minor fixes for hermes scripts (#45841)
Summary:
This PR fixes few issues with Hermes scripts:

- Set visionOS vendored frameworks
- Fail if env variables are not set

## Changelog:

[INTERNAL] [FIXED] - Hermes script should fail when no deployment target is set

Pull Request resolved: https://github.com/facebook/react-native/pull/45841

Test Plan: Try to build Hermes

Reviewed By: blakef

Differential Revision: D60901886

Pulled By: cipolleschi

fbshipit-source-id: b9ff470ac6c07e1bd5abc7410ac0c366d66016c5
2024-08-07 06:53:37 -07:00
Alex Hunt e9e5fb0141 Remove unstable_fuseboxEnabled API (#45926)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45926

Removes the temporary `unstable_fuseboxEnabled` API on both platforms. Fusebox is enabled by default on `main` since https://github.com/facebook/react-native/pull/45469.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D60893243

fbshipit-source-id: 7ca4550eafb979730c0c5829df4c200f11e0df30
2024-08-07 06:40:13 -07:00
Andrew Datsenko baa366654e AssetSourceResolver: use resolver defined by PackagerAsset (#45897)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45897

Changelog:
[General][Added] - Use PackagerAsset resolver instead of Platform.OS when its provided.

Reviewed By: christophpurrer

Differential Revision: D60670503

fbshipit-source-id: 9732b0ee3ec0cd1424bd83a4cc18924bcbd88db5
2024-08-07 05:40:05 -07:00
Andrew Datsenko 3f3a85b3c5 Add asset dest path resolver override (#45878)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45878

Changelog:
[General][Added] - Add optional `PackagerAsset.resolver` prop so AssetSourceResolver can use it instead of `Platform.OS` to identify where asset is stored on device.

Reviewed By: rshest

Differential Revision: D60447815

fbshipit-source-id: 44fb8510746905ca0cd266144e213c40a3fa86a9
2024-08-07 05:40:05 -07:00
Sam Zhou 5b96e90f77 Replace React.Element<any> and unnecessarily specific React.Element with React.MixedElement (#45923)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45923

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D60872182

fbshipit-source-id: b81fb43968c52cbfdb4a9fa57f1175aabc2a3939
2024-08-06 21:33:08 -07:00
Nick Gerleman 82094dd9e3 Gracefully handle unexpected overlow values (#45917)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45917

Did this the right way for BorderStyle, but not for Overflow.

Changelog:
[Android][Fixed] - Gracefully handle unexpected overlow values

Reviewed By: necolas

Differential Revision: D60853891

fbshipit-source-id: e641e62e9e301681a1be190d8158f793ec17c1f5
2024-08-06 20:45:25 -07:00
Nick Gerleman 8ed3838cbd Cleanup ReactNativeFeatureFlags.allowCollapsableChildren() (#45860)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45860

This has been on by default for a long while.

Changelog: [Internal]

Reviewed By: philIip

Differential Revision: D60579198

fbshipit-source-id: 4bd8a13dada8edf00489dc64b1ff4ff0364a8843
2024-08-06 20:17:27 -07:00
David Vacca 10c91e9a38 Deprecate ReactFeatureFlags.enableBridgelessArchitecture (#45918)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45918

In this diff we are deprecating ReactFeatureFlags.enableBridgelessArchitecture, this flag will be deleted in the next version of ReactNative (0.77)
Please use DefaultNewArchitectureEntryPoint.load() to enable TurboModules.

changelog: [Android][Deprecated] deprecate ReactFeatureFlags.enableBridgelessArchitecture

Reviewed By: philIip

Differential Revision: D60853317

fbshipit-source-id: 2476bb81887893cedc8d43b117c10cd9d96bdee3
2024-08-06 19:50:55 -07:00