Commit Graph
36127 Commits
Author SHA1 Message Date
Rubén Norte c8cbf7f813 Improve documentation for feature flags (#50644)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50644

Changelog: [internal]

This improves the documentation for the feature flag system by extending information about 2 areas:
- Codegen
- `print` command in CLI

Reviewed By: lenaic

Differential Revision: D72852768

fbshipit-source-id: 97932ea078595ef54cd437a433072f83bbdff609
2025-04-11 07:52:26 -07:00
Rubén Norte c8455804dd Disable default markdownlint rules to prevent conflicts with prettier (#50649)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50649

Changelog: [internal]

`markdownlint` failed on https://github.com/facebook/react-native/actions/runs/14400262967/job/40384250331?fbclid=IwZXh0bgNhZW0CMTEAAR51hcoM4zuGTG4SNbqas4z9X0FsIO8Y9DsCgxJepvD5qSdDezhhIV-uLTpn5w_aem_FF2OiYft3uMzK4xJrKGvuA because lines were too long, but that's already handled by Prettier and I thought that I had disabled that rule in the configuration/

It turns out you have to explicitly set `default: false` to actually disable the default rules and only use the options explicitly set in the config (which this does).

Reviewed By: andrewdacenko

Differential Revision: D72855229

fbshipit-source-id: 8e0c74e8e47e298ebf1450b1a0e31f31179c626c
2025-04-11 07:52:26 -07:00
Riccardo Cipolleschi e83ece0d17 Do not generate Apple specific files for Android (#50654)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50654

We realized that when calling
```
npx react-native-community/cli codegen --path . --platform all --outputPath /tmp/codegen
```

We were generating in the android folder some files that are Apple-specific.

With this change, we should stop generating the Apple specific files in Android.

## Changelog
[General][Fixed] - Do not generate Apple specific files for Android

Reviewed By: cortinico

Differential Revision: D72859336

fbshipit-source-id: 443c4dca032e8e68c1da9d829d361d5e0ed007a0
2025-04-11 07:41:38 -07:00
Ruslan Shestopalyuk c50f3e5f66 Migrate Event class (#49887)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49887

## Changelog:
[Internal] -

As in the title.

This was the last Java file in the `events-common` module, so now it can be a pure Kotlin one.

NOTE: I opted to make the base method `Event.getEventData` public (instead of previously protected), as based on the usage patterns by the users this seems to make the most sense in this context.

Reviewed By: cortinico

Differential Revision: D70777597

fbshipit-source-id: fdaa52e4400ad8e86a8711daf359eb5a10974d05
2025-04-11 07:02:03 -07:00
Mateo Guzmán c134c41cd7 Fix unresolved KDoc references (#50640)
Summary:
Static code analysis shows that there are a lot of unresolved KDoc references. This is just another round addressing several of them.

## Changelog:

[INTERNAL] - Fix unresolved KDoc references

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

Test Plan: Verify that the comments link the classes correctly using Android Studio

Reviewed By: cortinico

Differential Revision: D72848152

Pulled By: javache

fbshipit-source-id: e09b1ddad494885ef3090d7f0f62a782eed922c1
2025-04-11 06:25:14 -07:00
Fabrizio Cucci 57768bfbcd Kotlinify ColorPropConverter (#50626)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50626

As per title.

Changelog:
[Android][Breaking] Kotlinify ColorPropConverter

Reviewed By: javache

Differential Revision: D72788490

fbshipit-source-id: 1c81c70566437db36e45e59995093c4c808369d8
2025-04-11 05:14:34 -07:00
Pieter De Baets 398f2068d1 Migrate com.facebook.react.runtime.ReactSurfaceImpl to Kotlin
Summary: Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D72804023

fbshipit-source-id: ceb046ca271e97d8f314c1ba3599c7c65c4295fe
2025-04-11 05:01:45 -07:00
Omar Bafagih 5fe814e38f Convert ReactPropGroup.java to Kotlin (#50629)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50629

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D72770907

fbshipit-source-id: 249bdf84b1d2d27c2f9d4e201d5b4f35285b4b32
2025-04-11 04:05:30 -07:00
Rubén Norte 3839861dbe Clean up feature flag fixMountingCoordinatorReportedPendingTransactionsOnAndroid (#50632)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50632

Changelog: [internal]

This cleans up the `fixMountingCoordinatorReportedPendingTransactionsOnAndroid` feature flag that is no longer necessary.

Reviewed By: javache

Differential Revision: D72561255

fbshipit-source-id: 0942122832ce40cacc273265e4c95b5fe251dbe6
2025-04-11 04:02:33 -07:00
Rubén Norte c0fac7ba74 Reference print command in featureflags CLI help (#50643)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50643

Changelog: [internal]

Just realized this was missing from the message.

Reviewed By: lenaic

Differential Revision: D72852138

fbshipit-source-id: 27ed4b6e6d8b370cfa34a9878ca9bb0815cb75eb
2025-04-11 03:40:27 -07:00
Pieter De Baets 86cd31eb6b Remove unused loadSplitBundleFromServer
Summary:
This code is not referenced internally or externally and was part of the DevSplitBundleLoader which was removed in D43597007.

Changelog: [Android][Breaking][Removed] Removed loadSplitBundleFromServer from DevSupportManager interface

Reviewed By: cortinico

Differential Revision: D72790533

fbshipit-source-id: 9e0960af4c528d9019943c89466ab442f34619e1
2025-04-11 03:27:04 -07:00
Pieter De Baets bf8d6da101 Make Task.call API simpler (#50545)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50545

All usages of Task.call involve a Runnable which returns another Task, which we then extract using `.continueWithTask(Task::getResult)`. Instead inline this behaviour inside `Task.call` to avoid allocation of unnecessary intermediate objects.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D72600051

fbshipit-source-id: 7e7c0c8e1de24b1aeff7addab2eb10272bc73ddb
2025-04-11 03:05:00 -07:00
Pieter De Baets 26e89cf9e3 Remove UnobservedTaskException (#50546)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50546

We do not use this mechanism for exception handing with Tasks, so remove it.

Changelog: [Internal]

Reviewed By: cortinico, fabriziocucci

Differential Revision: D72600053

fbshipit-source-id: f9ae877b05ece66682cb6c291b05257953f5aebb
2025-04-11 03:05:00 -07:00
Nicola Corti 5ef68569b3 Bump CMake to 3.30.x and Enable INTERPROCEDURAL_OPTIMIZATION for libhermes.so in OSS
Summary:
PR is here https://github.com/facebook/react-native/pull/50581

This enables INTERPROCEDURAL_OPTIMIZATION for Hermes in OSS, similar to how we did for libreactnative.so
I also had to bump CMake to 3.30.x to unblock the build failure with `-fuse-ld=gold`

Changelog:
[Internal] [Changed] -

Reviewed By: alanleedev

Differential Revision: D72696879

fbshipit-source-id: e842f6cdf41f6936ef4baeb70e4833a1a0c2d19b
2025-04-11 03:03:09 -07:00
Alan Lee f62bd98a32 Convert ReconnectingWebSocket.java to Kotlin (#50614)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50614

Convert Java to Kotlin

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D72750330

fbshipit-source-id: 03014c47938697a337109a6d213388837eccfb71
2025-04-10 19:52:23 -07:00
Alan Lee 61c539fa6a Convert FileIoHandler.java to Kotlin (#50612)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50612

Java to Kotlin conversion

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D72742937

fbshipit-source-id: b72b51460555226fa7fe99f4ca5290f46c478291
2025-04-10 19:52:23 -07:00
Peter Abbondanzo c51c4b1922 xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/AlertFragment.java (#50630)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50630

Changelog: [Internal] - Convert AlertFragment to Kotlin

Reviewed By: mlord93

Differential Revision: D72729380

fbshipit-source-id: f7d8ee4cd5938c453b865aea60b6f0533bd8fe0e
2025-04-10 18:26:47 -07:00
Peter Abbondanzo 7101adf611 xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/dialog/DialogModule.java (#50631)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50631

Changelog: [Internal] - Convert DialogModule to Kotlin

Reviewed By: mlord93

Differential Revision: D72729281

fbshipit-source-id: fb5ced042f48c8615c1c7ea4bc1de07671d652e6
2025-04-10 18:26:47 -07:00
Tim Yung eeab47e61a Animated: Ship avoidAnimatedRefInvalidation (#50635)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50635

Ships the feature flag introduced by https://github.com/facebook/react-native/pull/50002.

Changelog:
[General][Changed] - Animated components' `ref` will now only reattach when receiving new props if the new props contain different `AnimatedValue` or `AnimatedEvent` instances. (Previously, Animated components' `ref` would always reattach when receiving new props.)

Differential Revision: D72802613

fbshipit-source-id: 4495eb778e3bb9473172c393bd984d93c4ba5f00
2025-04-10 18:26:23 -07:00
David Vacca f8b2956437 Delete ChoreographerCompat
Summary:
Deleting ChoreographerCompat as its only method is deprecated and it's unused.

Use Choreographer.FrameCallback instead

changelog: [Android][Breaking] Deleting ChoreographerCompat, Use Choreographer.FrameCallback instead

Reviewed By: alanleedev

Differential Revision: D72817152

fbshipit-source-id: 08624dd07e916116381293cde57a0fdf5452a670
2025-04-10 17:58:01 -07:00
David Vacca d34cbfa819 Delete react/bridge/bridge.pro
Summary:
react/bridge/bridge.pro is unused and out-of-sync, let's delete it

changelog: [internal] internal

Reviewed By: javache

Differential Revision: D72090835

fbshipit-source-id: 6bbfd870465c6e440943a7d715d6dfeb5e5bd043
2025-04-10 17:57:13 -07:00
David Vacca 98d0847440 Remove DoNotStripAny annotation from ReactModuleWithSpec
Summary:
ReactModuleWithSpec is deprecated and unused, it was replaced by TurboModule interface.
In this diff I'm removing DoNotStripAny annotation from ReactModuleWithSpec to make sure proguard doesn't retain any reference to it

changelog: [internal] internal

Reviewed By: javache

Differential Revision: D72090838

fbshipit-source-id: 44aa0d6d4b2b592b5b8fea1b9e4578e2df3a9a8e
2025-04-10 17:57:13 -07:00
David Vacca df0e479644 Delete InvalidIteratorException
Summary:
InvalidIteratorException is not used in java, kotlin nor C++. This diff just removes this class

This is not a breaking change due to the lack of usages

changelog: [internal] internal

Reviewed By: javache

Differential Revision: D72090837

fbshipit-source-id: 75aa4a8d2c1abbeb32bd38e5e60cbf7f04be823e
2025-04-10 17:57:13 -07:00
David Vacca 767462a910 Introduce UseReactNativeNewArchitectureFeatureFlagDetector
Summary:
In this diff I'm introducing a new lint error called UseReactNativeNewArchitectureFeatureFlagDetector to prevent usages of:

```
ReactNativeFeatureFlags.enableBridgelessArchitecture
ReactNativeFeatureFlags.enableFabricRenderer
ReactNativeFeatureFlags.useFabricInterop
ReactNativeFeatureFlags.useTurboModuleInterop
ReactNativeFeatureFlags.useTurboModules
```

in favor of:
```
ReactNativeNewArchitectureFeatureFlags.enableBridgelessArchitecture
ReactNativeNewArchitectureFeatureFlags.enableFabricRenderer
ReactNativeNewArchitectureFeatureFlags.useFabricInterop
ReactNativeNewArchitectureFeatureFlags.useTurboModuleInterop
ReactNativeNewArchitectureFeatureFlags.useTurboModules
```

changelog: [internal] internal

Reviewed By: cortinico

Differential Revision: D72028734

fbshipit-source-id: c9ca39133e3ce5e5f2d393e9b9ee1803b350bdad
2025-04-10 17:57:13 -07:00
David Vacca 9ad8f22d00 Migrate ReactNativeFeatureFlags -> ReactNativeNewArchitectureFeatureFlags for new architecture feature flags
Summary:
This diff migrates all usages of new architecture feature flags from ReactNativeFeatureFlags -> ReactNativeNewArchitectureFeatureFlags

changelog: [internal] internal

Reviewed By: alanleedev

Differential Revision: D71988913

fbshipit-source-id: 2cdfaeaf19ebbe236ea2bd0539854b69f70a6e01
2025-04-10 17:57:13 -07:00
David Vacca aaf0d7dc7f Introduce ReactNativeNewArchitectureFeatureFlags (#50605)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50605

In order to help Proguard to stripping-out bytecode, we need a way to statically enable all Feature Flags used by the New Architecture at build time (e.g. enableBridgelessArchitecture, useTurboModule, etc). The React Native Feature Flag system is mostly implemented in C++ and unfortunately Proguard can’t follow C++ code to understand what feature flags are enabled or disabled at build time.

After analyzing several proposals, we decided to introduce a new internal API called ReactNativeNewArchitectureFeatureFlags, this API will help us detect if an app is using the new architecture at build time.
In order to make this API to work I’ve migrated all usages of new architecture feature flags from ReactNativeFeatureFlags -> ReactNativeNewArchitectureFeatureFlags

changelog: [internal] internal

Reviewed By: mlord93

Differential Revision: D71988912

fbshipit-source-id: a6d58c5b1f39f85370298a347db228e933c6c743
2025-04-10 17:57:13 -07:00
David Vacca 7aed1fe6a0 Ensure interop is disabled when ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE == true (#50604)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50604

ReactBuildConfig.UNSTABLE_ENABLE_MINIFY_LEGACY_ARCHITECTURE asume Fabric and TurboModule interops are disabled, in this diff I'm adding an assertion to validate this at runtime

changelog: [internal] internal

Reviewed By: mlord93

Differential Revision: D71854550

fbshipit-source-id: a4b3acfe4c3227115300b100be4d6222d5eace8e
2025-04-10 17:57:13 -07:00
David Vacca c962980363 Mark ReactPackageLogger as @LegacyArchitecture (#50596)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50596

Mark ReactPackageLogger as LegacyArchitecture

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D72067076

fbshipit-source-id: 128d005f8de7eb3b3a2d90a86a375f8db6f7f4ec
2025-04-10 17:57:13 -07:00
Fabrizio Cucci 68f0b7cd73 Back out "Kotlinify TouchTargetHelper"
Summary:
Original commit changeset: 2e3e7ff41e27

Original Phabricator Diff: D72716749

Changelog: [Internal]

Reviewed By: GijsWeterings

Differential Revision: D72796716

fbshipit-source-id: e716fb4dbfbb73f7dc6d27e0f7572992d316adb6
2025-04-10 17:56:24 -07:00
David Vacca 212c68ea96 Make @FrameworkAPI classes internal
Summary:
FrameworkAPI classes are not part of the public API, this diff will remove all FrameworkAPI classes from our public API tracking

changelog: [internal] internal

Reviewed By: alanleedev

Differential Revision: D72805466

fbshipit-source-id: b16791ab854017be681ceabd61b628d2d0ba0c5c
2025-04-10 16:51:51 -07:00
David Vacca 40899f5d28 Remove @StableReactNativeAPI from Legacy architecture classes (#50634)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50634

Remove StableReactNativeAPI from Legacy architecture classes

changelog: [internal] internal

Reviewed By: alanleedev

Differential Revision: D72802685

fbshipit-source-id: d3ba5237838396a0158d389eb834793755442905
2025-04-10 16:08:35 -07:00
Zeya Peng bfb274c244 Convert NativeAnimatedNodesManager to kotlin
Summary:
## Changelog:

[Android] [Changed] - Convert NativeAnimatedNodesManager to kotlin

Reviewed By: alanleedev

Differential Revision: D72657697

fbshipit-source-id: 36180d0906f6ef621b8b667442b61642f9ccc5d1
2025-04-10 13:53:30 -07:00
Rubén Norte 02bf24b1d8 Define continuous and idle priority for raw events and expose them to React via nativeFabricUIManager (#50627)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50627

Changelog: [internal]

This defines 2 new priorities in Fabric, matching the definitions in React:
* Continuous
* Idle

They're exposed to React via 2 new properties in `nativeFabricUIManager`: `unstable_ContinuousEventPriority` and `unstable_IdleEventPriority`.

It also adds the mapping from the raw event priorities to the Fabric event priorities.

This change doesn't have any effect at the moment. For these to come into effect, we need to:
1. Fix the mapping between Fabric priorities and React priorities in the React repository. See https://github.com/facebook/react/pull/32847
2. Enable the `fixMappingOfEventPrioritiesBetweenFabricAndReact` feature flag.

Reviewed By: javache

Differential Revision: D72791968

fbshipit-source-id: 525b6e5c99dc0ddc1e5c60fdb5b73f0555e5f0d3
2025-04-10 13:12:21 -07:00
Mateo Guzmán 834a6338c8 Make RequestOnlyHandler internal (#50601)
Summary:
This class can be internalized as part of the initiative to reduce the public API surface. I've checked there are [no relevant OSS usages](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+user%3Acortinico+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+NOT+repo%3Apkcsecurity%2Fdecompiled-lightbulb+com.facebook.react.packagerconnection.RequestOnlyHandler).

## Changelog:

[INTERNAL] - Make com.facebook.react.packagerconnection.RequestOnlyHandler internal

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

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

Reviewed By: cortinico

Differential Revision: D72746748

Pulled By: arushikesarwani94

fbshipit-source-id: d70b87c09dd1a9ddd4b25e33f2bc164c15a5d90b
2025-04-10 11:37:50 -07:00
Mateo Guzmán 7851f87594 Make EventCategoryDef internal (#50600)
Summary:
This class can be internalized as part of the initiative to reduce the public API surface. I've checked there are [no relevant OSS usages](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+user%3Acortinico+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+NOT+repo%3Apkcsecurity%2Fdecompiled-lightbulb+com.facebook.react.uimanager.events.EventCategoryDef).

## Changelog:

[INTERNAL] - Make com.facebook.react.uimanager.events.EventCategoryDef internal

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

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

Reviewed By: cortinico

Differential Revision: D72746853

Pulled By: arushikesarwani94

fbshipit-source-id: d74847d89b3cfc3d68ff43a0ca31abb59aefa575
2025-04-10 11:27:32 -07:00
Pieter De Baets b0c3613fb6 Use @JvmOverloads in Task (#50547)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50547

Remove duplication and instead use JvmOverloads to expose all variants to Java

Changelog: [Internal]

Reviewed By: alanleedev

Differential Revision: D72600052

fbshipit-source-id: a92c75a49ee74f13f3d7bfba6a394099bfaac291
2025-04-10 10:32:32 -07:00
Pieter De Baets d0ab69791b Align all Systrace markers on TRACE_TAG_REACT
Summary:
We currently have a high granularity of different React Native systrace markers. These different markers are not consistently applied and we only enable a subset of them by default in our tracing workflows. As we migrate more and more tracing to Perfetto the tags also become less relevant and will be replaced by Perfetto categories and tracks in the future.

This stack aims to simplify this setup by reducing all systrace tags to single TRACE_TAG_REACT.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D72672912

fbshipit-source-id: 1b6b14fc4ef6d6830bba41d7977f277d63ff5117
2025-04-10 10:06:47 -07:00
Rubén Norte 2c79c70c3b Downgrade markdownlint-rule-relative-links to v3 to avoid yarn errors with incompatible engines (#50625)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50625

Changelog: [internal]

This fixes yarn install errors coming from repositories other than `react-native` where `--ignore-engines` isn't specified. This was caused by `markdownlint-rule-relative-links` requiring Node.js >= v22 when we're using v20 in most cases.

Fixes https://github.com/react-native-community/docker-android/actions/runs/14380730414/job/40323632337?pr=234

Reviewed By: cortinico

Differential Revision: D72789007

fbshipit-source-id: 2c0b161af8be8d37bf57a7ea9cc22023434d4cb2
2025-04-10 09:44:11 -07:00
Pieter De Baets 05ce95fca4 Convert com.facebook.react.runtime.internal.bolts.Task to Kotlin (#50548)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50548

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72578962

fbshipit-source-id: b4364e7b252bb3fc59a76df8a92f45b18854e650
2025-04-10 08:36:52 -07:00
Fabrizio Cucci f70dcd8912 Kotlinify JSONArguments (#50623)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50623

As per title.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D72784115

fbshipit-source-id: 601bae57cd1143f3cdf5f3e93bfed36b8a2015b7
2025-04-10 07:41:51 -07:00
Rubén Norte 7aa0499e11 Clean up feature flag to enable LongTasks API
Summary:
Changelog: [internal]

(This is "internal" because the `PerformanceObserver` API isn't stable yet).

This cleans up the feature flag to enable the LongTasks API to the availability of the API itself isn't gated behind this specific one.

Reviewed By: rshest

Differential Revision: D72784109

fbshipit-source-id: 8ca45d66cebbd80729829c928bebb13f4a38b7ab
2025-04-10 07:39:52 -07:00
Gijs Weterings 568ba647cf fix nullsafe FIXMEs for ReactHostImpl.java and mark nullsafe
Summary:
Gone trough all the FIXMEs added in the previous diff by the nullsafe tool, marked the class as nullsafe and ensured no remaining violations.
Changelog: [Android][Fixed] Made ReactHostImpl.java nullsafe

Reviewed By: cortinico

Differential Revision: D72384082

fbshipit-source-id: 999903b1bf98ea61d2431ace5ca6584535ca4857
2025-04-10 06:56:29 -07:00
Gijs Weterings 87accdfe47 Apply nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java
Summary:
Added nullsafe FIXMEs for easier reviewing of next diff, where we fix them

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72384065

fbshipit-source-id: 0f1df2a870d1975b0c522a2e6a17e8959aab6c7c
2025-04-10 06:56:29 -07:00
Gijs Weterings 58b0755b80 remove stale NULLSAFE_FIXME comment
Summary:
this is no longer actionable/relevant

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72787458

fbshipit-source-id: 44eda9c7b461228ff66b31f8831b85d0d5650905
2025-04-10 06:50:15 -07:00
Fabrizio Cucci 32b1b7c2a0 Kotlinify JsonWriterHelper (#50619)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50619

As per title.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72782158

fbshipit-source-id: f81b60a1a965efe82e065d7426d26f69fc84b321
2025-04-10 06:26:02 -07:00
Nicola Corti b4965fcfa6 Convert to Kotlin - BridgelessAtomicRef
Summary:
This diff converts to Kotlin the following file: BridgelessAtomicRef.java
as part of our ongoing effort of migrating the codebase to Kotlin.

Changelog:
[Internal] [Changed] -

Reviewed By: javache

Differential Revision: D72777272

fbshipit-source-id: b6e10ce32b701614cb323adde7d3df2aa2a8f293
2025-04-10 04:50:45 -07:00
Alan Lee ca2b2aac60 Convert StateWrapperImpl.java to Kotlin (#50615)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50615

Convert Java to Kotlin

Changelog:
[Internal]

Reviewed By: cortinico

Differential Revision: D72752437

fbshipit-source-id: 7c437087f161538ab20ce9d123d7526b98cf4d90
2025-04-10 03:17:02 -07:00
Devansh Saini 07a1fb8e6b Migrate FileReaderModule to kotlin (#50562)
Summary:
This PR aims to migrate FileReaderModule from Java to kotlin as part of https://github.com/facebook/react-native/issues/50513

## Changelog:

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

Pick one each for the category and type tags:

[ANDROID|GENERAL|IOS|INTERNAL] [BREAKING|ADDED|CHANGED|DEPRECATED|REMOVED|FIXED|SECURITY] - Message

For more details, see:
https://reactnative.dev/contributing/changelogs-in-pull-requests
-->
[ANDROID][CHANGED]Migrate FileReaderModule to Kotlin

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

Test Plan: Tested on RN tester with both new and old arch

Reviewed By: arushikesarwani94

Differential Revision: D72726333

Pulled By: cortinico

fbshipit-source-id: 130393373a258f18f8baaa96745da8fdebd62436
2025-04-10 02:55:06 -07:00
Fabrizio Cucci f21e61f4c5 Kotlinify TouchTargetHelper
Summary:
As per title.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72716749

fbshipit-source-id: 2e3e7ff41e2706808b112347fedd370eb9048f1e
2025-04-10 02:06:35 -07:00
Mateo Guzmán e424a5739e Make TextTransform internal (#50599)
Summary:
This class can be internalized as part of the initiative to reduce the public API surface. I've checked there are [no relevant OSS usages](https://github.com/search?type=code&q=NOT+is%3Afork+NOT+org%3Afacebook+NOT+repo%3Areact-native-tvos%2Freact-native-tvos+NOT+repo%3Anuagoz%2Freact-native+NOT+repo%3A2lambda123%2Freact-native+NOT+repo%3Abeanchips%2Ffacebookreactnative+NOT+repo%3AfabOnReact%2Freact-native-notes+NOT+user%3Ahuntie+NOT+user%3Acortinico+NOT+repo%3AMaxdev18%2Fpowersync_app+NOT+repo%3Acarter-0%2Finstagram-decompiled+NOT+repo%3Am0mosenpai%2Finstadamn+NOT+repo%3AA-Star100%2FA-Star100-AUG2-2024+NOT+repo%3Alclnrd%2Fdetox-scrollview-reproductible+NOT+repo%3ADionisisChytiris%2FWorldWiseTrivia_Main+NOT+repo%3Apast3l%2Fhi2+NOT+repo%3AoneDotpy%2FCaribouQuest+NOT+repo%3Abejayoharen%2Fdailytodo+NOT+repo%3Amolangning%2Freversing-discord+NOT+repo%3AScottPrzy%2Freact-native+NOT+repo%3Agabrieldonadel%2Freact-native-visionos+NOT+repo%3AGabriel2308%2FTestes-Soft+NOT+repo%3Adawnzs03%2FflakyBuild+NOT+repo%3Acga2351%2Fcode+NOT+repo%3Astreeg%2Ftcc+NOT+repo%3Asoftware-mansion-labs%2Freact-native-swiftui+NOT+repo%3Apkcsecurity%2Fdecompiled-lightbulb+com.facebook.react.views.text.TextTransform).

## Changelog:

[INTERNAL] - Make com.facebook.react.views.text.TextTransform internal

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

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

Reviewed By: mdvacca

Differential Revision: D72746912

Pulled By: arushikesarwani94

fbshipit-source-id: 7a5b0d4179f23f457c79194f043ce9189f17fce7
2025-04-09 19:43:17 -07:00