Commit Graph

9753 Commits

Author SHA1 Message Date
CodemodService Bot fbe58f6e12 Fix CQS signal. Id] 22447575 -- modernize-use-nullptr in xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/jni/react/jni
Reviewed By: dtolnay

Differential Revision: D71798310
2025-03-25 10:26:50 -07:00
Dawid Małecki 3bb86b0ecf Change Animated re-export to generate correct namespace in TS (#50222)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50222

The flow-api-translator will generate

```ts
export * as default from './AnimatedExports';
```

in TS which preserves the namespace. Previous import, export translated to:

```ts
declare const $$EXPORT_DEFAULT_DECLARATION$$: typeof Animated;
declare type $$EXPORT_DEFAULT_DECLARATION$$ =
  typeof $$EXPORT_DEFAULT_DECLARATION$$;
export default $$EXPORT_DEFAULT_DECLARATION$$;
```

which dropped the `Animated` namespace.

Changelog:
[Internal]

Reviewed By: huntie

Differential Revision: D71737199

fbshipit-source-id: a46a7ddddd023fa831cd4bb50f17a0641f328066
2025-03-25 03:47:30 -07:00
Dawid Małecki 9c5cf4e9c4 Align AnimateProps to match TS types (#50214)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50214

This diff is a second step toward the TS AnimatedProps alignment. In this change the rest of the extended types and recursions in `WithAnimatedValue` are applied.

Changelog:
[Internal] - Aligned AnimateProps to match TS types.

Reviewed By: huntie

Differential Revision: D71623036

fbshipit-source-id: d4777e25c3bf3119608938ee4cd246cdc4c4f7ee
2025-03-25 03:47:30 -07:00
Dawid Małecki eb2d9c1ac0 Check for Builtin and Nullable types in WithAnimatedValue to align closer to TS types (#50195)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50195

In Flow, all AnimatedProps properties are set to `any` and misaligned with Typescript definitions. This diff is a first step toward the TS AnimatedProps. The problem can be broken down into a few parts, at each point more types will be extended in WithAnimatedValue and the rest will be set to `any`. This approach enables smoother migration and validation.

Changelog:
[Internal] - Check for Builtin and Nullable types in WithAnimatedValue to align closer to TS types.

Reviewed By: huntie

Differential Revision: D71551006

fbshipit-source-id: 9316227f4ba32bdaa5be8097483a03ae19bf516f
2025-03-25 03:47:30 -07:00
Pieter De Baets e104532357 Cleanup fixDifferentiatorEmittingUpdatesWithWrongParentTag (#50221)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50221

This was already rolled out by default previously, but we wanted to complete further testing internally before cleaning up the flag.

Changelog: [Internal]

Reviewed By: rubennorte

Differential Revision: D71735311

fbshipit-source-id: b9d32787081fbe3d7fb740067d3709624028fa23
2025-03-24 20:25:19 -07:00
Sam Zhou be7abbcf3f Minor fixes for jest libdef (#50235)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50235

- Remove duplicate definition for `toBeCalledWith` and `lastCalledWith`.
- Replace `typeof undefined` with `void`
- Make some Array types readonly where we can.

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D71762238

fbshipit-source-id: 5c20bd7e941a8c36084e291f23cd6caa27f07eb9
2025-03-24 15:32:25 -07:00
Sam Zhou 26ca802e84 Remove __REACT_DEVTOOLS_GLOBAL_HOOK__ from react-native libdef (#50223)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50223

This is an implementation detail of React and better not make it leak everywhere. It's not used quite often even in react-native codebase, so it's better to just suppress the error on each call site. Currently it's typed as any, so there is not much type safety lost anyways.

Changelog: [Internal]

Reviewed By: alexmckenley

Differential Revision: D71687426

fbshipit-source-id: 7373bcd9bedcfcb95a10fa02e6a04399ccab91f0
2025-03-24 12:31:58 -07:00
Yurii Nakonechnyi 2cb49eeaa3 LayoutData - added explicit default fields values initialization (#50227)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50227

Explicit defaults add 'strictness' and take the guesswork out of what's going on in places like this:

https://github.com/facebook/yoga/blob/6455a848a76f433bdb48b2640b7f4644774c76fd/yoga/algorithm/CalculateLayout.cpp#L2345

Changelog: [Internal]

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

Reviewed By: javache

Differential Revision: D71687310

Pulled By: NickGerleman

fbshipit-source-id: f11d18aa68ce7ccd17fb1d5af0e729e8c0711cf9
2025-03-24 12:23:46 -07:00
Pieter De Baets 7056d20984 Remove deprecated RCTModernEventEmitter.receiveTouches (#50216)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50216

Call TouchesHelper directly from TouchEvent and remove the need for `RCTModernEventEmitter.receiveTouches`. This enables `Animated.Event` to process these events too, since they are now being delivered just like any other event.

Changelog:

[Android][Fixed] Enables Animated.Event to be used with onTouchMove in the new architecture.
[Android][Removed] Removed deprecated EventDispatcher#receiveTouches

Reviewed By: Abbondanzo

Differential Revision: D71114177

fbshipit-source-id: 61ca43ef5334b5514c4980a05b61b674d9a52c5b
2025-03-24 11:55:13 -07:00
Phillip Pan 90fce6398f weakly hold key window for KVO frame listener (#50231)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50231

Changelog: [Internal]

RCTDeviceInfo uses KVO to listen to frame changes in the application's keyWindow. On initialization, it reads the global keyWindow and adds itself as a listener. When RCTDeviceInfo is cleaned up, it reads the global keyWindow again, and removes itself as an observer.

However, this makes an assumption that the keyWindow is always the same. This is not always true - for example, when a UIAlert is presented, the OS creates a new temporary keyWindow to host the alert in order to make sure it is the first responder. If the cleanup is called then, the app will crash because there is no RCTDeviceInfo observing it. Another example is the LogBox, which also temporarily creates a new keyWindow.

The fix is simple, we can capture a reference to the application's keyWindow on initialization, but make sure it is weakly held as the keyWindow is usually managed by iOS. Then, when we remove the listener, it is always guaranteed it is the window that we are observing.

Reviewed By: javache, cipolleschi, realsoelynn

Differential Revision: D71667722

fbshipit-source-id: 103baf980b79b413fb29e6c3deff81dae33671c0
2025-03-24 11:49:07 -07:00
Pieter De Baets 8f43ae9370 Add accessibilityOrder to base view config (#50218)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50218

These were added in D70129295 to BaseViewManager but did not exist in the JS interface.

Changelog: [Internal]

Reviewed By: Abbondanzo

Differential Revision: D71737288

fbshipit-source-id: 751d26fb9116daf45d09f3853fe37cad29a8903a
2025-03-24 11:47:34 -07:00
Mateo Guzmán 4a9e9a8e77 Migrate ReactTextInputBlurEvent to Kotlin (#50202)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputBlurEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputBlurEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71681495

Pulled By: arushikesarwani94

fbshipit-source-id: 899687bd9dfcd861c49156fee82304ddc1d9ea82
2025-03-24 11:05:18 -07:00
Mateo Guzmán 7c7d64496d Migrate ReactContentSizeChangedEvent to Kotlin (#50204)
Summary:
Migrate com.facebook.react.views.textinput.ReactContentSizeChangedEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactContentSizeChangedEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71681505

Pulled By: arushikesarwani94

fbshipit-source-id: f4d63251afc48652032e9beaf60073797f2bb246
2025-03-24 10:45:31 -07:00
Mateo Guzmán cd04aae1a3 Migrate ReactTextChangedEvent to Kotlin (#50203)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextChangedEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextChangedEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache, Abbondanzo

Differential Revision: D71681502

Pulled By: arushikesarwani94

fbshipit-source-id: 9639740a41bbebf943bc716c495c3593461346a6
2025-03-24 10:37:59 -07:00
Mateo Guzmán e797b1659e Migrate ReactTextInputEndEditingEvent to Kotlin (#50201)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputEndEditingEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputEndEditingEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71681473

Pulled By: arushikesarwani94

fbshipit-source-id: 4a1e3f3b56fa425e8e2bbcf8251eb05a572b329f
2025-03-24 10:35:21 -07:00
Vitali Zaidman 71dec84d43 dev-middleware: Remove redundant async queuing (#49982)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49982

In D68708899, we removed dataURI inlining of sources and source maps into `Debugger.scriptParsed` CDP notifications.

After that, all message handling for which we need to preserve order is implemented completely synchronously, so there's no need for a promise queue to preserve order.

This removes the redundant queue.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D71036230

fbshipit-source-id: d17fb7d06a038b379fe45b4e1c742dbf8ff12f78
2025-03-24 08:43:50 -07:00
Nicola Corti f760c11f65 Doing a round of yarn lint --fix (#50036)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50036

This is my friday round of fixing some warnings in our codebase.
Those are all minor bits that should be fixed.

Changelog:
[Internal] [Changed] -

Reviewed By: huntie

Differential Revision: D71209124

fbshipit-source-id: 40aa231e049025bbff9dff8a572784bb1a9f324b
2025-03-24 06:55:03 -07:00
Nicola Corti 4435d7b8dc Delete unnecessary DevSupportSoLoader (#50198)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50198

We don't really need another wrapper around SoLoader to decide when to load a library. SoLoader already does this for us. See:
https://github.com/facebook/SoLoader/blob/62c2028a07f146bbc56c0337dacf226fcd6f95ef/java/com/facebook/soloader/SoLoader.java#L1070-L1139

I'm removing this extra unnecessary class.

Changelog:
[Internal] [Changed] - Delete unnecessary DevSupportSoLoader

Reviewed By: huntie

Differential Revision: D71636985

fbshipit-source-id: b6df35b61d4e376503c158e921ca970ad77a6deb
2025-03-24 05:06:53 -07:00
Jakub Piasecki ca4b82a629 Rename one of GestureResponderHandlers to make them unambiguous (#50136)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50136

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D71472943

fbshipit-source-id: 53d4a17098bafbfb7ded7b6f072b63b04e488d8c
2025-03-24 04:37:14 -07:00
Nick Gerleman d1a090b0af Fix animated images missing from offscreen render (#50187)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50187

D70668516 broke some SSTs, where asset that previously was black, showed up as clear.

I was assuming that was because we fixed a separate bug where assets could erroneously show as black layer, but these tests were actually just using a black asset.

Real bug here, is that the change led to only setting image when we have a displayLink, ie showing on screen, where before, we set image (implicitly at first frame) as layer content.

This change fixes that behavior, so first frame is rendered as part of off-screen view rendering, for images considered animatable.

Changelog:
[iOS][Fixed] - Fix animated images missing from offscreen render

Reviewed By: cipolleschi

Differential Revision: D71590856

fbshipit-source-id: f5da690b27f2da0f6979f25ece031ff0d418cca6
2025-03-21 13:27:50 -07:00
Riccardo Cipolleschi dfde51e469 Convert to JSException only NSException from sync methods (#50193)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50193

This fix makes sure that we convert to JSException only NSException thrwn by sync methods.
Currently, nothing in the stack will be capable of understanding that js error if it is triggered by an exception raised by an asyc method.

See https://github.com/reactwg/react-native-new-architecture/discussions/276 for further details

We need to cherry pick this in 0.78 and 0.79

## Changelog:
[iOS][Fixed] - Make sure the TM infra does not crash on NSException when triggered by async method

Reviewed By: fabriziocucci

Differential Revision: D71619229

fbshipit-source-id: b87aef5dd2720a2641c8da0904da651866370dc6
2025-03-21 10:08:12 -07:00
Riccardo Cipolleschi 7b500b8522 Add warning when a module tries to invoke a method using the interop layer (#50175)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50175

This change logs warning in the RN Dev Tools and in the Xcode console when a legacy module is used through the interop layer.

The `moduleName.methodName` warning is logged only once per usage not to flood the users with Warnings.

## Changelog:
[iOS][Added] - Add warnings when a legacy module is used in the Interop Layer.

Reviewed By: cortinico

Differential Revision: D71561348

fbshipit-source-id: f3ec830ddb07c4d0ab34534ad2baf95e75b1a3b3
2025-03-21 09:55:00 -07:00
Riccardo Cipolleschi 4d40882172 Add warning when RCT_EXPORT_MODULE is used in New Arch (#49897)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49897

This change introduces the first warning for the New Architecture warning.

When modules are registered through the RCT_EXPORT_MODULE (or its variants) a warning is emitted.

Note: currently it is only emitted on the Xcode console.
I'm looking into ways to emit it also in the RN DevTools console.

## Changelog:
[iOS][Added] - Show warnings in the New Architecture when modules are loaded using RCT_EXPORT_MODULE

Reviewed By: cortinico

Differential Revision: D70789672

fbshipit-source-id: 06cb6cafbe7f65142a92d2e1ab9bc4ff59d0312a
2025-03-21 09:55:00 -07:00
Mateo Guzmán 345403f042 Migrate ReactTextInputKeyPressEvent to Kotlin (#50184)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputKeyPressEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputKeyPressEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71588770

Pulled By: arushikesarwani94

fbshipit-source-id: 53354d9cd8cc24b9ec6f84de689ea4b2839e49ce
2025-03-21 09:43:49 -07:00
Mateo Guzmán d9876d8dc9 Migrate ReactTextInputFocusEvent to Kotlin (#50185)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputFocusEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputFocusEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71588274

Pulled By: arushikesarwani94

fbshipit-source-id: cbdabca31c5bfc6b2b5e4b6bf40dda4c591db1f2
2025-03-21 09:43:45 -07:00
Mateo Guzmán 7358fcf10f Migrate ReactTextInputLocalData to Kotlin (#50183)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputLocalData to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputLocalData to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71589108

Pulled By: arushikesarwani94

fbshipit-source-id: e460518ffca43346f32ea0742ef656d72f5ed2d5
2025-03-21 09:40:39 -07:00
Mateo Guzmán a670c9aeb3 Migrate ReactTextInputSelectionEvent to Kotlin (#50182)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputSelectionEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputSelectionEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: javache

Differential Revision: D71589613

Pulled By: arushikesarwani94

fbshipit-source-id: 5a93834b8e450e63629f409cd7711b7b0850e288
2025-03-21 09:39:55 -07:00
Rubén Norte c72d4c5ee9 Improve architecture diagram for feature flag system (#50194)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50194

Changelog: [internal]

Just a small improvement of the diagram to make it more symmetrical and expand on what parts of the system are used within the rest of the RN repo.

Reviewed By: javache

Differential Revision: D71620577

fbshipit-source-id: 6b9398f416fd529eea192e82cad844212278492c
2025-03-21 07:49:49 -07:00
Riccardo Cipolleschi cc12caa0a9 Add React-renderercss dependency for 3p libs (#50192)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50192

Third party libraries depend transitively agains the React-renderercss modules because it is imported by Fabric.
Without this change, the use_frameworks on iOS does not works when a 3P library is imported.

This changes fix the behavior and we need to cherry pick them in 0.79.

## Changelog:
[iOS][Fixed] - Make sure 3p libraries depends on React-renderercss to work with use_frameworks

Reviewed By: fabriziocucci

Differential Revision: D71618395

fbshipit-source-id: 70c12dcbeb2dfa5fd7513c27d5c069a1f3c95966
2025-03-21 07:09:25 -07:00
Pieter De Baets 08aeffa929 Cleanup lazyAnimationsCallback feature flag (#50191)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50191

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D71616196

fbshipit-source-id: 9ff7169d99211a34e55ede6f22f0e4ffdda39330
2025-03-21 06:08:08 -07:00
Mateo Guzmán 424dbf66dd Migrate ReactTextInputSubmitEditingEvent to Kotlin (#50181)
Summary:
Migrate com.facebook.react.views.textinput.ReactTextInputSubmitEditingEvent to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.views.textinput.ReactTextInputSubmitEditingEvent to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: Abbondanzo

Differential Revision: D71589831

Pulled By: arushikesarwani94

fbshipit-source-id: bf4bb35f3de1934195f1c5a7c9ad7b1264c15bef
2025-03-21 01:42:44 -07:00
Alex Hunt 094a22fa16 Split out CdpJson into separate library (#50170)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50170

This is needed in D71470038 and later, where submodules of `jsinspector-modern` need to operate with CDP message payloads. We functionally split out these files as a library to avaoid a dependency cycle.

Changelog: [Internal]

Reviewed By: hoxyq

Differential Revision: D71551561

fbshipit-source-id: 527479399d7563883c1b6599f884b7857e79bd77
2025-03-20 20:07:37 -07:00
Jorge Cabiedes Acosta 3a8f51e02e Implement accessibleElements Focusing Order (#49824)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49824

The way this works is each element on the list of `accessibilityElements` says that each element should go before the next element in its list. For example:

Imagine the default focus order:
```
[A, B, C, D, E]
```
If I set `accessibilityElements` to be:
```
[E, D, C, B, A]
```
That's just re ordering the focus order to be reversed, but what happens if I miss elements?
If I set `accessibilityElements` to be:
```
[D, B]
- D should go before B
```
Then my resulting order will be:
```
[A, D, B, C, E]
```

Because we follow the default order, then we find `B` but `D` should go before `B` so we first go to `D` and then finally go back to `B` and then continue our default order

This algorithm works with nested elements and it doesn't need to be exhaustive

We are also borrowing the concepts of Containers and elements from iOS.

We will disable views according to iOS logic to facilitate code shareability

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D70129295

fbshipit-source-id: 5ada03c7e5eb71a7b0a9d205296c2fa4366a3643
2025-03-20 18:19:16 -07:00
Mateo Guzmán ad0205a122 Migrate AbstractLayoutAnimation to Kotlin (#50145)
Summary:
Migrate com.facebook.react.uimanager.layoutanimation.AbstractLayoutAnimation to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.uimanager.layoutanimation.AbstractLayoutAnimation to Kotlin

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

Test Plan:
```bash
yarn test-android
yarn android
```

Reviewed By: alanleedev

Differential Revision: D71541347

Pulled By: javache

fbshipit-source-id: 5b53f9076a732afc68911f2ace7209f0fee46292
2025-03-20 17:00:55 -07:00
Ramanpreet Nara 45fa563d3a Remove RCTUnsafeExecuteOnMainQueueSync from sample modules (#50149)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50149

Let's just remove RCTUnsafeExecuteOnMainQueueSync from the examples.

That way, people don't copy-paste it, thinking it's okay to use.

Changelog: [Internal]

Reviewed By: lyahdav

Differential Revision: D71505823

fbshipit-source-id: f8d51b1a16bfdd6abdf62a6ba09ffff49d79a3f1
2025-03-20 16:25:15 -07:00
David Vacca 81dfaad871 Annotate ReactNativeFeatureFlags.setAccessorProvider as visibileForTesting (#50107)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50107

Annotate ReactNativeFeatureFlags.setAccessorProvider as visibileForTesting

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D71353954

fbshipit-source-id: 4f3256c209087ccb46020d5762ef0da332e648dc
2025-03-20 15:17:39 -07:00
David Vacca 0cb99cf6e3 Fix typos on ReactNativeFeatureFlags definitions (#50108)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50108

Fix typos on ReactNativeFeatureFlags definitions

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D71353956

fbshipit-source-id: 697c9ae5cf11e50a6a33be239952f7ef5af6f4a6
2025-03-20 15:17:39 -07:00
David Vacca 194ae45b80 Rename ReactNativeFeatureFlagsProviderHolder -> ReactNativeFeatureFlagsJavaProvider (#50080)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50080

I'm renaming ReactNativeFeatureFlagsProviderHolder -> ReactNativeFeatureFlagsJavaProvider to make naming consistent with documentation and remove the concept of "Holder" which is not part of the original design

changelog: [internal] internal

Reviewed By: rubennorte

Differential Revision: D71333170

fbshipit-source-id: be89c3aafe5d9b1c9699aff224c7c8511bdf9327
2025-03-20 15:17:39 -07:00
David Vacca 92c6ba6ed5 Fix typos on ReactNativeFeatureFlags system (#50079)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50079

Fix typos on ReactNativeFeatureFlags system

changelog: [internal] internal

Reviewed By: shwanton, NickGerleman

Differential Revision: D71331170

fbshipit-source-id: 25ffed7cf2d003fa9071723c975e69f464d62b79
2025-03-20 15:17:39 -07:00
Sam Zhou 4f14499013 Fix issues in react-native ahead of making React.ComponentType an alias of component(...Props) (#50180)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50180

Prepare for the change that makes `React.ComponentType` an alias of `component(...Props)`, which comes with stricter checking and making the props automatically readonly.

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D71566900

fbshipit-source-id: cefcc10fda9a9777532f25b325412b0d50ebb9b8
2025-03-20 15:05:28 -07:00
Zeya Peng 1acd45950b TurboModuleWithJSIBindings (#50106)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50106

## Changelog:

[General] [Added] - Create TurboModuleWithJSIBindings interface

So c++ TurboModules can initialize some private members with reference to `jsi::Runtime`

Reviewed By: lenaic

Differential Revision: D71396842

fbshipit-source-id: 59d32e4cbf2c5081912a4c828acc66ceb8702855
2025-03-20 14:49:29 -07:00
David Vacca ceff2e8c37 Update JavaScriptContextHolder documentation to not mention CatlaystInstance (#50163)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50163

Update JavaScriptContextHolder documentation to not mention CatlaystInstance

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D71508657

fbshipit-source-id: 379be65c8a4afdfb0ed994fd1189b1285c246eec
2025-03-20 13:08:29 -07:00
David Vacca 06325d5411 Compile-out methods using Context.isBridgeless() (#50176)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50176

Compile-out methods using Context.isBridgeless()

changelog: [internal] internal

Reviewed By: arushikesarwani94

Differential Revision: D71079164

fbshipit-source-id: a610e2406d92e254bb5b11d692c0a5f5a6a0e4cb
2025-03-20 13:08:29 -07:00
David Vacca ce9471051c Compile-out UIManagerModule from FpsDebugFrameCallback (#50158)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50158

Compile-out UIManagerModule from FpsDebugFrameCallback

The setViewHierarchyUpdateDebugListener does not exists on Bridgeless and NotThreadSafeViewHierarchyUpdateDebugListener is deprecated and marked for deletion on the new architecture.

The new architecture exposes a different API called ItemDispatchListener that's a sort of replacement for NotThreadSafeViewHierarchyUpdateDebugListener. Although it's not the same.

FpsView is broken in old/new arch and needs to be rebuild, I believe this behavior needs to be rethinked in the future. For now I'm excluding usages of NotThreadSafeViewHierarchyUpdateDebugListener and setViewHierarchyUpdateDebugListener for apps running on the new arch enabled by default.

changelog: [internal] internal

Reviewed By: rshest

Differential Revision: D71050642

fbshipit-source-id: 662deb064ffc2322b560618fac3203ab4e86c277
2025-03-20 13:08:29 -07:00
David Vacca 8d1278eb1a Assert if NativeModuleRegistry.onBatchComplete() is used in new architecture (#50164)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50164

Based on analysis this method is only used by legacy architecture, this diff adds an assert if NativeModuleRegistry.onBatchComplete() is used in new architecture

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D71050638

fbshipit-source-id: 7a9791230880d2431e6b136735653a8ab4c34d7d
2025-03-20 13:08:29 -07:00
David Vacca 7dd6e25861 Compile-out UIManagerModule from ReactSafeAreaView (#50161)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50161

Compile-out UIManagerModule from ReactSafeAreaView

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D71050640

fbshipit-source-id: e6675064a0e34bb581b495b3a6412f42372d223d
2025-03-20 13:08:29 -07:00
David Vacca 6f5d6a5990 Remove UIManagerModule from NativeAnimatedModule (#50160)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50160

In this diff we are removing UIManagerModule from NativeAnimatedModule
This code wasn't executing when fabric is enabled, with this change the code that references UIManagerModule will be stripped out

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D71050641

fbshipit-source-id: fbedd5b9e1a9efb45c2fb7558d97fc639897c28c
2025-03-20 13:08:29 -07:00
David Vacca 204ca2ec95 Rename MaintainVisibleScrollPositionHelper.getUIManagerModule() -> MaintainVisibleScrollPositionHelper.getUIManager() (#50177)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50177

This diff renames MaintainVisibleScrollPositionHelper.getUIManagerModule() -> MaintainVisibleScrollPositionHelper.getUIManager() to move away from the UIManagerModule naming

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D71050639

fbshipit-source-id: 4d9aaf66af0f2a881146a83ec170344adc1bad7b
2025-03-20 13:08:29 -07:00
David Vacca 5e2eedc116 Remove UIManager dependency out of ReactInstance class (#50162)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50162

In this diff I'm removing UIManager dependency out of ReactInstance class

changelog: [internal] internal

Reviewed By: alanleedev

Differential Revision: D71003821

fbshipit-source-id: 8ee46619f5a598a03990d0677b47e8ec60902f10
2025-03-20 13:08:29 -07:00
David Vacca 4f8d215d8e Ensure UIManagerHelper does not access UIManagerModule (#50159)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50159

Ensure UIManagerHelper does not access UIManagerModule

changelog: [internal] internal

Reviewed By: cortinico, alanleedev

Differential Revision: D70742205

fbshipit-source-id: f7eabfb7d28b4debc667a9b0cfd55741b373380b
2025-03-20 13:08:29 -07:00