Commit Graph
36004 Commits
Author SHA1 Message Date
Nicola CortiandFacebook GitHub Bot 2da062f9d1 Enable INTERPROCEDURAL_OPTIMIZATION for libappmodules.so in OSS (#50580)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50580

This follow ups to us enabling INTERPROCEDURAL_OPTIMIZATION to libreactnative.so and enables
INTERPROCEDURAL_OPTIMIZATION for the app module as well.

Changelog:
[Android] [Changed] - Enable INTERPROCEDURAL_OPTIMIZATION for libappmodules.so in OSS

Reviewed By: rshest

Differential Revision: D72696658

fbshipit-source-id: ec07c7df9a639b5c3df8923ec384db90a78463e9
2025-04-09 03:22:00 -07:00
Jakub PiaseckiandFacebook GitHub Bot 423d4fd7dc Remove Animated nodes from StyleSheet types (#50452)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50452

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D72308559

fbshipit-source-id: 0d8a505da6c80a9014667183a19585dd89f1db43
2025-04-09 02:16:09 -07:00
Nicola CortiandFacebook GitHub Bot 2d7b59c669 Make class internal - com.facebook.react.animated.AnimatedNode
Summary:
This diff makes the following file internal - AnimatedNode
as part of our ongoing effort of reducing the API surface.

This class has no meaningful usages in OSS so we can safely make it internaly:
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.animated.AnimatedNode

Changelog:
[Internal] [Changed] -

Reviewed By: arushikesarwani94

Differential Revision: D72647209

fbshipit-source-id: 175406ed007abecaae0fa46aa8bdc8cfc938c3b3
2025-04-09 00:56:52 -07:00
Nicola CortiandFacebook GitHub Bot 12dbfaf958 Make class internal - Anything systrace related (#50569)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50569

This diff makes all the *Systrace files internal.
as part of our ongoing effort of reducing the API surface.

Changelog:
[Internal] [Changed] -

Reviewed By: mdvacca

Differential Revision: D72646992

fbshipit-source-id: d085da9cf841fc2e8a026b8d09d8a17550505c7a
2025-04-09 00:56:52 -07:00
Nicola CortiandFacebook GitHub Bot f42dae1267 Make class internal - Package com.facebook.react.views.text.internal.span (#50563)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50563

This diff makes all the classes inside `com.facebook.react.views.text.internal.span` internal.

Those classes are already inside an `.internal` package. By making them `internal` with the Kotlin keyword
we're making harder for them to be accidentally referenced outside React Native.

as part of our ongoing effort of reducing the API surface.
Changelog:
[Internal] [Changed] - com.facebook.react.views.text.internal.span is now internal

Reviewed By: mdvacca

Differential Revision: D72644962

fbshipit-source-id: dbb5a45e6121cb49509469d1d40c3b278cc62368
2025-04-09 00:56:52 -07:00
Peter AbbondanzoandFacebook GitHub Bot 27a68616c6 Throw original exception from FabricUIManager
Summary: Changelog: [Internal] Throw original exception in FabricUIManager

Reviewed By: alanleedev

Differential Revision: D72588073

fbshipit-source-id: 5b708b93030b15f7d8d2a9ccc70e25ebdcd42b82
2025-04-08 19:10:59 -07:00
David VaccaandFacebook GitHub Bot 672e04371b Mark NativeModuleRegistry as LegacyArchitecture
Summary:
Mark NativeModuleRegistry as LegacyArchitecture

changelog: [internal] internal

Reviewed By: RSNara

Differential Revision: D72673777

fbshipit-source-id: 46c375304a4ff4e3657cd9fcd9c8051f63295be7
2025-04-08 19:00:09 -07:00
Zeya PengandFacebook GitHub Bot de9b4f3642 Convert NativeAnimatedModule to kotlin (#50576)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50576

## Changelog:

[Android] [Changed] - Convert NativeAnimatedModule to kotlin

Reviewed By: javache

Differential Revision: D72648251

fbshipit-source-id: 0bdaca024707564b2ebda607b6fe619ff5a6048f
2025-04-08 17:52:07 -07:00
Nicola CortiandFacebook GitHub Bot 1408c69fd8 Correctly deprecate ReactContextBaseJavaModule.getCurrentActivity() method
Summary:
Users should not be using `getCurrentActivity()` method on `ReactContextBaseJavaModule`.
Instead they should use `getReactApplicationContext.getCurrentActivity()`

This correctly deprecates this method for 0.80.x

Changelog:
[Android] [Deprecated] - Correctly deprecate ReactContextBaseJavaModule.getCurrentActivity() method

Reviewed By: mdvacca

Differential Revision: D72449062

fbshipit-source-id: f74bf94980447497e7e9049ede2b44c1d1f0d48b
2025-04-08 17:34:59 -07:00
Nicola CortiandFacebook GitHub Bot f107c28d2f Enable INTERPROCEDURAL_OPTIMIZATION for React Native (#50529)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50529

This enables INTERPROCEDURAL_OPTIMIZATION for the CMake build of React Native.

Changelog:
[Android] [Changed] - Enable INTERPROCEDURAL_OPTIMIZATION for React Native

Reviewed By: NickGerleman

Differential Revision: D72574119

fbshipit-source-id: e414a61fee13e61f15044d93f5ad28f26aba4ed5
2025-04-08 16:41:36 -07:00
Nicola CortiandFacebook GitHub Bot f866a8d800 Migrate to Kotlin - BundleDownloader (#50557)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50557

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

Reviewed By: javache

Differential Revision: D72627995

fbshipit-source-id: 9d65473c4d4a0962f78b0f71fc24530415a0e908
2025-04-08 16:37:46 -07:00
Nicola CortiandFacebook GitHub Bot 655a86c348 Migrate to Kotlin - StackTraceHelper (#50560)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50560

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

I've moved the method `convertProcessedError` to `internal` because it was already using a parameter of type `ProcessedError` which is itself internal.

Changelog:
[Internal] [Changed] - StackTraceHelper to Kotlin

Reviewed By: rshest

Differential Revision: D72569103

fbshipit-source-id: 8c544b83deda82c7a3d1a04d8cd0c9e12c9b6d46
2025-04-08 16:37:46 -07:00
Zeya PengandFacebook GitHub Bot 744a0f8385 Move rncxx scheduler to oss (#50535)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50535

## Changelog:

[General] [Added] - Move rncxx scheduler to oss

Reviewed By: rshest

Differential Revision: D72588228

fbshipit-source-id: 428c60e20351b9fed49fcbdbd617b5b5940b8a2c
2025-04-08 16:10:52 -07:00
David VaccaandFacebook GitHub Bot 79389191da Remove usage of getShadowNodeClass() on new architecture
Summary:
This diff removes the usage of getShadowNodeClass() on apps that are purely running on the new architecture.

The implications of this change are:
- all shadow node classes will be stripped-out by proguard
- props exposed in shadow Nodes won't be included in the native view configs, this is fine becuase all core components are already using static view configs, props included in LayoutShadow node are covered by: BaseViewConfig.android.js

changelog: [internal] internal

Reviewed By: javache, cortinico, rshest

Differential Revision: D72602551

fbshipit-source-id: caada701f80253830df0085fdbbac47a2aa6d71b
2025-04-08 15:40:47 -07:00
David VaccaandFacebook GitHub Bot b0953360ad Introduce ReactNativeFeatureFlags.disableShadowNodeOnNewArchitectureAndroid()
Summary:
In this diff I'm introducing the ReactNativeFeatureFlags.disableShadowNodeOnNewArchitectureAndroid() feature flag, this will be used to control the usage of shadow nodes in apps that are purely running on the new architecture.

The default value for this feature flag is true because we are assuming this is the right value long term (this is just a toggle)

changelog: [internal] internal

Reviewed By: alanleedev

Differential Revision: D72602553

fbshipit-source-id: 3eb1a151e74c1728374a1d37b4151a0928801de5
2025-04-08 15:40:47 -07:00
Nicola CortiandFacebook GitHub Bot ee7e6e2b22 Make class internal - package com.facebook.react.internal (#50566)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50566

This diff makes the following file internal - package com.facebook.react.internal
as part of our ongoing effort of reducing the API surface.
Changelog:
[Internal] [Changed] - com.facebook.react.internal pakcage is now internal

Reviewed By: mdvacca

Differential Revision: D72645991

fbshipit-source-id: 406c922b06ad883e00c63116e8efccd29e088ced
2025-04-08 15:37:51 -07:00
Zeya PengandFacebook GitHub Bot 196031352e remove synchronouslyUpdateViewOnUIThread (ILcom/facebook/react/bridge/ReadableNativeMap;) (#50578)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50578

## Changelog:

[Android] [Internal] - remove synchronouslyUpdateViewOnUIThread (ILcom/facebook/react/bridge/ReadableNativeMap;)

Differential Revision: D72672210

fbshipit-source-id: 7ac4360febf9aa30bcc7a2c61c3da4efd37d1c10
2025-04-08 14:55:53 -07:00
Nicola CortiandFacebook GitHub Bot 41f6f6c448 Remove unused ReactInvalidPropertyException (#50567)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50567

This exception is unused, let's remove it.

Changelog:
[Internal] [Changed] -

Reviewed By: mdvacca

Differential Revision: D72646262

fbshipit-source-id: 728a81633d8c8f7c183b16cfd3a8c4ba68690c42
2025-04-08 14:01:20 -07:00
Nicola CortiandFacebook GitHub Bot 216b297ab8 Make class internal - BridgelessCatalystInstance (#50564)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50564

This diff makes the following file internal - BridgelessCatalystInstance
as part of our ongoing effort of reducing the API surface.

I've verified that there are no meaningful OSS usage of this class:
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.runtime.BridgelessCatalystInstance

Changelog:
[Internal] [Changed] - BridgelessCatalystInstance to internal

Reviewed By: mdvacca

Differential Revision: D72644963

fbshipit-source-id: 7eead85753ce65d6933fcfdf55f7dbb50a34af0b
2025-04-08 14:00:55 -07:00
Nicola CortiandFacebook GitHub Bot 788213f91a Make class internal - ReactRawText* (#50570)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50570

This diff makes the following file internal - ReactRawTextShadowNode and ReactRawTextManager
as part of our ongoing effort of reducing the API surface.

The only meaningful user of this API is this library:
https://github.com/iyegoroff/react-native-text-gradient

Which is umaintained (last supported version is RN 0.59) so I'm not considering this breaking.

Changelog:
[Android] [Changed] - Make ReactRawTextManager internal. We verified no popular libraries are impacted by this change

Reviewed By: mdvacca

Differential Revision: D72647702

fbshipit-source-id: 59a3646fdbc8f11907b4cf5056ff88c6dcec1cf8
2025-04-08 14:00:07 -07:00
Chang HuaandFacebook GitHub Bot aa05943610 Revert D71979601: fix nullsafe FIXMEs for FabicUIManager.java and mark nullsafe
Differential Revision:
D71979601

Original commit changeset: 599d87f0783a

Original Phabricator Diff: D71979601

fbshipit-source-id: e1f88e18bb3cf0d99de00b750c399eb0a4221e13
2025-04-08 13:47:49 -07:00
Pieter De BaetsandFacebook GitHub Bot ea2fbd453f fix nullsafe FIXMEs for FabicUIManager.java and mark nullsafe (#50365)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50365

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

Reviewed By: GijsWeterings

Differential Revision: D71979601

fbshipit-source-id: 599d87f0783a566c837aa70975a62f5f908a2294
2025-04-08 12:56:38 -07:00
Pieter De BaetsandFacebook GitHub Bot dc5b8405ac Apply Nullsafe FIXMEs for xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java (#50371)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50371

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

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D71979591

fbshipit-source-id: 77369affbe4fd7411f149a4a2de869b48a1faa1a
2025-04-08 12:56:38 -07:00
riteshshukla04andFacebook GitHub Bot 1033584c20 Migrate UiThreadUtil to Kotlin (#50536)
Summary:
This PR aims to migrate UiThreadUtil  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 UiThreadUtil to Kotlin

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

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

Reviewed By: cortinico

Differential Revision: D72602041

Pulled By: arushikesarwani94

fbshipit-source-id: 9f45a139805819a21039eb640a0bd1583a3acde9
2025-04-08 12:11:32 -07:00
Zeya PengandFacebook GitHub Bot 7b01943337 Enable direct manipulation for c++ NativeAnimated for Android (#50568)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50568

## Changelog:

[Android] [Internal] - Enable direct manipulation for c++ NativeAnimated for Android

Reviewed By: javache

Differential Revision: D71668422

fbshipit-source-id: 4be4472378b43ec09eeb3f73d449991885b3f2a2
2025-04-08 11:44:15 -07:00
Nicola CortiandFacebook GitHub Bot 9ad964b054 Remove unused @KeepGettersAndSetters annotation (#50565)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50565

This annotation is unused. It was referenced in the past with Buck1 OSS but now we can safely remove it.

Changelog:
[Internal] [Changed] -

Reviewed By: fabriziocucci

Differential Revision: D72645219

fbshipit-source-id: 0327fa562276193ad9f48dc81ea7a9fa0da19eee
2025-04-08 10:17:51 -07:00
Dawid MałeckiandFacebook GitHub Bot 6fc52b61bb Add ScrollViewBaseProps and small type changes to align Flow with TS (#50374)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50374

This diff breaks down ScrollView props into ScrollViewBaseProps to generate more readable TS types, re-exports AnimatedComponent and sets the default SectionList Item type to `any`.

Changelog:
[Internal]

Reviewed By: huntie

Differential Revision: D72061941

fbshipit-source-id: 439fcdb1540288d6e610cd535b1fed82243c3b7c
2025-04-08 10:05:27 -07:00
Andrew DatsenkoandFacebook GitHub Bot 522e8e74d5 move rncxx nativemodule (#50561)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50561

Changelog: [Internal]

Reviewed By: zeyap

Differential Revision: D72573989

fbshipit-source-id: 92c99fefa68d8fdf0ca88d1e3a27a76eb5feca21
2025-04-08 09:55:01 -07:00
Ruslan LesiutinandFacebook GitHub Bot af5074509e Refactor RuntimeSamplingProfileTraceEventSerializer: use smart pointers, split code, add tests (#50531)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50531

# Changelog: [Internal]

This should not have any functional changes, mostly refactoring the previous code, splitting it into smaller methods, better documentation and added tests.

Main changes are:
1. We are going to use smart pointers for `ProfileTreeNode`
2. Split single static method into multiple smaller methods of one class, less cognitive load and smaller context window

Reviewed By: robhogan

Differential Revision: D72401690

fbshipit-source-id: a1eed5501349dcd811661d91f3bf126a0daaacf2
2025-04-08 09:40:50 -07:00
Peter AbbondanzoandFacebook GitHub Bot 6609ba98e5 Resolve sendIntent call, reject on exception thrown (#50538)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50538

Promises created from `Linking.sendIntent` calls never resolve, leaving them dangling. This change fixes the issue in two spots:
1. By calling promise.resolve directly after the startActivity call
1. By wrapping startActivity in a try/catch so any exceptions thrown are forwarded to the promise as a rejection

Changelog: [Android][Fixed] - Ensure Linking.sendIntent promises resolve or reject

Reviewed By: NickGerleman

Differential Revision: D72606918

fbshipit-source-id: cd437bf65bb631bc04f99b4d2e3d637f7e98b25e
2025-04-08 08:54:33 -07:00
Nicola CortiandFacebook GitHub Bot a6f1c71dc5 Remove unused JSDebuggerWebSocketClient (#50556)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50556

This class is effectively unused, I'm removing it.
It was package private also so no one in OSS could easily use it.

Changelog:
[Internal] [Changed] - Remove unused JSDebuggerWebSocketClient

Reviewed By: GijsWeterings

Differential Revision: D72567055

fbshipit-source-id: aa2fa62c05488d1560c0acfa0b21e2d934c34be2
2025-04-08 08:07:42 -07:00
Jakub PiaseckiandFacebook GitHub Bot c2fbf040f8 Add feature flag enableFontScaleChangesUpdatingLayout (#50515)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50515

Changelog: [Internal]

Adds `enableFontScaleChangesUpdatingLayout` feature flag

Reviewed By: NickGerleman

Differential Revision: D72558888

fbshipit-source-id: a55b3f99f39cf5626ef3d9d49475a32f6c9fa7fa
2025-04-08 07:58:20 -07:00
Gijs WeteringsandFacebook GitHub Bot 25b1883164 Fix xplat/endtoend/jest-e2e/apps/facebook_xplat/ReactNativeCoreE2E/__tests__/Border-transform-e2e.js E2E tests
Summary:
Looks like Jest E2E had significant issues with this test on both android and ios RNTester. I think it's because the view with the testID did not have any contents, which means the accessibility tools have trouble getting the proper context from it. By changing it to a nested view (with some padding to better inspect the borders, since that's what's important in this test) I think we have a better, more stable test case this way

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D72571911

fbshipit-source-id: a85266cf4a1696fdaedcc97ed2a7a05f086d35bd
2025-04-08 07:51:09 -07:00
Fabrizio CucciandFacebook GitHub Bot 453c5e8f48 Fix verifyPublishedTemplate after failure for 0.79.0 (#50554)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50554

This should fix the issue found during the 0.79.0 release.

https://github.com/facebook/react-native/actions/runs/14329766551/job/40166165007

Changelog: [Internal]

Reviewed By: cortinico, cipolleschi

Differential Revision: D72637751

fbshipit-source-id: 1b3ccbab162f484c96e5ff768766848f82acd818
2025-04-08 06:35:02 -07:00
Fabrizio CucciandFacebook GitHub Bot bd2a449abc Add changelog entry for 0.79.0 (#50552)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50552

As per title.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D72631598

fbshipit-source-id: 356984440193fee20a68eb67ae856af4e7c4cb3f
2025-04-08 06:01:08 -07:00
Rubén NorteandFacebook GitHub Bot 710da788cd Create basic documentation for Event Loop (#50550)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50550

Changelog: [internal]

This creates the basic documentation for the Event Loop, adapting some of the content of the original RFC: https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0744-well-defined-event-loop.md

bypass-github-export-checks

Reviewed By: lenaic

Differential Revision: D72632590

fbshipit-source-id: fbe30334a567dc642a4b817abb0c535b633277e7
2025-04-08 05:51:33 -07:00
Pieter De BaetsandFacebook GitHub Bot ee85957fd6 Fix SurfaceHandler.setProps is nullable (#50549)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50549

As part of D72558674, I made SurfaceHandlerBinding.setProps nullable, to align with D71979601 - but I didn't realize this wasn't properly handled on the JNI side.

Changelog: [Android][FIxed] Fix crash when passing null initialProps

Reviewed By: lenaic

Differential Revision: D72632625

fbshipit-source-id: 82db1791ceb7c96248b6eea2eb1e6395edc308a0
2025-04-08 04:27:48 -07:00
Rubén NorteandFacebook GitHub Bot 03e0dfa074 Create basic documentation for IntersectionObserver (#50528)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50528

Changelog: [internal]

This adds basic documentation for the IntersectionObserver Web API implementation in React Native.

Reviewed By: lenaic

Differential Revision: D72573107

fbshipit-source-id: 14ed318ae3691550bbe14a6da1184013ce0c60a9
2025-04-08 03:42:09 -07:00
Rubén NorteandFacebook GitHub Bot dfd45cab80 Define initial docs structure (#50527)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50527

Changelog: [internal]

This just defines an outline for the expected docs to be added to RN.

Reviewed By: GijsWeterings

Differential Revision: D72573497

fbshipit-source-id: a8e1c2cc0c6b966656d1089cd33b547174ace873
2025-04-08 03:42:09 -07:00
Rubén NorteandFacebook GitHub Bot 20a74e6351 Rename DOCS.md as GUIDELINES.md (#50525)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50525

Changelog: [internal]

Just a rename of the file and moving relevant documentation to the README.

Reviewed By: GijsWeterings

Differential Revision: D72562795

fbshipit-source-id: d675037376a0345dd7d178cf5863f4093eb74542
2025-04-08 03:42:09 -07:00
Nicola CortiandFacebook GitHub Bot 5491be6fe6 Migrate to Kotlin - CxxInspectorPackagerConnection
Summary:
This diff migrates the following file to Kotlin - CxxInspectorPackagerConnection
as part of our ongoing effort of migrating the codebase to Kotlin

Changelog:
[Internal] [Changed] - CxxInspectorPackagerConnection to Kotlin

Reviewed By: rshest

Differential Revision: D72566596

fbshipit-source-id: 046e7549841f64d73fed56d8bc8d70f2d3ea63e8
2025-04-08 02:59:28 -07:00
Nicola CortiandFacebook GitHub Bot d12bcaac3b Migrate to Kotlin - MultipartStreamReader (#50519)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50519

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

Changelog:
[Internal] [Changed] - MultipartStreamReader to Kotlin

Reviewed By: rshest

Differential Revision: D72561124

fbshipit-source-id: d616bfc547ea6a773ebc1c45f97111ae7c7ec85a
2025-04-08 02:59:28 -07:00
Riccardo CipolleschiandFacebook GitHub Bot 890b8f7ea3 Automate the rotation of issue trage squad (#50526)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50526

This change wants to automate the rotation of the issue triaging squad on Discord.
This is taking us a few minutes every week to rotate the oncall.

This change can save us some time.

The configuration file format is supposed to be like this:
```
{
  "userMap": {
     "discord-username1": "discord-id1",
     "discord-username2": "discord-id2",
     "discord-username3": "discord-id3",
     "discord-username4": "discord-id4"
   },
  "schedule": {
    "date1": ["discord-username1", "discord-username2"],
    "date2": ["discord-username3", "discord-username4"],
  }
}
```

## Changelog
[Internal] - Automate the issue triage oncall rotation

Reviewed By: cortinico

Differential Revision: D72569435

fbshipit-source-id: 435c13350cf503e99302775674e78a20e328e68d
2025-04-08 02:43:44 -07:00
Nicola CortiandFacebook GitHub Bot c3c7f9300f Migrate to Kotlin - BridgeDevSupportManager (#50518)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50518

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

Changelog:
[Internal] [Changed] - BridgeDevSupportManager to Kotlin

Reviewed By: arushikesarwani94

Differential Revision: D72558373

fbshipit-source-id: 07a16dc479e967677b1aab8a6d4a4366994fd490
2025-04-08 01:25:16 -07:00
Nicola CortiandFacebook GitHub Bot 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 CortiandFacebook GitHub Bot 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 CortiandFacebook GitHub Bot 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 AbbondanzoandFacebook GitHub Bot 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 BaetsandFacebook GitHub Bot 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ánandFacebook GitHub Bot 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