Commit Graph

12270 Commits

Author SHA1 Message Date
Nicola Corti 7aebb3a1be Migrate to Kotlin - BridgelessDevSupportManager (#50522)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50522

This diff migrates the following file to Kotlin - BridgelessDevSupportManager
as part of our ongoing effort of migrating the codebase to Kotlin
Changelog:
[Internal] [Changed] - BridgelessDevSupportManager to Kotlin

Reviewed By: arushikesarwani94

Differential Revision: D72558016

fbshipit-source-id: 9c84f89dfca03991b1feb6f8c9ffe846350aafed
2025-04-08 01:25:16 -07:00
Nicola Corti 878b61a3ca Migrate to Kotlin - DebugOverlayController (#50520)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50520

This diff migrates the following file to Kotlin - DebugOverlayController
as part of our ongoing effort of migrating the codebase to Kotlin
Changelog:
[Internal] [Changed] - DebugOverlayController.java to Kotlin

Reviewed By: arushikesarwani94

Differential Revision: D72557349

fbshipit-source-id: dd4a1c7204206189c176b36f81c6d54f5f780b10
2025-04-08 01:25:16 -07:00
Nicola Corti f87ae249c9 Migrate to Kotlin - DebugCorePackage (#50521)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50521

This diff migrates the following file to Kotlin - DebugCorePackage
as part of our ongoing effort of migrating the codebase to Kotlin
Changelog:
[Internal] [Changed] - Migrate to Kotlin - DebugCorePackage

Reviewed By: javache

Differential Revision: D72556867

fbshipit-source-id: dc37538da7089f532dc3a617a8e7dbccc6e187e3
2025-04-08 01:25:16 -07:00
Peter Abbondanzo 833ab6fe1b Fix onPointerLeave computation by comparing button presses (#50402)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50402

While investigating pointer events, I noticed that all Android views fire `onPointerLeave`/`onPointerEnter` in rapid succession on every button press. This is because Android fires `ACTION_HOVER_EXIT` on every frame before firing `ACTION_DOWN` (in the same frame). The logic in JSPointerDispatcher needed to be updated to account for this.

Unfortunately, `ACTION_HOVER_EXIT` events have no means of distinguishing between whether they were driven by the mouse actually leaving the view's bounds or by a button press. Some OS implementations fire this event on the frame just before leaving the view's boundaries while others fire after, so pure X/Y position isn't helpful enough. The button state property on `ACTION_HOVER_EXIT` also never gets set in some OS.

To work around this issue, this change posts a callback to the very next frame after receiving `ACTION_HOVER_EXIT`. If no `ACTION_DOWN` event was received in the same frame, it calls all the way through the existing logic. But, if an `ACTION_DOWN` event *is* received, we compare the event timestamps and if they match we don't post `onPointerLeave`.

Changelog: [Android][Fixed] - Prevent onPointerLeave from dispatching during button presses

Reviewed By: vincentriemer

Differential Revision: D72078450

fbshipit-source-id: dcc7cfa4086963ed8599147d60d8406c54cd5d69
2025-04-07 17:54:03 -07:00
Pieter De Baets 22eb457c94 Remove unneeded SurfaceHandler interface
Summary:
Since we've made SurfaceHandler internal, there's no need to maintain a separate interface between it and the actual Binding implementation class.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72558674

fbshipit-source-id: d7ac15b0e608c3aa7d05e46f1078cef1e154f846
2025-04-07 16:04:04 -07:00
Mateo Guzmán 03026b0b60 Make SurfaceHandler internal (#50502)
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.interfaces.fabric.SurfaceHandler).

## Changelog:

[INTERNAL] - Make com.facebook.react.interfaces.fabric.SurfaceHandler internal

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

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

Reviewed By: arushikesarwani94

Differential Revision: D72549674

Pulled By: javache

fbshipit-source-id: 6a8cf34e902e4b4faf88929e7c3406993fc940f6
2025-04-07 16:04:04 -07:00
Joe Vilches 9cd8efa897 Expose accessibility order (#50481)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50481

It's here! kinda...this only works internally right now, so no OSS usage which is explicitly gated to be off. We can't really avoid exposing the types so here we are.

Changelog: [Internal]

Reviewed By: jorge-cab

Differential Revision: D72428425

fbshipit-source-id: 9642e5db46f9bd34ff505b0e37987da52857b6e9
2025-04-07 14:46:29 -07:00
Joe Vilches f75f2617ac Gate accessibilityOrder on iOS and Android (#50303)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50303

This feature is being tested internally right now. We cannot really avoid exposing the type but we are going to make this no-op for now in OSS until we are confident we can roll it out fully

Changelog: [Internal]

Reviewed By: philIip

Differential Revision: D71919847

fbshipit-source-id: b1730b8af5180c4513ce1f0d58b3a6526fffed84
2025-04-07 14:46:29 -07:00
Joe Vilches 83fae860df Allow links that encorporate entire <Text> to be keyboard accessible
Summary:
I was helping a team with some keyboard link accessibility and they had this strange bug where a link was not keyboard accessible despite having `accessible={true}`. Something that fixed it for them was adding an `accessibilityLabel`, which makes no sense.

Turns out there is a bug when the link encompasses the entirety of the `Text` component. We have a special case for handling links of this manner, and right now we are not setting the `frame` property which is responsible for outlining the element when it takes focus.

This property is not one defined by UIKit, rather it is defined in RCTAccessibilityElement. We use it to derive the accessibilityFrame which has to be in screen coordinates. If you do not set the frame property then it is supposed to use the bounds of the container. This does not work properly, seemingly bc the name "frame" gets mangled internally in UIKit leading to UB. I changed the name the "something" and it works.

To remedy this lets just change the name

Changelog: [iOS] [Fixed]

Reviewed By: javache

Differential Revision: D72338838

fbshipit-source-id: da91d0c28baeb6765d4d604f3e47c91952167f9d
2025-04-07 14:24:15 -07:00
Zeya Peng b0f2083d9d UIManager::add/RemoveEventListener (#50453)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50453

## Changelog:

[General] [Added] - add UIManager::add/RemoveEventListener

Reviewed By: rshest

Differential Revision: D72200640

fbshipit-source-id: 707540bdcb1178c2fab8260ce73b634c4f974b56
2025-04-07 13:48:32 -07:00
Nicola Corti 0bd0635be6 Migrate to Kotlin - DevSupportManagerFactory (#50516)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50516

This diff migrates the following file to Kotlin - DevSupportManagerFactory
as part of our ongoing effort of migrating the codebase to Kotlin

Changelog:
[Android] [Changed] - Migrate to Kotlin - DevSupportManagerFactory - We couldn't find any implementation of this class in OSS. Some Kotlin implementers might have to change the method signatures. However this interface is not supposed to be extended in OSS.

Reviewed By: javache

Differential Revision: D72556310

fbshipit-source-id: 35d1ed3c332296d3be5244fdab92a890d7ea3c40
2025-04-07 11:26:54 -07:00
Nicola Corti 09492075e8 Migrate to Kotlin - ReactInstanceDevHelper (#50517)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50517

This diff migrates the following file to Kotlin - ReactInstanceDevHelper
as part of our ongoing effort of migrating the codebase to Kotlin

Changelog:
[Android] [Changed] - Migrate to Kotlin - ReactInstanceDevHelper. Some users implementing this class in Kotlin could have breakages. As this is a devtools/frameworks API we're not marking this as breaking.

Reviewed By: javache

Differential Revision: D72555226

fbshipit-source-id: e7e5523c56de8697def0a509c03e9fe89c6d5839
2025-04-07 11:26:54 -07:00
Riccardo Cipolleschi 0f534293af Avoid build failure on Catalyst (x86_64) (#50514)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50514

When building React Native for mac catalyst on intel architecture, we are observing a build failure in RCTInstance.
See issue: https://github.com/facebook/react-native/issues/50388

Apparently, the compiler don't understand that `errorData[@"isFatal"]` is a BOOL, so we are helping it by extracting the `boolValue`.

## Changelog:
[iOS][Fixed] -  Avoid build failure on Catalyst (x86_64)

Reviewed By: cortinico

Differential Revision: D72558024

fbshipit-source-id: 152d89b02ae250a8ae54fe2df658c018d5f63f45
2025-04-07 11:23:11 -07:00
Fabrizio Cucci 1853957773 Kotlinify ViewGroupDrawingOrderHelper
Summary:
As per title.

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D72566036

fbshipit-source-id: ac3156b247df3818073e31aa44d5c96f62f7b881
2025-04-07 09:03:23 -07:00
Rubén Norte 91acacc218 Ship fixMountingCoordinatorReportedPendingTransactionsOnAndroid feature flag by default
Summary:
Changelog: [internal]

This is stable after the last couple of fixes, so we can enable it by default. Enabling this just improves the accuracy of `IntersectionObserver` and the Event Timing API, and we still haven't shipped those to stable.

Reviewed By: GijsWeterings

Differential Revision: D72561256

fbshipit-source-id: 4b505f1df9c7c495d316e6fbf1498af94aaca959
2025-04-07 08:38:12 -07:00
Gijs Weterings 9b30cdd008 fix nullsafe FIXMEs for NetworkingModule.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 NetworkingModule.java nullsafe

Reviewed By: cortinico

Differential Revision: D71979590

fbshipit-source-id: 0ddf764f4707d2ee76ab99bc1a09a4e2a7e6b794
2025-04-07 06:33:09 -07:00
Gijs Weterings 70b4265ea0 Apply Nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java (#50347)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50347

Added nullsafe FIXMEs for easier reviewing of next diff, where we fix them

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D71979581

fbshipit-source-id: 4ed264ff43794b6aafc2a0ee419a660a6b5b0440
2025-04-07 06:33:09 -07:00
Gijs Weterings c80ac8fcf2 Fix nullsafe FIXMEs for BlobModule.java and mark nullsafe (#50366)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50366

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 BlobModule.java nullsafe

Reviewed By: cortinico

Differential Revision: D71979598

fbshipit-source-id: bbef5548d05e0b77ea03cf72f41a384fe7294d59
2025-04-07 06:33:09 -07:00
Gijs Weterings 842591e480 Apply Nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/blob/BlobModule.java (#50364)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50364

Added nullsafe FIXMEs for easier reviewing of next diff, where we fix them

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D71979588

fbshipit-source-id: f5ec8bced87ea0c6c1c193be51ebc78396388d0e
2025-04-07 06:33:09 -07:00
Gijs Weterings 419b68f38a Fix nullsafe FIXMEs for TurboModuleManager and mark nullsafe (#50370)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50370

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 TurboModuleManager.java nullsafe

Reviewed By: cortinico

Differential Revision: D71979605

fbshipit-source-id: b8da8f1ad12f5f6d63e7bd876d7c4912d69a4c4d
2025-04-07 06:33:09 -07:00
Gijs Weterings 4664db138f Apply Nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleManager.java (#50358)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50358

Added nullsafe FIXMEs for easier reviewing of next diff, where we fix them

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D71979595

fbshipit-source-id: 19bfcea537b7b62536eafa8e1d0b3f8b50666e22
2025-04-07 06:33:09 -07:00
Gijs Weterings 90184d20e1 Fix nullsafe FIXMEs for TurboModuleInteropUtils and mark nullsafe (#50357)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50357

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 TurboModuleInteropUtils.java nullsafe

Reviewed By: cortinico

Differential Revision: D71979599

fbshipit-source-id: ffd7006f28db4daf8cd47ce1cd8ff6e3192c0ad1
2025-04-07 06:33:09 -07:00
Gijs Weterings c5132f485f Throw errors in TuboModuleInteropUtils for improperly constructed turbomodules
Summary:
Per discussion in D71979599

Changelog: [General][Fixed] Throw ParsingException when  ReactModule doesn't conform to TurboModule invariants

Reviewed By: cortinico

Differential Revision: D72383857

fbshipit-source-id: 2d0282b136312d414234246584d2ae60858955b6
2025-04-07 06:33:09 -07:00
Gijs Weterings 207fc3f5d3 Apply Nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/turbomodule/core/TurboModuleInteropUtils.java (#50367)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50367

Added nullsafe FIXMEs for easier reviewing of next diff, where we fix them

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D71979600

fbshipit-source-id: be36f4c409a0423b3d3ccdf2c28d96c7a3f50201
2025-04-07 06:33:09 -07:00
Intl Scheduler e6fc1ecb6f translation auto-update for batch 0/58 on master
Summary:
Chronos Job Instance ID: 1125907957107836
Sandcastle Job Instance ID: 22517999905036196

Processed xml files:
android_res/com/facebook/common/util/res/values/strings.xml
android_res/rendercore/res/values/strings.xml
../xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/res/views/uimanager/values/strings.xml
../xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/res/devsupport/values/strings.xml
android_res/com/facebook/content/res/values/strings.xml
android_res/com/facebook/common/i18n/res/values/strings.xml
android_res/com/facebook/common/timeformat/res/values/strings.xml
android_res/com/facebookpay/widget/res/values/strings.xml
android_res/com/facebookpay/ecpexception/res/values/strings.xml
android_res/com/facebookpay/expresscheckout/res/values/strings.xml
android_res/com/fbpay/auth/res/values/strings.xml
android_res/com/facebook/common/strings/external/res/values/strings.xml
android_res/com/facebook/common/strings/res/values/strings.xml
android_res/com/facebook/fbui/widget/pagerindicator/res/values/strings.xml
android_res/com/facebook/fbui/widget/contentview/res/values/strings.xml
android_res/com/facebook/resources/res/values/strings.xml
android_res/com/facebook/widget/res/values/strings.xml
android_res/com/facebook/config/appspecific/res/values/strings.xml
android_res/com/facebook/ui/mainview/res/values/strings.xml
android_res/com/facebook/audience/stories/storysurface/activity/main/res/values/strings.xml
android_res/com/facebook/ui/emoji/res/values/strings.xml
android_res/com/facebook/ui/emoji/common/res/values/strings.xml
android_res/com/facebook/nativetemplates/res/values/strings.xml
android_res/com/facebook/iorg/common/upsell/res/values/strings.xml
android_res/com/facebook/iorg/common/res/values/strings.xml
android_res/com/facebook/dialtone/res/values/strings.xml
android_res/com/facebook/zero/messenger/semi/res/values/strings.xml
android_res/com/facebook/zero/res/values/strings.xml
android_res/com/facebook/zero/common/res/values/strings.xml
android_res/com/facebook/widget/facepile/res/values/strings.xml
android_res/com/facebook/tabbar/res/values/strings.xml
android_res/com/facebook/ui/toolbar/res/values/strings.xml
android_res/com/facebook/dialtone/messenger/res/values/strings.xml
android_res/com/facebook/feedback/reactions/res/values/strings.xml
android_res/com/facebook/ufiservices/res/values/strings.xml
android_res/com/facebook/ui/edithistory/res/values/strings.xml
android_res/com/facebook/pages/common/userinviter/res/values/strings.xml
android_res/com/facebook/pages/common/bannedusers/res/values/strings.xml
android_res/com/facebook/friending/common/res/values/strings.xml
android_res/com/facebook/messaging/ui/stickerstore/res/values/strings.xml
android_res/com/facebook/stickers/res/values/strings.xml
android_res/com/facebook/messaging/shared/res/values/strings.xml
android_res/com/facebook/caspian/res/values/strings.xml
android_res/com/facebook/timeline/widget/actionbar/res/values/strings.xml
android_res/com/facebook/showpages/res/values/strings.xml
android_res/com/facebook/nux/res/values/strings.xml
android_res/com/facebook/facecast/common/badge/res/values/strings.xml
android_res/com/facebook/feedbase/res/values/strings.xml
android_res/com/facebook/feedback/ui/res/values/strings.xml
android_res/com/facebook/video/player/res/values/strings.xml
android_res/com/facebook/spherical/res/values/strings.xml
android_res/com/facebook/saved/common/res/values/strings.xml
android_res/com/facebook/video/comments/res/values/strings.xml
android_res/com/facebook/messaging/media/picker/res/values/strings.xml
android_res/com/facebook/messaging/media/res/values/strings.xml
android_res/com/facebook/messaging/res/values/strings.xml
android_res/com/facebook/ui/media/contentsearch/res/values/strings.xml
android_res/com/facebook/transliteration/res/values/strings.xml
android_res/com/facebook/bookmark/res/values/strings.xml
android_res/com/facebook/orca/res/values/strings.xml
android_res/com/facebook/workshared/userstatus/donotdisturb/res/values/strings.xml
android_res/com/facebook/widget/tokenizedtypeahead/res/values/strings.xml
android_res/com/facebook/widget/refreshableview/res/values/strings.xml
android_res/com/facebook/rtc/common/res/values/strings.xml
android_res/com/facebook/payments/ui/res/values/strings.xml
android_res/com/facebook/fig/mediagrid/res/values/strings.xml
android_res/com/facebook/pages/app/clicktomessengerads/messagesuggestion/ui/res/values/strings.xml
android_res/com/facebook/messagingneue/res/values/strings.xml
android_res/com/facebook/messaging/widget/toolbar/res/values/strings.xml
android_res/com/facebook/messaging/users/username/res/values/strings.xml
android_res/com/facebook/messaging/tincan/messenger/res/values/strings.xml
android_res/com/facebook/messaging/threadview/quickpromotion/res/values/strings.xml
android_res/com/facebook/messaging/threadview/message/res/values/strings.xml
android_res/com/facebook/messaging/threadview/games/res/values/strings.xml
android_res/com/facebook/messaging/xma/res/values/strings.xml
android_res/com/facebook/messaging/threadview/admin/res/values/strings.xml
android_res/com/facebook/messaging/reactions/res/values/strings.xml
android_res/com/facebook/messaging/threadview/attachment/video/res/values/strings.xml
android_res/com/facebook/messaging/settings/res/values/strings.xml
android_res/com/facebook/messaging/searchnullstate/res/values/strings.xml
android_res/com/facebook/messenger/login/res/values/strings.xml
android_res/com/facebook/messaging/promotion/res/values/strings.xml
android_res/com/facebook/messaging/presence/res/values/strings.xml
android_res/com/facebook/messaging/polling/adminmessage/res/values/strings.xml
android_res/com/facebook/messaging/photos/view/res/values/strings.xml
android_res/com/facebook/messaging/omnipicker/res/values/strings.xml
android_res/com/facebook/messaging/livelocation/shared/res/values/strings.xml
android_res/com/facebook/messaging/permissions/res/values/strings.xml
android_res/com/facebook/messaging/invites/res/values/strings.xml
android_res/com/facebook/messaging/groups/threadactions/res/values/strings.xml
android_res/com/facebook/messaging/groups/nullstate/res/values/strings.xml
android_res/com/facebook/messaging/groups/admin/res/values/strings.xml
android_res/com/facebook/messaging/extensions/res/values/strings.xml
android_res/com/facebook/messaging/ephemeral/res/values/strings.xml
android_res/com/facebook/messaging/emoji/res/values/strings.xml
android_res/com/facebook/messaging/customthreads/res/values/strings.xml
android_res/com/facebook/messaging/contacts/picker/res/values/strings.xml
android_res/com/facebook/messaging/search/picker/res/values/strings.xml
android_res/com/facebook/contacts/res/values/strings.xml
android_res/com/facebook/messaging/connectivity/res/values/strings.xml

allow-large-files
ignore-conflict-markers
opt-out-review
drop-conflicts

Differential Revision: D72564442

fbshipit-source-id: 4c49fc8f3798c3442b7ac81cbeda3b6d1406cb80
2025-04-07 06:13:47 -07:00
Mateo Guzmán 183b0d49fd Make ReactJsExceptionHandler internal (#50503)
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.interfaces.exceptionmanager.ReactJsExceptionHandler).

## Changelog:

[INTERNAL] - Make com.facebook.react.interfaces.exceptionmanager.ReactJsExceptionHandler internal

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

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

Reviewed By: javache

Differential Revision: D72549787

Pulled By: cortinico

fbshipit-source-id: f24bcab2412a58b59f249b8bef03df75ebbd16a4
2025-04-07 06:13:40 -07:00
Mateo Guzmán 9d7aac35a5 Make ReactIgnorableMountingException internal (#50504)
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.bridge.ReactIgnorableMountingException).

## Changelog:

[INTERNAL] - Make com.facebook.react.bridge.ReactIgnorableMountingException internal

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

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

Reviewed By: cortinico

Differential Revision: D72549687

Pulled By: javache

fbshipit-source-id: 33e1df926ab92711d1b98a50295dac3263b04f56
2025-04-07 05:55:20 -07:00
Nicola Corti 82a40b6f5f Rename assertWhenLegacyArchitectureMinifyingEnabled to assertLegacyArchitecture (#50512)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50512

Reland of D72389708

This renames the method to be more aligned to the fact that we're using this entrypoint both for internal
and for OSS users.

I've also added a `assertLegacyArchitectureOnlyWhenMinifyEnabled` that will run only for internal builds.

Changelog:
[Internal] [Changed] -

Reviewed By: javache

Differential Revision: D72552028

fbshipit-source-id: 2594df9ef8056f9931960117770c4b7cddd4e922
2025-04-07 05:38:41 -07:00
Nicola Corti 28ed958af6 Move ReactMarker to reactnativejni_common as it's used in NewArch also (#50511)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50511

Reland of D72384347

ReactMarker is currently loading the whole `reactnativejni` which we should not be loading in NewArch.
This is resulting in a warning fired for all the NewArch users with `legacyWarningsEnabled`.

I'm cleaning this up by moving it inside `reactnativejni_common`.

Changelog:
[Internal] [Changed] - Move ReactMarker to `reactnativejni_common` as it's used in NewArch also

Reviewed By: javache

Differential Revision: D72552075

fbshipit-source-id: bbc75aada1564f6f54ea70a8dd4f5145d4a3ffaa
2025-04-07 05:38:41 -07:00
Rubén Norte bcfe8f2e76 Remove unnecessary Event and CustomEvent polyfills (#50495)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50495

Changelog: [internal]

This migrates the last remaining usages of these polyfills to the built-in classes.

Reviewed By: yungsters

Differential Revision: D67828652

fbshipit-source-id: 5ff039d7413aed49d882ff03e722531cdd195488
2025-04-07 05:15:37 -07:00
Rubén Norte 0173839f42 Remove dependency on event-target-shim (#50494)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50494

Changelog: [internal]

Removes the dependency on the `event-target-shim` npm package now that we're using a custom implementation within `react-native`.

Reviewed By: yungsters

Differential Revision: D67828636

fbshipit-source-id: 8727f8caa2bd4badd7162eb7b993dcc768e74b85
2025-04-07 05:15:37 -07:00
Rubén Norte d33ff5353c Ship refactor of XHR, FileReader and WebSocket to use the built-in EventTarget implementation (#50485)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50485

Changelog: [internal]

This cleans up the experiment to test the new implementations of `XMLHttpRequest`, `FileReader` and `WebSocket` using the built-in `EventTarget` definition.

This effectively replaces the legacy implementations with the ones using the built-in `EventTarget` class in stable.

Reviewed By: yungsters

Differential Revision: D68625225

fbshipit-source-id: 7ccefe5d8612baca283146cdbca7f7f1d51b4ffa
2025-04-07 05:15:37 -07:00
Mateo Guzmán cbf11699d9 Make ViewGroupClickEvent internal (#50505)
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.view.ViewGroupClickEvent).

## Changelog:

[INTERNAL] - Make com.facebook.react.views.view.ViewGroupClickEvent internal

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

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

Reviewed By: cortinico

Differential Revision: D72549704

Pulled By: javache

fbshipit-source-id: 8c90192bc088ab52e709e87870eb1c2353cf1e85
2025-04-07 03:37:19 -07:00
Nicola Corti 22baacd6fb Correctly update the warning message for OSS vs Internal (#50486)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50486

Those 2 messages are inverted. Let's fix it.

Changelog:
[Internal] [Changed] -

Reviewed By: cipolleschi

Differential Revision: D72451355

fbshipit-source-id: 6aa0636d2cfaf7bf017c376d4d984afb351e1cd8
2025-04-07 03:09:59 -07:00
Mateo Guzmán 786c6e8043 Make FontMetricsUtil internal (#50506)
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.FontMetricsUtil).

## Changelog:

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

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

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

Reviewed By: javache

Differential Revision: D72549765

Pulled By: cortinico

fbshipit-source-id: b7e29dfb716ce7c93620b14adec1425345b13ac1
2025-04-07 02:59:30 -07:00
Mateo Guzmán ad3308928d Make ViewAtIndex internal (#50501)
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.ViewAtIndex).

## Changelog:

[INTERNAL] - Make com.facebook.react.uimanager.ViewAtIndex internal

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

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

Reviewed By: javache

Differential Revision: D72549751

Pulled By: cortinico

fbshipit-source-id: 8fec0e0b0516575ea5a815cfd2786c61a8c62d37
2025-04-07 02:58:41 -07:00
Riccardo Cipolleschi c0d96a5bc6 Avoid crashes when RCTInstance is ready but modules are loaded (#50499)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50499

We enocuntered an issue internally where the `RCTInstance` was ready before the modules were done registering statically.
When this happens, it can occur that we iterate over an array that is going to be modified.

With this change, we are introducing several changes:
- By default the logs are not outputted, so the array is not going to be populated
- we are making a copy of the array before we start iterating, so even if the original reference is updated, the iteration is safe
- we are not emitting logs if in release mode. This will protect production from this issue. Also, these warns are not going to be useful in production anyway.

## Changelog:
[Internal] - fix crash when RCTInstance is ready while modules are initialized

## Facebook:
This fixes T220205371

Reviewed By: Abbondanzo

Differential Revision: D72512518

fbshipit-source-id: 32e561111d034455a6a778d05af4a96602b74bfb
2025-04-06 02:23:30 -07:00
David Vacca f0ad394464 Unmark ReactMethod as LegacyArchitecture
Summary:
ReactMethod will remain to be supported in the New Architecture, we are unmarking it

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D72491698

fbshipit-source-id: 656b36711dcdfc0a776ac05b1f7f431d6416f9dd
2025-04-04 20:13:26 -07:00
generatedunixname89002005287564 a20b02efbf Fix CQS signal. Id] 32912214 -- modernize-use-nullptr in xplat/js/react-native-github/packages/react-native/ReactCommon/logger
Reviewed By: dtolnay

Differential Revision: D72449910

fbshipit-source-id: d246d83f19b374c5fe1260ce8bbe974ccd7ffa15
2025-04-04 18:24:46 -07:00
Tim Yung 45a9279c2e Fantom: Make Object Arguments $ReadOnly
Summary:
Changing these object arguments to `$ReadOnly` permits passing in values that are `$ReadOnly` (e.g. `payload` argument to `enqueueNativeEvent`).

Changelog:
[Internal]

Reviewed By: lyahdav

Differential Revision: D72474879

fbshipit-source-id: 27341131724f4f572b78563975774a5b20dee8f8
2025-04-04 16:15:42 -07:00
Thanich Juthapisuth 512e680d72 Revert D72384347: Move ReactMarker to reactnativejni_common as it's used in NewArch also
Differential Revision:
D72384347

Original commit changeset: 83965c3e4eb7

Original Phabricator Diff: D72384347

fbshipit-source-id: 47cfe95479ce749ebb8e102d147bd5da4fa26e31
2025-04-04 14:22:56 -07:00
Thanich Juthapisuth 91c6cf2aed Revert D72389708: Rename assertWhenLegacyArchitectureMinifyingEnabled to assertLegacyArchitecture
Differential Revision:
D72389708

Original commit changeset: 23830df2f71c

Original Phabricator Diff: D72389708

fbshipit-source-id: 3dd074102cf75c03fa11ad5daf8ddc2f748e7879
2025-04-04 14:22:56 -07:00
Pieter De Baets a5a71f115f Fix leaked ParagraphState when recycling (#50489)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50489

ParagraphState is shared between ParagraphTextView and ParagraphComponentView, but we only need one copy. We were forgetting to clear this on ParagraphTextView when recyling.

Changelog: [iOS][Fixed] ParagraphState is correctly deallocated when recycling Text

Reviewed By: cipolleschi

Differential Revision: D72454038

fbshipit-source-id: 43afa4eaea183cc66b64d16870c1403debff985a
2025-04-04 14:14:31 -07:00
Ruslan Lesiutin 971fb6453c Disallow copying RuntimeSamplingProfile and Sample
Summary:
# Changelog:  [Internal]

We should avoid allocating multiple of these, since they can get really big.

`RuntimeSamplingProfile` may contain up to 10k of `Sample` for every second of sampling. Every `Sample` may contain up to 500 of call frames, each of which may have a copy of strings like `functionName` and `url`.

> NOTE: The actual logic for deduplicating strings and not allocating too many of them is not part of this diff and will be published separately. Even with deduplication, there is a reason to avoid copying the profile.

Reviewed By: javache

Differential Revision: D72254364

fbshipit-source-id: fa7907fb5cabbd2ac99d3e4e05a93bcb07f7f7c7
2025-04-04 14:06:40 -07:00
Ruslan Lesiutin 45c678b36f Remove trailing zeroes from trace event ids
Summary:
# Changelog: [Internal]

This was changed in D70402439.

Since these hexadecimal numbers are serialized as strings, we don't need to includes empty bits, this could save us few kilobytes of the trace in json format.

Also, this is the default for Chromium, so we shouldn't probably diverge.

`0x00000001` -> `0x1`

Reviewed By: robhogan

Differential Revision: D72459307

fbshipit-source-id: 5cc4ccbe25cdc16946e745184ad17dfcd51c6449
2025-04-04 14:06:40 -07:00
Ruslan Lesiutin cbd335569a Don't copy TraceEvent before serialization
Summary:
# Changelog: [Internal]

`"ProfileChunk"` trace events can actually be big, depending on the number of the unique nodes reported in a single chunk.

We should avoid copying it for memory and performance reasons.

Reviewed By: robhogan

Differential Revision: D72459306

fbshipit-source-id: db3583c6c6397bb6ee8a0eb33a06a48bc10e82b8
2025-04-04 14:06:40 -07:00
Nicola Corti 2dab453f34 Rename assertWhenLegacyArchitectureMinifyingEnabled to assertLegacyArchitecture
Summary:
This renames the method to be more aligned to the fact that we're using this entrypoint both for internal
and for OSS users.

I've also added a `assertLegacyArchitectureOnlyWhenMinifyEnabled` that will run only for internal builds.

Changelog:
[Internal] [Changed] -

Reviewed By: mdvacca

Differential Revision: D72389708

fbshipit-source-id: 23830df2f71cc816c7ca178b735a930e794efe47
2025-04-04 12:16:44 -07:00
Nicola Corti 87e78ec75d Move ReactMarker to reactnativejni_common as it's used in NewArch also (#50471)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50471

ReactMarker is currently loading the whole `reactnativejni` which we should not be loading in NewArch.
This is resulting in a warning fired for all the NewArch users with `legacyWarningsEnabled`.

I'm cleaning this up by moving it inside `reactnativejni_common`.

Changelog:
[Internal] [Changed] - Move ReactMarker to `reactnativejni_common` as it's used in NewArch also

Reviewed By: javache

Differential Revision: D72384347

fbshipit-source-id: 83965c3e4eb7847184856485d1cc1c478b2888d5
2025-04-04 12:16:44 -07:00
Liron Yahdav 280caaecfd Remove unused feature flag related to TurboModule deadlock (#50479)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50479

In D72273163 the only reference to RN feature flag `throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS` was removed, so this diff removes the feature flag. Also it removes remnants of D69922771 which are no longer needed.

Changelog: [Internal]

Reviewed By: shwanton

Differential Revision: D72427164

fbshipit-source-id: 398583ac14910a396839140c06011efa084fe04d
2025-04-04 11:33:27 -07:00
Nicola Corti f0dbb2d969 Unbreak ci due to missing import in Android's helloworld app. (#50497)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50497

I forgot to add this import inside helloworld's MainApplication.

Changelog:
[Internal] [Changed] -

Reviewed By: cipolleschi

Differential Revision: D72464030

fbshipit-source-id: 8cb0982c8ec922bf46c0392a1ca2aed3d1bd9202
2025-04-04 11:23:28 -07:00