Commit Graph
34460 Commits
Author SHA1 Message Date
Christoph PurrerandFacebook GitHub Bot 6865e5a993 Preparation for sharing common ShadowNode functionality in BaseTextInputShadowNode for Android (#48582)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48582

[Changelog] [Internal] - Preparation for sharing common ShadowNode functionality in BaseTextInputShadowNode for Android

As a preparation for https://github.com/facebook/react-native/pull/48165 this change aligns the order of methods between:
- BaseTextInputShadowNode.h
- AndroidTextInputShadowNode.h

to make it easier for future changes to look at the delta between both implementations.

The goal is land https://github.com/facebook/react-native/pull/48582 which aligns the RN iOS and RN Android implementation

Reviewed By: NickGerleman

Differential Revision: D68001423

fbshipit-source-id: 5a5efa6542de676bd175744e7313c2b819e67f11
2025-01-10 13:28:16 -08:00
Nick GerlemanandFacebook GitHub Bot e53b76b6c6 Cleanup enableAndroidLineHeightCentering flag (#48577)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48577

This has been enabled by default for about two and a half months. Let's clean up the old path.

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D67985133

fbshipit-source-id: 024c1b3f10d7d23caba04ed4b6eec122de1a7c14
2025-01-10 13:08:45 -08:00
Nicola CortiandFacebook GitHub Bot 2ab9a8c135 Cleanup enableAlignItemsBaselineOnFabricIOS (#48607)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48607

This feature flag acted as a killswitch but it was effectively never used, so we can clean it up now.

Changelog:
[Internal] [Changed] - Cleanup `enableAlignItemsBaselineOnFabricIOS`

Reviewed By: cipolleschi

Differential Revision: D68018624

fbshipit-source-id: 2340b505021a6632b07a3a872e35b35522b6f361
2025-01-10 11:15:03 -08:00
Nicola CortiandFacebook GitHub Bot a40a885d88 Fix test-e2e-local with RNTester due to unbuilt codegen (#48558)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48558

Running `yarn test-e2e-local -t "RNTester" -p "Android" -h true -c <TOKEN>`
currently fails if you start from RNTester Android.

That's because codegen is not built. This commit fixes it.

Changelog:
[Internal] [Changed] - Fix test-e2e-local with RNTester due to unbuilt codegen

Reviewed By: cipolleschi

Differential Revision: D67972074

fbshipit-source-id: c5c721a913b655675ed6e03e60efbb5ccdf613b2
2025-01-10 08:46:37 -08:00
Pieter De BaetsandFacebook GitHub Bot f6f7de61f4 Drop dependency on native/fb (#48568)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48568

We only need this dependency for internal builds, as we only rely on fbjni, which is its own open-source project.

This code was forked for open-source and not synced in anyway, which is a potential liability.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D67796633

fbshipit-source-id: 8609783ed0921a53a823658b9fd07a57651e91fe
2025-01-10 08:16:26 -08:00
Pieter De BaetsandFacebook GitHub Bot b0466d8cdd Remove unnecessary interpolation for logcat logging (#48567)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48567

We don't need the `FBLOG_PRI` macro which does unnecessary additional interpolation, and can instead directly call `__android_log_write`

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D67461225

fbshipit-source-id: 3f2c881ce996b9638ef62e40ecc05f3e5a3e6ac1
2025-01-10 08:16:26 -08:00
Nicola CortiandFacebook GitHub Bot 7dcbc799eb Fix crash for setEventEmitterCallback NoSuchMethodError on API lvl 26 (#48606)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48606

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

The app is currently crashing on Android API lvl 26 attempting to invoke the method
`setEventEmitterCallback` which is defined inside BaseJavaModule.

I'm not entirely sure why this is happening only for API lvl 26, but I've verified
that by having the method protected, this doesn't happen anymore.

The visibility is consistent with the field `mEventEmitterCallback` which is also
protected and accessed to codegen. So let's keep them aligned for consistency.

Changelog:
[Android] [Fixed] - Fix crash for setEventEmitterCallback NoSuchMethodError on API lvl 26

Reviewed By: cipolleschi

Differential Revision: D68018506

fbshipit-source-id: 87eda718c9774b584abdf771eaad5833d452a1ea
2025-01-10 07:56:17 -08:00
Nicola CortiandFacebook GitHub Bot 4c7c836ebf AGP to 8.8.0 (#48604)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48604

Just keeping our dependency up to date.

Changelog:
[Android] [Changed] - Bumped Android Gradle Plugin (AGP) to 8.8.0

Reviewed By: cipolleschi

Differential Revision: D68017839

fbshipit-source-id: 6a452d60cce9bb60e67013eab0bef27e2f2adfc0
2025-01-10 07:38:19 -08:00
Nicola CortiandFacebook GitHub Bot 7bb92a3c2d refactor: Remove unnecessary parameter from configureRepositories (#48596)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48596

The second parameter of `configureRepositories` was unused. Let's remove it.

Changelog:
[Internal] [Changed] - refactor: Remove unnecessary parameter from configureRepositories

Reviewed By: cipolleschi

Differential Revision: D68016105

fbshipit-source-id: 9fa05cd33e2f7a6986cf1fcdef0d75e74f315843
2025-01-10 07:38:08 -08:00
Nicola CortiandFacebook GitHub Bot a98528e609 Make the addition of JitPack repository configurable (#48595)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48595

Historically React Native used to include the JitPack repository be default in the default repositories.

This sadly exposes React Native projects to supply chain attacks as explained here:
https://blog.oversecured.com/Introducing-MavenGate-a-supply-chain-attack-method-for-Java-and-Android-applications/

Moreover, artifacts on Jitpack are not GPG signed it's complicated to verify the identity of artifact authors.
I'm introducing a Gradle property to control if Jitpack should be included by default or not.

User can control this behavior by changing their `gradle.properties` file as such:

```
includeJitpackRepository=false
```

The default value of this property is currently true, but we're looking into changing it to false in the future.

Changelog:
[Android] [Added] - Make the addition of JitPack repository configurable

Reviewed By: cipolleschi

Differential Revision: D68016028

fbshipit-source-id: 392513fef389a4835b4e00a8184459e00d51fdd0
2025-01-10 07:38:08 -08:00
Nicola CortiandFacebook GitHub Bot c85be01cba Add .kotlin/ to gitignore (#48598)
Summary:
Adding .kotlin to gitignore. This folder starts to get used with K2 (with Kotlin 2.0) so we should be
adding it to the gitignore files

## Changelog:

[INTERNAL] - Add .kotlin to gitignore

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

Test Plan: N/A

Reviewed By: cipolleschi

Differential Revision: D68018000

Pulled By: cortinico

fbshipit-source-id: 78be3597071d07d105145d8ba94cd83cbf4f21bc
2025-01-10 07:35:12 -08:00
Rubén NorteandFacebook GitHub Bot fd0894b1c7 Add support for the columns option in console.table (#48592)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48592

Changelog: [General][Added] Add support for the second parameter of `console.table` to specify a list of columns to print in the table.

Reviewed By: javache

Differential Revision: D67803665

fbshipit-source-id: 354476404bad7cd2d280c8b3d963d5acba41f86b
2025-01-10 05:41:37 -08:00
Rubén NorteandFacebook GitHub Bot 7154c62afb Improve formatting of table in console.table (#48591)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48591

Changelog: [General][Changed] Improved formatting of values logged via `console.table` (including Markdown format).

This provides several improvements over the format of tables logged via `console.table`:
* Markdown format for easy integration in existing documents.
* Increased alignment with the spec and Chrome/Firefox implementations:
  * Added index columns.
  * Logged all available columns.
  * Format for all types of values (including objects, functions, etc.).

Reviewed By: javache

Differential Revision: D67794858

fbshipit-source-id: 464c938ed51f28a8e071bc46f0f5b0d970005873
2025-01-10 05:41:37 -08:00
Rubén NorteandFacebook GitHub Bot caa77fbe2b Prevent console.table from modifying passed values (#48590)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48590

Changelog: [General][Fixed] Modified `console.table` to avoid mutating the received argument.

Reviewed By: sammy-SC

Differential Revision: D67791795

fbshipit-source-id: a889fe95914cf7850e6429742845b126917babc7
2025-01-10 05:41:37 -08:00
Rubén NorteandFacebook GitHub Bot 7f985f29e3 Add tests for console.table (#48589)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48589

Changelog: [internal]

Added basic tests for the current implementation of the `console.table` polyfill (not the CDP implementation).

Reviewed By: sammy-SC

Differential Revision: D67791579

fbshipit-source-id: 80d64903a92e87e0724ed302ec0521419f45f9a7
2025-01-10 05:41:37 -08:00
Nicola CortiandFacebook GitHub Bot a28d3961bd Do not reset rn-artifacts-version on release branch (#48572)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48572

Because of this extra step on build-android, we're seeing the version 1000.0.0-<SHA>
on commits on the release branch. This prevents it.

Changelog:
[Internal] [Changed] - Do not reset rn-artifacts-version on release branch

Reviewed By: cipolleschi

Differential Revision: D67975049

fbshipit-source-id: dace7c931ec310538c11c4b9e544fdc2241a1d0c
2025-01-10 03:44:04 -08:00
Rubén NorteandFacebook GitHub Bot deea42329e Remove verification function from ReactFabricPublicInstance benchmark (#48588)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48588

Changelog: [internal]

This has proved to be very CI and makes it fail a lot, so we're removing this for now.

Reviewed By: javache

Differential Revision: D67985917

fbshipit-source-id: 5ec7c1387ddfb8fb2a4e90450a98cb3caea9399f
2025-01-10 03:35:04 -08:00
Samuel SuslaandFacebook GitHub Bot bb6bbfc261 remove folly::tryTo (#48557)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48557

changelog: [internal]

delete use of folly::tryTo from react native.

Reviewed By: christophpurrer

Differential Revision: D67942789

fbshipit-source-id: 976caa12b6ff6063041be3259aa8ebd642ca3ca0
2025-01-10 03:23:11 -08:00
Jakub PiaseckiandFacebook GitHub Bot 1051bd8f3e Explicitly type UIManagerProperties (#48587)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48587

Changelog: [Internal]

Reviewed By: cortinico, huntie

Differential Revision: D67977469

fbshipit-source-id: 0f866aeaa3d19ba2bc01d2e4685487c9b1a3329f
2025-01-10 02:26:57 -08:00
Peter AbbondanzoandFacebook GitHub Bot 071506fa61 Add tinted vector drawable example to RNTester (#48541)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48541

Shows how to use tintColor in conjunction with new XML file format, and serves as a good E2E test bench to ensure that drawables don't accidentally reuse the same state (if the underlying implementation isn't careful enough to call `buildCopy`, both icons will render red)

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D64136753

fbshipit-source-id: 3bd0933e587364425ac14a0635690d4b274a55fe
2025-01-09 19:56:12 -08:00
Nick GerlemanandFacebook GitHub Bot 9b646c8b7b Fix incorrect height of single line TextInput without definite size (#48523)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48523

Current AndroidTextInputShadowNode logic measures the height of the TextInput by fitting text into the constraints of the TextInput box. This results in the wrong height for single line TextInputs, since a single line TextInput is infinitely horizontally scrollable (whearas the outer TextInput component itself has a fixed width).

After this change, we measure text under single line textinputs with an infinite width constraint, then clamp to the final constraints of the TextInput, to better emulate what is happening under the hood.

iOS ended up solving this in a slightly different way, by measuring paragraph with `maximumNumberOfLines={1}` when not multiline, but think this is a bit more fraught. E.g. up until recently, it would have meant that the width could have been less than max width, depending on where line-breaking happened. I ended up duplicating the new logic to use for both instead (D66914447 will eventually deduplicate).

Changelog:
[Android][Fixed] - Fix incorrect height of single line TextInputs without definite size

Reviewed By: christophpurrer

Differential Revision: D67916827

fbshipit-source-id: b827185c4640835481794cb985c2b62dcf643abe
2025-01-09 10:57:05 -08:00
Rubén NorteandFacebook GitHub Bot 8310d651e0 Mark benchmark API as unstable (#48570)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48570

Changelog: [internal]

We're still iterating on this feature and making sure it reports stable results, so marking it as `unstable` to set expectations.

Reviewed By: andrewdacenko

Differential Revision: D67975844

fbshipit-source-id: 41e93cb9cb0c887a96178e4a4d5078d1899b2478
2025-01-09 10:11:18 -08:00
Samuel SuslaandFacebook GitHub Bot 8d67d51bdc remove use of folly::init (#48573)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48573

changelog: [internal]

remove main.cpp for cxxreact/tests. It is not needed for tests to work and it breaks build for C++ only tests.

Reviewed By: javache

Differential Revision: D67975182

fbshipit-source-id: b9cbc5b5b6a87aafc69448e99877e664ed2d5af2
2025-01-09 08:43:22 -08:00
Alex HuntandFacebook GitHub Bot b5155fba89 Replace $FlowFixMe in DrawerLayoutAndroid (#48569)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48569

Changelog:
[General][Changed] - Improve types on DrawerLayoutAndroid

Reviewed By: cipolleschi

Differential Revision: D67975172

fbshipit-source-id: 922d51d78b9e035f7703b1d53af39fa6dae8060b
2025-01-09 07:47:58 -08:00
Riccardo CipolleschiandFacebook GitHub Bot f7977387f4 Update classification of Fixed (#48561)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48561

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the `Fixed` entries.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: cortinico

Differential Revision: D67972217

fbshipit-source-id: 343dd5a4e8a6cd6d6806447063594ba466db3b1e
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot efb2aa0d5b Update classification of Deprecated (#48562)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48562

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the `Changed` entries.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: cortinico

Differential Revision: D67941153

fbshipit-source-id: 59bc5a8a37242a1a5dc17baa4d85d0e18df35d46
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot 36daa41c26 Update classification of Changed (#48563)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48563

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the `Changed` entries.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: cortinico

Differential Revision: D67941107

fbshipit-source-id: 2352c901810587a0d4d5ccbbaa09960f03999378
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot 16b047968f Update classification of Added (#48564)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48564

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the `Added` entries.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: cortinico

Differential Revision: D67940751

fbshipit-source-id: 345bd0e4e9564a1d8d16418f31ee6a917f27b202
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot d9af80f471 Update classification of RCs (#48565)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48565

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the entries in the RCs.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: cortinico

Differential Revision: D67940292

fbshipit-source-id: 3373d2f2879c7137ad93b4b53672a0f8e322776f
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot cdc8c9db09 Start fixing changelog for 0.77 (#48528)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48528

The changelog for 0.77 needs some love as there are some entry that are incorrectly classified.

In this diff I took care of fixing the `Breaking Changes` and the `Removed` entries.

We need to go through all the other classes of entries.

## Changelog:
[Internal] - Refine 0.77 changelog

Reviewed By: robhogan, cortinico

Differential Revision: D67937294

fbshipit-source-id: 18278abae4680a9dab3f46e41c1b7f7f8a7ad367
2025-01-09 07:11:57 -08:00
Riccardo CipolleschiandFacebook GitHub Bot 85745f3551 Add Changelog for 0.76.6 (#48566)
Summary:
Add changelog for 0.76.6

## Changelog:
[Internal] - Add Changelog for 0.76.6

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

Test Plan: N/A

Reviewed By: cortinico

Differential Revision: D67973501

Pulled By: cipolleschi

fbshipit-source-id: a3c5c78620dfd7bb1c917dfc33d98801abe0a373
2025-01-09 06:51:53 -08:00
Samuel SuslaandFacebook GitHub Bot 1cbcea49bf write fantom tests percentage based width and height (#48560)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48560

changelog: [internal]

add tests for width and height and margin style. Covering percentage-based dimensions and invalid inputs.

The test coverage is needed to make removal of folly::tryTo safe.

Reviewed By: rubennorte

Differential Revision: D67942139

fbshipit-source-id: c1e517dfb102eea892c998cf6ff4190fa69cdfa7
2025-01-09 06:09:36 -08:00
Rubén NorteandFacebook GitHub Bot e7a37c1b5f Move assets for feature flags docs to a __docs__ directory (#48555)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48555

Changelog: [internal]

Small move to align with the existing convention.

Add `README.md` file for feature flags in JS directory, to link to canonical docs.

Reviewed By: huntie

Differential Revision: D67897751

fbshipit-source-id: d5091ab4537701ee5cfdf29ebd0fe79e858e3134
2025-01-09 05:31:19 -08:00
Rubén NorteandFacebook GitHub Bot f1cbf25c09 Extract common logic in ErrorHandlers to a shared method (#48366)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48366

Changelog: [internal]

Just removing some unnecessary duplication from this file.

Reviewed By: christophpurrer

Differential Revision: D67407220

fbshipit-source-id: 2f3e1ac4dddb7f8ede75175242e4b37e628196a0
2025-01-09 04:35:08 -08:00
Nicola CortiandFacebook GitHub Bot 1282361573 Silence the eden info output from react-native-codegen (#48540)
Summary:
We currently see this error message on console:
![Screenshot 2025-01-08 at 19 09 47](https://github.com/user-attachments/assets/3b384772-9abc-40a5-83b3-9b4ccce85f4a)

This will silence it by piping stderr to /dev/null

## Changelog:

[INTERNAL] - Silence the `eden info` output from react-native-codegen

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

Test Plan: CI

Reviewed By: robhogan

Differential Revision: D67948411

Pulled By: cortinico

fbshipit-source-id: f805634a65713f4f9bc2dce6d781664e7564bc96
2025-01-09 04:01:29 -08:00
Rubén NorteandFacebook GitHub Bot 742e14d47f Add a few more tests to ReactNativeElement (#48428)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48428

Changelog: [internal]

Adding a few more tests for `ReactNativeElement` for symmetry with future tests for when it implements `EventTarget`.

Reviewed By: javache

Differential Revision: D67738147

fbshipit-source-id: 04c8f3539fefd15f7c778986eb9e39f2c2386b6a
2025-01-09 03:45:27 -08:00
Nicola CortiandFacebook GitHub Bot 5e6478954c Gradle to 8.12 (#48539)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48539

This keeps our Gradle version up to date ahead of the branch cut for 0.78.
https://docs.gradle.org/current/release-notes.html

Changelog:
[Android] [Changed] - Bump Gradle to 8.12

Reviewed By: NickGerleman

Differential Revision: D67946619

fbshipit-source-id: 0b5ea8d9543ca565ea8b3bdd48e5fc711f832ce8
2025-01-09 03:10:02 -08:00
David VaccaandFacebook GitHub Bot cfec590f6a Defining constant'types for API stability (#48546)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48546

Defining constant'types for API stability

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D67953794

fbshipit-source-id: 7f833d1999340a6a4073f3eb303251c52d9d6fc6
2025-01-08 16:15:58 -08:00
David VaccaandFacebook GitHub Bot a79a1123c9 Internalize RootViewManager (#48545)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48545

RootViewManager is meant to be used by the internals of React Native, ther are no external usages. I'm internalizing it

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D67952865

fbshipit-source-id: 4c7f7de01c4de7ae00f62bd4f5b49e0082ec3f2b
2025-01-08 16:15:58 -08:00
Peter AbbondanzoandFacebook GitHub Bot dc5535cf88 Improve documentation for AssetSourceResolver (#48532)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48532

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D67942309

fbshipit-source-id: 0f3901bfcd58863adf6dc8466bb5d587438e0d2c
2025-01-08 14:54:17 -08:00
Peter AbbondanzoandFacebook GitHub Bot 6feb90bb29 Replace custom XmlFormat with Fresco built-in (#48533)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48533

Replaces the custom `XmlFormat` introduced in https://github.com/facebook/react-native/pull/46711 with the built-in support from Fresco. Fresco utilizes a very similar approach to load binary XML files and offers the XML format as part of its built-in `DefaultImageFormats`

Changelog:
[Android][Changed] - Replaced custom XML decoder with Fresco's built-in decoder

Reviewed By: NickGerleman

Differential Revision: D66553842

fbshipit-source-id: 096e60140f893d461be1cdb48e250749e58bbb4c
2025-01-08 14:54:17 -08:00
Peter AbbondanzoandFacebook GitHub Bot 819b5c2c8d Bump Fresco to 3.6.0 (#48542)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48542

Updates Fresco from 3.5.0 to 3.6.0. Picks up a few new features and bug fixes for XML drawables, including a required fix that [automatically supplies the XML drawable factory to Fresco's PipelineDraweeControllerBuilder](https://github.com/facebook/fresco/commit/e6b052610aab461601cfabc00f7240758a415878). Without this change, we cannot switch from RN's custom XmlFormat to Fresco's built-in format

Changelog:
[Android][Changed] - Update Fresco to 3.6.0

Reviewed By: NickGerleman, rshest

Differential Revision: D67950225

fbshipit-source-id: 9afd87565a5f069493c9c5ef87977cbd6d7cf3d4
2025-01-08 14:54:17 -08:00
Peter AbbondanzoandFacebook GitHub Bot 218815959b xplat/js/react-native-github/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java (#48530)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48530

Changelog: [Internal]

Reviewed By: tdn120

Differential Revision: D67912326

fbshipit-source-id: b03be79dfbf3bf8d92b11eb6228ecc36282b29cf
2025-01-08 14:46:01 -08:00
David VaccaandFacebook GitHub Bot 843588ffe5 Refactor PointerEvents strings as constants (#48537)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48537

Refactor PointerEvents strings as constants

changelog: [internal] internal

Reviewed By: shwanton

Differential Revision: D67924567

fbshipit-source-id: 7d9976d293cef3eeedbbb72abd20d8f877b768d0
2025-01-08 11:37:47 -08:00
David VaccaandFacebook GitHub Bot e4ec22de9d Delete POSITION_SPACING_TYPES from ViewProps (#48536)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48536

POSITION_SPACING_TYPES is not being used, let's delete it

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D67924569

fbshipit-source-id: 6cc4b0537032f4a4b54dbd728ca52ba216fd6cee
2025-01-08 11:37:47 -08:00
David VaccaandFacebook GitHub Bot c17e6ce0f0 Delete ON_LAYOUT constant (#48535)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48535

ON_LAYOUT is not being used, lets delete it

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D67924570

fbshipit-source-id: b5522317c943c07f8617508c0345b18a6f31ce7e
2025-01-08 11:37:47 -08:00
David VaccaandFacebook GitHub Bot 98b413416c Delete unused constants in ViewProps (#48534)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48534

IS_ATTACHMENT is unused, let's delete it

changelog: [internal] internal

Reviewed By: christophpurrer

Differential Revision: D67924566

fbshipit-source-id: 49718f4ce667abe919a314a853dbd7853bfe1292
2025-01-08 11:37:47 -08:00
Nick GerlemanandFacebook GitHub Bot f7a5db3c06 Fix TextMeasureCacheKey Throwing Out Some LayoutConstraints (#48525)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48525

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

`TextMeasureCacheKey` hash and equality functions only incorporates the maximum width constraint. I'm guessing this was an attempt at an optimization, but it can lead to incorrect results in pretty trivial cases. E.g. if Yoga knows a definite size of `Text` in one dimension,  and measures via `YGMeasureModeExactly`, we can have a minimum size corresponding specific to the style in which the text was laid out.

Changelog:
[General][Fixed] - Fix TextMeasureCacheKey Throwing Out Some LayoutConstraints

Reviewed By: christophpurrer

Differential Revision: D67922414

fbshipit-source-id: 0ee0220059fc4e4645b1684c42a0587fe728bedd
2025-01-08 10:33:25 -08:00
Tim YungandFacebook GitHub Bot 85e58f334e Prettier: Cleanup eslint-plugin-prettier Dependency (#48524)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48524

I've confirmed that we are no longer using `eslint-plugin-prettier` in Metro or React Native. This removes it from the package dependencies.

Changelog:
[Internal]

Reviewed By: huntie

Differential Revision: D67920511

fbshipit-source-id: 9c8036ccfb94d974d344d861942c076dc2b70125
2025-01-08 09:42:59 -08:00
Tim YungandFacebook GitHub Bot 6d67d6a7f6 Animated: Optimize onUserDrivenAnimationEnded Deopt (#48511)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/48511

{D60499583} added a new`onUserDrivenAnimationEnded` listener that requires `AnimatedValue` instances to have up-to-date values reported by `onAnimatedValueUpdate` (if native driver is in use).

Previously, the only way to ensure `onAnimatedValueUpdate` events were always fired to update JavaScript values in `AnimatedValue` instance was to attach a listener — even an empty one. This is exactly what D60499583 did: it traverses `props` for `AnimatedNode` instances and attaches listeners to them.

However, this is really inefficient and makes the code extra convoluted. Instead, this diff changes `AnimatedValue` so that it always subscribes to changes in `__attach`, and then it cleans up the extraneous props traversal and "empty listener" logic.

Changelog:
[Internal]

Reviewed By: javache

Differential Revision: D67872307

fbshipit-source-id: e7d7e486bbfd9ef03e2dd9f201089e2f68b2dbb2
2025-01-08 09:03:17 -08:00