Commit Graph
37303 Commits
Author SHA1 Message Date
Mateo Guzmán ac97177651 Migrate ShadowNodeRegistry to Kotlin (#50081)
Summary:
Migrate com.facebook.react.uimanager.ShadowNodeRegistry to Kotlin.

## Changelog:

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

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

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

Reviewed By: cortinico, rshest

Differential Revision: D71385038

Pulled By: javache

fbshipit-source-id: 155c9d5b60e3e4b4436424577c1868d60dfb4014
2025-03-18 04:33:24 -07:00
Mateo Guzmán d6ca25b0c1 Migrate UIManagerModuleConstants to Kotlin (#50045)
Summary:
Migrate com.facebook.react.uimanager.UIManagerModuleConstants to Kotlin.

## Changelog:

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

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

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

Reviewed By: cortinico

Differential Revision: D71307448

Pulled By: javache

fbshipit-source-id: 63b8e54a0020d68d127c07f605a91a0dda403975
2025-03-18 04:29:19 -07:00
Mateo Guzmán 00105b8054 Migrate OnLayoutEvent to Kotlin (#50082)
Summary:
Migrate com.facebook.react.uimanager.OnLayoutEvent to Kotlin.

## Changelog:

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

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

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

Reviewed By: cortinico

Differential Revision: D71385027

Pulled By: javache

fbshipit-source-id: 19985a494a68e63a2e3404ce2972c03161d61527
2025-03-18 04:22:48 -07:00
Fabrizio Cucci 2259db6d4b Add changelog entry for v0.79.0-rc.2 (#50084)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50084

As per title.

Reviewed By: cortinico

Differential Revision: D71375255

fbshipit-source-id: 6f346d94d7189314852bf9409919d879a05d5c95
2025-03-18 01:39:52 -07:00
Sam Zhou 796cc43ec4 Deploy 0.265.3 to xplat (#50083)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50083

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D71354083

fbshipit-source-id: 33fe2c11ad8cba88d3d206a15976510991d3663e
2025-03-17 19:58:21 -07:00
Tim Yung cf67427406 RN: Trim Leading Slash in DevServerHelper (#50077)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50077

Currently, `DevServerHelper` will fetch malformed URLs if the supplied `resourcePath` has a leading slash.

This diff adds a warning and automatically trims the leading slash when this happens.

Changelog:
[Android][Changed] - Leading slash supplied to `DevServerHelper.downloadBundleResourceFromUrlSync` will now be trimmed and emit a warning.

Reviewed By: robhogan

Differential Revision: D71333088

fbshipit-source-id: 636c9c6c6919d1e9d4a829ed5ae7253f829e549c
2025-03-17 15:58:45 -07:00
Vitali Zaidman f4d2d39ccb add dev middleware ws socket close reasons (#50071)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50071

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

Changelog:
[General][Internal] Send code and close reasons when we close the connection to any websockets from the dev middleware

This should improve the debuggability of our code.

Reviewed By: robhogan

Differential Revision: D71314509

fbshipit-source-id: 1d6fc57a8601bcea78e95a87d423c7c46c51e799
2025-03-17 10:41:47 -07:00
zhongwuzw a802be0224 iOS: Fixes Switch component incorrectly renders as toggled on even though value prop is hardcoded to false (#50049)
Summary:
Fixes https://github.com/facebook/react-native/issues/50026

## Changelog:

[IOS] [FIXED] - [Fabric] iOS: Fixes Switch component incorrectly renders as toggled on even though value prop is hardcoded to false

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

Test Plan: Repro please see https://github.com/facebook/react-native/issues/50026.

Reviewed By: javache

Differential Revision: D71307864

Pulled By: cipolleschi

fbshipit-source-id: 57238296842229cf2f23a3f44134f43e27b54609
2025-03-17 09:10:58 -07:00
Jakub Piasecki 5349b7c7b5 Update codegen to support namespaced types (#49950)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49950

Changelog: [GENERAL][CHANGED] - Changed `react-native-codegen` to support types under `CodegenTypes` namespace

## Summary

Currently, codegen relies on deep importing types under `react-native/Libraries/Types/CodegenTypes` to be properly type-checked. Updating codegen to support types under a single namespace will enable us to provide a single import from the package with access to all relevant types.

Reviewed By: huntie

Differential Revision: D70967809

fbshipit-source-id: 41241dcc51965f4243acd34e8b63475cb56ca67a
2025-03-17 07:26:17 -07:00
Dawid Małecki 321efa9448 Add lint rule preventing "Node" imports from react and migrate "Node" types to use React namespace in react-native (#50030)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50030

In Flow importing Node from react is equivalent importing ReactNode in Typescript. During translation Node is not translated to ReactNode but React.Node is translated to React.ReactNode. The easiest solution is to migrate all "Node" types to "React.Node"  so that the translation is correct. To make sure that everyone follow the lint rule is added that checks for Node imports from react.

Changelog:
[Internal] - Added lint rule preventing "Node" imports from react and migrated "Node" types to use React namespace in react-native

Reviewed By: javache, huntie

Differential Revision: D71189533

fbshipit-source-id: baea8feb46be3dc30b6e58bcefe140655ec0530a
2025-03-17 06:47:23 -07:00
Mateo Guzmán 8ae4bbc9a5 Migrate ReactAndroidHWInputDeviceHelper to Kotlin (#50046)
Summary:
Migrate com.facebook.react.ReactAndroidHWInputDeviceHelper to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.ReactAndroidHWInputDeviceHelper to Kotlin

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

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

Reviewed By: cortinico

Differential Revision: D71307536

Pulled By: javache

fbshipit-source-id: 60c458127b7a7e99d9c8bbb4715cab04452984da
2025-03-17 06:14:18 -07:00
Jakub Piasecki 850760ab61 Overwrite betterHitTest in RCTScrollViewComponentView instead of changing layout metrics of the container view (#50027)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50027

Changelog: [IOS][CHANGED] - Overwrite betterHitTest in RCTScrollViewComponentView instead of changing layout metrics of the container view

## Summary:

In https://github.com/facebook/react-native/pull/49855 I changed the container view of `RCTScrollViewComponentView` to be `RCTViewComponentView` instead of `UIView` so the touches would bass through its `betterHitTest` implementation (along with udating its layout metrics so the right path in the function is chosen). This resulted in some issues and the alternative approach of customizing the hit testing of the ScrollView itself might be a better approach.

This PR changes overwrites the `betterHitTest` method in a way that the `containerView` is entirely skipped during hit testing, instead forwarding the call to its children. This way, it won't prevent touches outside its frame from being delivered to children that extend out of the frame.

Reviewed By: cipolleschi

Differential Revision: D71187882

fbshipit-source-id: 9d0c79048f389b9bee37dea1e59226b54ddbe6f2
2025-03-17 05:03:25 -07:00
Mateo Guzmán d350b69608 Migrate MemoryPressureRouter to Kotlin (#50048)
Summary:
Migrate com.facebook.react.MemoryPressureRouter to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.MemoryPressureRouter to Kotlin

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

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

Reviewed By: cortinico

Differential Revision: D71307420

Pulled By: javache

fbshipit-source-id: f85efe0a0dc2828cdc128eed952d5298c546b116
2025-03-17 04:42:37 -07:00
Jakub Piasecki 77cdaa8733 Remove the workaround used for measuring multiline text on iOS (#50028)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50028

Changelog: [IOS][CHANGED] - Replace a workaround for measuring multiline text with `maximumNumberOfLines` on iOS with a proper solution

## Summary:

In https://github.com/facebook/react-native/pull/49549 support for `numberOfLines` was added to iOS `TextInput`. Along that, a workaround for measuring multiline text with limited number of lines was added to avoid an edge case coming from `NSTextContainer` measuring empty lines even if they are over the line limit.

This PR handles that case properly by counting and measuring individual lines to properly handle the offending edge case.

Reviewed By: NickGerleman

Differential Revision: D71111841

fbshipit-source-id: 6adb4450a13fcc845604622ea76576658a7537aa
2025-03-17 00:14:29 -07:00
Jorge Cabiedes Acosta fc7385c1ea Back out "Fix keyboard navigation for FlatList with removeClippedSubviews enabled"
Summary:
Original commit changeset: 1df7f90066df

Original Phabricator Diff: D69618406

Original diff caused unintended scrolling on some interactions that trigger focus searching

Changelog: [Internal]

Reviewed By: Abbondanzo

Differential Revision: D71217683

fbshipit-source-id: faa977ba0fddbf776868d6204d283555e169ba96
2025-03-14 15:15:01 -07:00
Sam Zhou bcd6b5fbd9 Deploy 0.265.2 to xplat (#50041)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50041

Changelog: [Internal]

Reviewed By: panagosg7

Differential Revision: D71200832

fbshipit-source-id: a2f267c5b2beabe527f958bfc4557bafc04d27de
2025-03-14 14:57:39 -07:00
David Vacca 7ce628277e Fix typos on featureflags/types.js (#50037)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50037

Fix typos on featureflags/types.js

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D71210260

fbshipit-source-id: 4a4eabf7ab6b73dca2bdcb42dcd36f2168b2f0e0
2025-03-14 12:46:24 -07:00
Nicola Corti c6be72a28d Cleanup changelog for a specific breaking change
Summary:
As discussed with huntie, this is not a breaking change.

Changelog:
[Internal] [Changed] -

bypass-github-export-checks

Reviewed By: huntie

Differential Revision: D71201094

fbshipit-source-id: 3a27e621ac7718e4574c7981e5d64802e36e74cd
2025-03-14 11:44:01 -07:00
Samuel Susla 9d19992088 add documentation for Fantom public APIs (#50034)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50034

changelog: [internal]

add documentation for Fantom public APIs.

Reviewed By: rubennorte

Differential Revision: D71197744

fbshipit-source-id: dc7f97732eb6437bc0a33dec9fe2430e38c49e66
2025-03-14 11:12:15 -07:00
Samuel Susla 0f45d332d4 move Fantom's API to regular functions (#50035)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50035

changelog: [internal]

to make it easier to write JSDocs, let's export functions directly from index.js instead of using proxy object.

Reviewed By: rubennorte

Differential Revision: D71200977

fbshipit-source-id: 0b53c0d3f73577c19253537b9e884459a4920643
2025-03-14 11:12:15 -07:00
Danny Su 827db0a88b Explicitly include hermes.h in RCTHostTests.mm (#50022)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50022

RCTHostTests.mm calls `makeHermesRuntime`, which is from `hermes.h`. Explicitly include the header so that RCTHostTests isn't getting it indirectly.

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D71146426

fbshipit-source-id: 5a5f5a466e1920797c4531773ca23f53eb1203b7
2025-03-14 11:08:25 -07:00
Mateo Guzmán 8eaa8f5adb Migrate JSPackagerClient to Kotlin (#50018)
Summary:
Migrate com.facebook.react.packagerconnection.JSPackagerClient to Kotlin.

## Changelog:

[INTERNAL] - Migrate com.facebook.react.packagerconnection.JSPackagerClient to Kotlin

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

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

Reviewed By: cortinico, rshest

Differential Revision: D71153096

Pulled By: arushikesarwani94

fbshipit-source-id: c9a15bb0d45c381b6897842a35dc5ccd712ee3a1
2025-03-14 10:49:29 -07:00
Vitali Zaidman c07334ca03 logging- log socket connection uptime in dev middleware (#50016)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50016

Changelog:
[General][Internal] logging- log socket connection uptime in dev middleware

Reviewed By: robhogan

Differential Revision: D71126344

fbshipit-source-id: 026bac9620ffb933d90db255b59fbf79bfed902b
2025-03-14 09:16:30 -07:00
Samuel Susla 6e6e2ea0ca add tests for Fantom.scheduleTask (#50033)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50033

changelog: [internal]

All public APIs should be covered with tests, this diff adds tests for Fantom.scheduleTask.

Reviewed By: rubennorte

Differential Revision: D71195921

fbshipit-source-id: dc7f0f889b9633b1e641dc8887fd506bc4753fe5
2025-03-14 09:03:12 -07:00
Zeya Peng 01eafef8b4 Add updateShadowTree to UIManager (#50020)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50020

Changelog: [Internal]
[General][Added] - Add `updateShadowTree` to UIManager

We have an internal method `updateShadowTree` that does similar thing as `ReanimatedModuleProxy::cloneShadowTreeWithNewProps` in reanimated (https://github.com/software-mansion/react-native-reanimated/blob/6516b2e4e12c0186cdf00e7f85b8fef820b97088/packages/react-native-reanimated/Common/cpp/reanimated/Fabric/ShadowTreeCloner.cpp#L67 it's logically similar but not copied over), with which we can efficiently commit props for multiple shadowNodes onto ShadowTree. it guarantees every ShadowNode that needs to be updated in this commit is only cloned once.

Reviewed By: javache

Differential Revision: D71129150

fbshipit-source-id: 92156114ec6c2694e1639cf2ecf153d243ade769
2025-03-14 08:42:23 -07:00
Riccardo Cipolleschi 54b22211dc Remove CGFLOAT_IS_DOUBLE macro (#50017)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50017

[From iOS 11 onwards and from MacOS 10.15](https://developer.apple.com/documentation/uikit/updating-your-app-from-32-bit-to-64-bit-architecture?language=objc), Apple only supports 64 bit architectures.

Hence, [`CGFloat` is now always mapped to a Double](https://developer.apple.com/documentation/corefoundation/cgfloat-swift.struct?language=objc#overview) and it is now safe to remove the macro.

## Changelog
[Internal] - Remove usages of `CGFLOAT_IS_DOUBLE`

Reviewed By: javache

Differential Revision: D71128583

fbshipit-source-id: bad805b941451ab84a68912f6d72149bfd7753ec
2025-03-14 06:46:00 -07:00
Vitali Zaidman a6e854efe9 extract heartbeat mechanics from inspector proxy to its own file (#49993)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49993

Changelog:
[General][Internal] extract heartbeat mechanics from inspector proxy to its own file

Reviewed By: robhogan

Differential Revision: D70970405

fbshipit-source-id: 22565853a426f3156c9eed0dfd22492dd8e31407
2025-03-14 06:38:16 -07:00
Ritesh Kumar Shukla 3dac90006f Implementing url Methods (#49955)
Summary:
Implemented Methods in URL which were not implemented yet
The methods output are identical to outputs of window.url .

Fixes https://github.com/facebook/react-native/issues/45030

## 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
-->
[General][Added] URL accessors for unimplemented Methods

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

Test Plan:
Code:-
<img width="558" alt="image" src="https://github.com/user-attachments/assets/a75e5429-0e03-4392-9fde-138c63b96ce5" />

Tested with Hermes
![image](https://github.com/user-attachments/assets/0075826a-df3a-4eae-a8f2-bec26be42fbf)

Tested with JSC
![image](https://github.com/user-attachments/assets/bcdbd430-5ee3-48a2-873f-7d823c9072f6)

Reviewed By: rshest

Differential Revision: D71113046

Pulled By: cortinico

fbshipit-source-id: 58093c61d2e7bb732d2f1af6b19508a100c86333
2025-03-14 05:22:48 -07:00
Dawid Małecki ef0de0e848 Move event-target-shim types to react-native package (#50013)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50013

The diff incorporates event-target-shim types that will be referenced by generated TS types to make sure that the public API does not change unexpectedly. The generated tsconfig contains path property which tells Typescript to use copied types instead of the downloaded event-target-shims types.

Changelog:
[internal] - Moved event-target-shim types to react-native package.

Reviewed By: huntie

Differential Revision: D71044389

fbshipit-source-id: b2837cc880a2161f7ff716470fd6eb4644d514e2
2025-03-14 01:54:14 -07:00
Pieter Vanderwerff 934c4465ae Deploy 0.265.0 to fbsource (#50025)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50025

Changelog: [Internal]

Reviewed By: gkz

Differential Revision: D71158296

fbshipit-source-id: db3e5678c97536517cdb0375843f2c882d5213f9
2025-03-13 17:18:45 -07:00
David Vacca 920f0f8fbe Avoid debug crash when SendAccessibilityEventMountItem fails due to view dissapearing (#50021)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50021

Avoid debug crash when SendAccessibilityEventMountItem fails due to view dissapearing

changelog: [internal] internal

Reviewed By: makovkastar

Differential Revision: D71135286

fbshipit-source-id: b75f048ac241d2001eade8f0dd19234bdd55178f
2025-03-13 13:28:08 -07:00
Rubén Norte 5d10012106 Add Fantom test for requestIdleCallback (#50019)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50019

Changelog: [internal]

This adds some basic tests for the API to show that it's working correctly.

This was in response to https://github.com/facebook/react-native/issues/49684. If there are use cases that we think are incorrectly handled, we should add them to this test.

Reviewed By: cortinico

Differential Revision: D71128943

fbshipit-source-id: 73876ba514c23ec8f829723500fa408512b90222
2025-03-13 12:09:12 -07:00
Eric Rozell 8673294806 Add option for deterministic Animated batching on iOS (#49942)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49942

iOS flushes NativeAnimated operations to the UI thread in one of two ways:
1. Some operations flush immediately when the operation is queued, namely startAnimation, stopAnimation, and setValue.
2. Other operations rely on flushing from one of the previous operation types, or a UIManager mount callback.

This behavior leads to non-determinism in flushing of some operations like `setOffset` or `startListeningToAnimatedNodeValue`, where if these operations are created, out-of-band from "flushed" operations, they will not take affect until the next React commit.

This change wires up the `animatedShouldSignalBatch` feature flag to queue operations on the JS thread, and flush them after `NativeAnimated.finishOperationBatch` is called.

## Changelog

[Internal]

Reviewed By: javache

Differential Revision: D70904592

fbshipit-source-id: 6bc7a8614cbe5e275d4d7bf5310da9f0090c0e10
2025-03-13 11:52:26 -07:00
Rubén Norte 6838d46b70 Clean up feature flag for TextInput state synchronization (#49989)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49989

Changelog: [internal]

This experiment didn't yield any significant wins and there are some failing e2e tests which seem suspicious, so better be safe and keep the current version.

Reviewed By: javache

Differential Revision: D71050517

fbshipit-source-id: da14fdd49e8d39cdcdc1dd579a50af3bf894d08a
2025-03-13 11:11:05 -07:00
Pieter De Baets 2196597e2b Makes TouchesHelper internal (#50014)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50014

This was unintentionally made public during the Kotlin migration (D67791375), revert back to internal visibility, and update some of the deprecation comments.

Changelog: [Android][Removed] TouchesHelper is no longer part of the public API

Reviewed By: Abbondanzo

Differential Revision: D71114176

fbshipit-source-id: 2bd8882039fb972e1c2632a503292080c56a2f22
2025-03-13 09:48:01 -07:00
Joseph Nields 86911003dc Add compact option (#49979)
Summary:
If you use this preset to create library code, it is often helpful to be able to still read the transpiled code, even when sourcemaps are available.

This change adds a compact option which allows for disabling the default behavior that removes whitespace from the transpiled files.

## Changelog:

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

Pick one each for the category and type tags:

[GENERAL] [ADDED] - Add `compact` option to `react-native/babel-preset` to allow disabling whitespace removal

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

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

Reviewed By: rshest

Differential Revision: D71109024

Pulled By: robhogan

fbshipit-source-id: ab205cca2a82b56955d1e1c55e288dcbe7754f8f
2025-03-13 09:22:23 -07:00
Tim Yung 2a40010215 Animated: Avoid Invalidation of Ref Callback (#50002)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50002

Creates a new feature flag, `avoidAnimatedRefInvalidation`, to experiment with changing `useAnimatedProps`, so that the returned ref callback is no longer invalidated when `props` changes.

When we introduced `useAnimatedPropsMemo` and stabilized `AnimatedProps` (which is only invalidated when `AnimatedValue` and shallow `AnimatedEvent` instances are changed in an update), we should have also made this change. It was an oversight that we did not do this.

Avoiding unnecessary invalidation of the ref callback is important to reduce extra work and unpredictable semantics associated with unnecessary detaching and re-attaching of refs.

Changelog:
[Internal]

Reviewed By: lunaleaps, jbrown215

Differential Revision: D71074781

fbshipit-source-id: 82386a79b8e9bed0b74d9b85978af66f453a7ad0
2025-03-13 08:52:50 -07:00
Riccardo Cipolleschi dd7dccd88b Add Nightly support for prebuilds (#49991)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49991

This change adds nightly support for prebuilds.

t works the same way hermes works: if the react native version contains nightly, we try to use that version to download the right tarball.

To work, it needs to use the `RCT_USE_RN_DEP` env variable.

## Changelog
[Internal] - Add Nightly support to consume ReactNativeDependencies

Reviewed By: cortinico

Differential Revision: D71050926

fbshipit-source-id: 9f461b5f17fde960d92b4082bc60f76959e82cdf
2025-03-13 08:40:14 -07:00
Riccardo Cipolleschi b8ab4c8d96 Connect ReactNativeDependencies with ios jobs (#49978)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49978

This change connects the RNDependencies we prebuild in CI with the other iOS jobs we have.

By doing so, we aim to speed up the build time in CI, saving time and money.

## Changelog:
[Internal] - Connect the ReactNativeDependencies in CI

Reviewed By: cortinico

Differential Revision: D71034587

fbshipit-source-id: 14f1237f4fb57ee103a80be1718042d66ff7b0d7
2025-03-13 08:40:14 -07:00
Riccardo Cipolleschi a663731ddd Add Support for local tarball to ReactNativeDependencies (#49970)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49970

This change add supports to pass a tarball from a local file to the ReactNativeDependencies podspec, so that we can build React Native using a local copy or the RNDependencies and we can use it also in CI.

## Changelog:

[INTERNAL] - Add support for local tarballs

Reviewed By: cortinico

Differential Revision: D71032641

fbshipit-source-id: d83c96c8c12f3add45f8f5ea15fa0eac06d0bedf
2025-03-13 08:40:14 -07:00
Christian Falch 4c9431adda Update podspecs to use the ReactNativeDependencies or build from source (#49968)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49968

Updates all the core podspec to use the new `ReactNativeDependencies` podspec

## Changelog:

[INTERNAL] - Updates Modules in core to use the new dependencies.

Test Plan:
✅ Run Rn-Tester and  verify that it works as expected both building deps from source and using prebuilt tarballs
✅ Add third-party library (react-native-reanimated) and perform the same tests to verify that it works with the changed podspec and utilities

Reviewed By: cortinico

Differential Revision: D71032639

Pulled By: cipolleschi

fbshipit-source-id: e53179a8c1b47ee2b945f5cb5dfaf3f6f2755af2
2025-03-13 08:40:14 -07:00
Christian Falch 1e13ad64d8 Configure the Cocoapods infrastructure to use the ReactNativeDependencies.podspec (#49971)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49971

Updated the Cocoapods infrastructure to use the new  the `ReactNativeDependencies.podspec`

## Changelog:

[INTERNAL] - Configured the Cocoapods infra to use the new `ReactNativeDependencies.podspec`

Test Plan:
✅ Run Rn-Tester and  verify that it works as expected both building deps from source and using prebuilt tarballs
✅ Add third-party library (react-native-reanimated) and perform the same tests to verify that it works with the changed podspec and utilities

Reviewed By: javache, cortinico

Differential Revision: D71032638

Pulled By: cipolleschi

fbshipit-source-id: 154c8891d5b8b4b84952274c169479122a4800b1
2025-03-13 08:40:14 -07:00
Christian Falch 6bde3ce715 Add ReactNativeDependencies.podspec and replace script. (#49812)
Summary:
There are two environment variables that is related to ReactNativeDependencies:
- `RCT_USE_DEP_PREBUILD `: If set to 1, ReactNativeDependencies will be built from source.
- `RCT_DEPS_VERSION`: If set to 1, it will override the version of ReactNativeDependencies to be used.
bypass-github-export-checks
## Changelog:

[INTERNAL] - Introduced functions to configure ReactNativeDependencies in Cocoapods

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

Test Plan:
✅ Run Rn-Tester and  verify that it works as expected both building deps from source and using prebuilt tarballs
✅ Add third-party library (react-native-reanimated) and perform the same tests to verify that it works with the changed podspec and utilities

Reviewed By: javache

Differential Revision: D70968672

Pulled By: cipolleschi

fbshipit-source-id: bb93e763bd71cec7314565b5a751b226735b404e
2025-03-13 08:40:14 -07:00
Christian Falch e876e4926f Improve RCT-Folly so that other dependencies don't have to specify the folly flags (#49969)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49969

Improved RCT-Folly podspec by configuring it as a prepare step, so that we don't need to forward the folly flags to all the others pods and to 3rd party dependencies.

## Changelog:

[INTERNAL] - Configure folly in a prepare step

Test Plan:
✅ Run Rn-Tester and  verify that it works as expected both building deps from source and using prebuilt tarballs
✅ Add third-party library (react-native-reanimated) and perform the same tests to verify that it works with the changed podspec and utilities

Reviewed By: javache

Differential Revision: D71032640

Pulled By: cipolleschi

fbshipit-source-id: a34a9b38fa5d5b37a0a193a73659f0d45dd3d660
2025-03-13 08:40:14 -07:00
Dawid Małecki c50465c637 Add support for triple-slash directives in generated .d.ts files (#50008)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50008

The diff adds extraction of triple-slash directives using regex to match and retrieve following reference.

Changelog:
[internal] - Added support for triple-slash directives in generated .d.ts files

Reviewed By: huntie

Differential Revision: D71113674

fbshipit-source-id: 2207d5b455515c44ba585ffecc063914e0818e58
2025-03-13 08:00:59 -07:00
Samuel Susla 65ffc588fb introduce convenience method Fantom.scrollTo (#50011)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50011

changelog: [internal]

Majority of time, you want to simply scroll. This diff introduces a convenience method Fantom.scrollTo.

Previously, you would have to write:
```
  Fantom.runOnUIThread(() => {
    Fantom.enqueueScrollEvent(element, {
      x: 0,
      y: 60,
    });
  });
  Fantom.runWorkLoop();
```

Now, you can just do:
```
 Fantom.scrollTo(element, {
    x: 0,
    y: 60,
  });
```

Reviewed By: rubennorte

Differential Revision: D71113680

fbshipit-source-id: aed49a2f12be8ab30be549235cc7a2b3e35faadb
2025-03-13 07:42:32 -07:00
Samuel Susla b275a318a6 rename fantom.scrollTo to fantom.enqueueScrollEvent (#50009)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/50009

changelog: [internal]

rename method `scrollTo` to `enqueueOnScrollEvent` to make it obvious that event is only enqueued and not executed.

Reviewed By: rubennorte

Differential Revision: D71027761

fbshipit-source-id: 8a22babc2f5e86196c0b0af75ab65d539048dc72
2025-03-13 07:42:32 -07:00
Alex Hunt bf35a00ba2 Align organisation of index exports (#49975)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49975

Removes the "Plugins" category from the non-structural grouping of exports in `index.js`, `index.js.flow`, aligning these with the "APIs" and "Components" categories in our docs.

Changelog: [Internal]

Reviewed By: rubennorte

Differential Revision: D71033295

fbshipit-source-id: bd39bb6ff5e30c1ed0a8d56d1ed61d52120fb776
2025-03-13 06:53:17 -07:00
Jakub Piasecki e4721332a8 Align AppRegistry namespace with Animated (#49928)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49928

Changelog: [Internal]

Reviewed By: huntie

Differential Revision: D70894716

fbshipit-source-id: cb0d2f6405a1ceabdd1f0fb89bf936e2e8c83e3c
2025-03-13 06:26:44 -07:00
Rubén Norte 1e38964e91 Clean up enableDOMDocumentAPI feature flag (#49990)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/49990

Changelog: [internal]

This cleans up the flag and makes the Document API essentially part of the DOM APIs flag, after we've verified this is stable in a production experiment.

Reviewed By: sammy-SC

Differential Revision: D68772174

fbshipit-source-id: 3b3d0c4369a648faab3dc7caed8eec2c95fa05b3
2025-03-13 05:50:59 -07:00