Commit Graph

32430 Commits

Author SHA1 Message Date
Nicola Corti
fedbe2d486 Fix core autolinking not working on Windows (#45572)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45572

0.75-rc.5 is currently broken on Windows.

This is due to us invoking `npx react-native-community/cli config` without
a `cmd /c` prefix.

This fixes it by using our function `windowsAwareCommandLine`.
The problem is that this required a lot of refactoring since that util was not available for the settings plugin.

Fixes #45403

Changelog:
[Internal] [Changed] - Fix core autolinking not working on Windows

Reviewed By: cipolleschi

Differential Revision: D60037587

fbshipit-source-id: eefeda7aafc43b9ce08f0f9225b0847fad2f46b7
2024-07-23 04:41:54 -07:00
Samuel Susla
7d17ae4d3b add optimised path for view preallocation on android behind feature flag (#45587)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45587

changelog: [internal]

There is a way to avoid doing large number of JNI calls from JS thread for view preallocation on Android. We can move the JNI call to the main thread by creating a queue of views to be created on the JS thread and pulling it from the main thread. This way, the expensive part of JNI call (the actual call + creating JNI values) is moved to the main thread and doesn't block the JS thread from executing rendering.

Reviewed By: javache

Differential Revision: D59966062

fbshipit-source-id: af85138cfdb9b2a7a7710d79e09e165b2be55067
2024-07-23 04:10:42 -07:00
Ruslan Lesiutin
7bd5b84e32 Update debugger-frontend from a4fff8a...a56e5b7 (#45579)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45579

Changelog: [Internal] - Update `react-native/debugger-frontend` from a4fff8a...a56e5b7

Resyncs `react-native/debugger-frontend` from GitHub - see `rn-chrome-devtools-frontend` [changelog](a4fff8a0b4...a56e5b7065).

Reviewed By: robhogan

Differential Revision: D60041876

fbshipit-source-id: 48c1a314797638b140052e6f30b2597e9b8ee48a
2024-07-23 04:05:57 -07:00
wh201906
6390cf67d0 Add upper case keys to the debug key handler (#45559)
Summary:
The CLI of Metro bundler only accepts key presses when the Caps Lock is off. This is somehow inconvenient because the developers might think the Metro bundler doesn't response when the Caps Lock is on.

## 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] - Add upper case keys to the debug key handler

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

Test Plan: n/a

Reviewed By: huntie

Differential Revision: D60107316

Pulled By: dmytrorykun

fbshipit-source-id: 045dcd382d84c4781dff75a1ff913cd3ccc8d288
2024-07-23 03:57:39 -07:00
CHEN Xian-an
c24929c5f4 Not all the targets have a defined symbol_type (#45591)
Summary:
Errors occurred on running `pod install`:

```
[!] An error occurred while processing the post-install hook of the Podfile.

undefined method `symbol_type' for #<Xcodeproj::Project::Object::PBXAggregateTarget:0x000000010f6ea568>

[redact]/node_modules/react-native/scripts/cocoapods/privacy_manifest_utils.rb:53:in `block in get_application_targets'
```

## Changelog:

[iOS] [Fixed] - Fix error on handling privacy manifest

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

Reviewed By: cipolleschi

Differential Revision: D60107607

Pulled By: dmytrorykun

fbshipit-source-id: 316220fe54174b18c9b61775f807d5d05d9f0240
2024-07-23 03:21:28 -07:00
David Vacca
700b403e06 Migrate excludeYogaFromRawProps to ReactNativeFeatureFlags (#45586)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45586

Migrate excludeYogaFromRawProps to ReactNativeFeatureFlags

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D60022939

fbshipit-source-id: 150ecc98aa3323d5adea3a41a3d91d404c99e5a7
2024-07-22 14:20:40 -07:00
David Vacca
4d77c35584 Delete ReactFeatureFlags.rejectTurboModulePromiseOnNativeError (#45583)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45583

ReactFeatureFlags.rejectTurboModulePromiseOnNativeError is not used, I'm deleteing it

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D60022938

fbshipit-source-id: 80f2d551b4416fae81c9081d3ddbb896e5f5a560
2024-07-22 14:20:40 -07:00
David Vacca
d4a74d8b83 Migrate enableFabricRendererExclusively to ReactNativeFeatureFlags (#45584)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45584

Migrate enableFabricRendererExclusively to ReactNativeFeatureFlags

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D60022933

fbshipit-source-id: 35b09673744bb5fb29b7d3b5ee4c7bb7d51a01b7
2024-07-22 14:20:40 -07:00
Nicola Corti
90e4397d99 Converted com.facebook.react.views.drawer to Kotlin (#45573)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45573

This makes this module now be fully in Kotlin instead of having mixed Java/Kotlin sources.

Changelog:
[Internal] [Changed] - Converted com.facebook.react.modules.dialog to Kotlin

Reviewed By: tdn120

Differential Revision: D60035771

fbshipit-source-id: b45fd099c0b353768ab6580eb6a4a3dccf68f07d
2024-07-22 13:40:07 -07:00
Nicola Corti
0529818d36 Fix several build warnings on RN-Tester (#45569)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45569

Same as title

Changelog:
[Internal] [Changed] - Fix several build warnings on RN-Tester

Reviewed By: realsoelynn

Differential Revision: D60036158

fbshipit-source-id: 549b84f52594e1a442058222a3a45118739a1eb3
2024-07-22 12:16:12 -07:00
Nicola Corti
c1a8ae412b Properly annotate with @Deprecated methods that are just deprecated in JavaDoc (#45570)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45570

We do have several methods/classes that are `deprecated` in the JavaDoc but not
with an annotation. That's not correct as users will never get those deprecation otherwise
and we'll be forced to keep both implementation around for a longer time.

Changelog:
[Internal] [Changed] - Properly annotate with Deprecated methods that are just deprecated in JavaDoc

Reviewed By: javache

Differential Revision: D60036159

fbshipit-source-id: 466072d6a3fb4f1220e1dc3deaa51a46c714a388
2024-07-22 06:39:04 -07:00
Rubén Norte
43c32e1e25 Fix broken overlapping measures in Perfetto integration (#45567)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45567

Changelog: [internal]

(internal because our integration for Perfetto hasn't been released in OSS yet)

In our current React integration for Perfetto we're logging arbitrary time spans via `performance.measure` in specific tracks (that can be custom based on a naming scheme).

For a given track, Perfetto doesn't allow partially overlapping segments (as it's considered to always be a stack of time spans). When logging arbitrary time spans that partially overlap, Perfetto cuts the nested ones to make sure they fit into their suspected parent. This makes the logged data incorrect and makes it hard to understand the performance of an application using this data.

There's a fix for this problem: logging these arbitrary segments/time spans in separate tracks that only share the name. In this case, Perfetto groups the data in the UI but allows overlapping (as they're not really on the same track).

Reviewed By: sammy-SC

Differential Revision: D60010696

fbshipit-source-id: 378ea492c4fafbe55ef97fa91e4fa50bbc1893ae
2024-07-22 05:00:31 -07:00
Rubén Norte
df9b2cef7e Prefix custom tracks for markers coming from JS with Web Performance (#45564)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45564

Changelog: [internal]

(this is internal because the integration hasn't been enabled in OSS yet)

In our current React integration for Perfetto we're currently creating multiple custom tracks that are spread throughout the process section and it can be hard to identify the source of the information.

This adds a "Web Performance: " prefix to all custom tracks coming from JS to achieve 2 purposes:
* Group them together (in terms of order in the process)
* Clarify the source of the data

Reviewed By: sammy-SC

Differential Revision: D60010695

fbshipit-source-id: 081f5b6417d676c61005114337530a089142e7c6
2024-07-22 05:00:31 -07:00
Rubén Norte
2551aee4b0 Expose PerformanceObserver related classes in the global scope (#45539)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45539

Changelog: [internal]

This exposes several classes (interfaces in the spec lingo) related to the Performance API to the global scope, so users can access them directly to do things like refinements using `instanceof`. This also prevents the need from importing the modules from `react-native` directly, which would prevent code sharing with Web.

Reviewed By: rshest

Differential Revision: D59859654

fbshipit-source-id: e1f7afb0c98b394b1f97c3790db2e570e6ba0cd9
2024-07-22 04:45:02 -07:00
Rubén Norte
a5bd64ece8 Move classes for Event Timing API to the same module to align with existing convention (#45535)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45535

Changelog: [internal]

Small refactor to group things based on the spec where they're defined.

Reviewed By: rshest

Differential Revision: D59911334

fbshipit-source-id: 1c40d6bf82b6cc7be78bd81b652d6855c39a53eb
2024-07-22 04:45:02 -07:00
Rubén Norte
2680198b09 Use the right interfaces for PerformanceLongTaskTiming (#45526)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45526

Changelog: [internal]

Just using the right interfaces so we can expose them in the global scope and do refinements as necessary using `instanceof`.

Reviewed By: rshest

Differential Revision: D59911144

fbshipit-source-id: 9779e3220f2c6f81955f54506f97142f0f4ffdd4
2024-07-22 04:45:02 -07:00
Rubén Norte
2a91a703cc Improve spec-compliance of Performance interfaces (#45525)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45525

Changelog: [internal]

This makes several changes to the Performance API to align it closer with the spec:
* Makes fields of `PerformanceEntry` and subclasses read-only.
* Returns instances of the correct subclass of `PerformanceEntry` to observers.
* Renames `HighResTimeStamp` as `DOMHighResTimeStamp` for alignment with the spec and native

Additionally, I realized that the way we handle `performance.measure` is a bit problematic at the moment. When we call the function, we create a `PerformanceMeasure` instance with the data we receive, and return that value. In parallel, we notify the entry to native, which will in turn notify the observers. But the observers will not get those instances we just created, but new instances of `PerformanceEntry` (not even `PerformanceMeasure`) with the resolved values. At the same time, the `PerformanceMeasure` instance we return doesn't resolve its `startTime` and `duration` based on the indicated marks (when specified as strings). We need to fix this in the future by resolving the timing data synchronously when calling `performance.measure`.

Reviewed By: rshest

Differential Revision: D59911145

fbshipit-source-id: e0be0441f307cc9bdea8795ae88b6f390780fc7b
2024-07-22 04:45:02 -07:00
Rubén Norte
9b06ac8379 Restrict durationThreshold to event entry types only (#45524)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45524

Changelog: [internal]

The `durationThreshold` option is only meant to be used with `event` entry types. `mark`, `measure`, `longtask`, etc. shouldn't take that option into account, as per the spec.

Reviewed By: mdvacca

Differential Revision: D59918519

fbshipit-source-id: 0553d46944cbe80a32712ff57140763f2514f734
2024-07-22 04:45:02 -07:00
Samuel Susla
9a380363ae use constexpr string_view to avoid allocation (#45565)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45565

changelog: [internal]

Simple change to avoid string allocation.

Reviewed By: christophpurrer

Differential Revision: D59964183

fbshipit-source-id: fc0f341f10ef2fb5afdc9f5593d268d4444717da
2024-07-22 04:40:42 -07:00
Pieter De Baets
235e84ccae Remove delay between instance start and surface creation (#45545)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45545

ReactInstance creation in bridgeless returns a callback that requires dispatching on the UI thread to complete the init. If that thread is busy (eg with other startup tasks), we delay starting the initial surface unnecessarily.

This diff adds an experiment to return early from that startup task to allow follow-up tasks to be scheduled on the JS thread without waiting for lifecycle changes to have been applied.

Changelog: [Internal]

Reviewed By: markv

Differential Revision: D59961779

fbshipit-source-id: dd6a6fe093a32144ef6823bde5ac94a61d268fd2
2024-07-22 04:04:40 -07:00
Riccardo Cipolleschi
5bf1a77a0b Cancel test-all job is another commits get pushed in the same branch (#45568)
Summary:
CircleCI was automatically cancelling an old run if a new commit was pushed on the branch.
GitHub does not have the same behavior enabled by default.

Keep running jobs in a pipeline when there is a new commit is usually wasteful of resources and cost money we can save.

## Changelog:
[Internal] - Cancel old jobs if a new commit is pushed

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

Test Plan: Tested on GHA on this PR

Reviewed By: blakef

Differential Revision: D60035940

Pulled By: cipolleschi

fbshipit-source-id: 88b4dfc8bdd3eded6489a87db285e9544d3a1bcf
2024-07-22 03:51:33 -07:00
Douglas Lowder
e42932cfc6 fix: Remove setting of process.exitCode that breaks Jest tests (#45562)
Summary:
In Node 20, the script to run unit tests in CI (`scripts/run-ci-javascript-tests.js`) will fail, even when all the Jest tests pass. This happens because one of the JS modules being tested is setting `process.exitCode` (see https://github.com/jestjs/jest/issues/9324#issuecomment-1808090455).

Changes:

- Modified the affected module to throw an exception when failing, instead of setting the exit code
- Adjusted the unit test for that module

## Changelog:

[General] [Fixed] - Remove setting of process.exitCode that breaks Jest tests

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

Test Plan:
Before this change, running `node scripts/run-ci-javascript-tests.js` would fail with Node 20.
After this change, it succeeds.

Reviewed By: blakef

Differential Revision: D60033582

Pulled By: cipolleschi

fbshipit-source-id: 71b7f4495d414e719a9bd2d892bd1bc3045ddd5d
2024-07-22 03:37:08 -07:00
Gabriel Donadel
aa4f802fde Restore CLI_PATH variable in react-native-xcode script (#45560)
Summary:
When changing the `react-native-xcode.sh` logic to use the helloworld cli on https://github.com/facebook/react-native/pull/44721, the `CLI_PATH` env var was removed along with `BUNDLE_COMMAND`. Both of these values were used by Expo to override the default CLI and use our custom bundling command.

10e302ee13/templates/expo-template-bare-minimum/ios/HelloWorld.xcodeproj/project.pbxproj (L215C4-L215C15)

This restores the `CLI_PATH` variable and set the default value as `"$REACT_NATIVE_DIR/scripts/bundle.js"`, along with the `BUNDLE_COMMAND` variable. With this Expo and other frameworks can keep the ability to easily replace the internal CLI

## Changelog:

[INTERNAL] [CHANGED] - Restore CLI_PATH variable in react-native-xcode script

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

Test Plan: Project compiles correctly on iOS

Reviewed By: robhogan

Differential Revision: D60035338

Pulled By: blakef

fbshipit-source-id: 26583d11d9f573f7cfa405b68e0cc3304c3601df
2024-07-22 03:19:39 -07:00
David Vacca
9af63956d2 Enable prop diffing for <View> (#45551)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45551

This diffs toggles the new Android prop diffing mechanism for <View> components

changelog: [internal] internal

Reviewed By: sammy-SC

Differential Revision: D59613243

fbshipit-source-id: 79c1e4bf4f5a67fc516e5db7b9f4ffba0cb9b69b
2024-07-20 10:23:12 -07:00
David Vacca
a052e1eefd Refactor BaseProps.resolveborderMetrics method (#45554)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45554

In this diff I'm extracting the creation of borderWidth into its own method, this is necessary for next diffs of the stack.

Nh behavior change is introduced here

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D59942306

fbshipit-source-id: 85d39b64deaa4e8a8632d6f4aab72f626e594b5d
2024-07-20 10:23:12 -07:00
David Vacca
6d08d3af93 Introduce Props.getDiffProps method (#45553)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45553

This diff introduces a "temporary" method called getDiffProps to calculate the difference between 2 props and serialize its result into a folly::dynamic map.

changelog: [internal] internal

Reviewed By: NickGerleman

Differential Revision: D59613245

fbshipit-source-id: 3e23cde0113ac2a3904c8daa48a1ca048cd0262d
2024-07-20 10:23:12 -07:00
Nick Gerleman
b18635e5ab Fix drop-shadow filter (#45556)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45556

I missed updating this, and the e2e test we had isn't running, so switching JS objects to camel case broke this.

Changelog: [internal]

Reviewed By: jorge-cab

Differential Revision: D60003747

fbshipit-source-id: 6b7b1138e3ebbfdb982f5a089804351cc4b198ba
2024-07-20 07:57:03 -07:00
Alan Lee
3a5eb19731 fix ConcurrentModificationException in ReactScrollViewHelper (#45550)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45550

`ConcurrentModificationException` is happening from `emitScrollEvent()`.
This usually happens if we modify the collection (add/remove) while accessing collection in a foreach loop.
Seems likely add/remove is called from a different thread while in the foreach loop.
Converting to list before we do the foreach as a quick fix.

Changelog: [Internal] - quick fix for exception

Issure reported here: https://fb.workplace.com/groups/rn.support/permalink/26557068097248454/

Reviewed By: mdvacca

Differential Revision: D59991739

fbshipit-source-id: a2fcc798430acaadd07561a5be871967cc8f2c3b
2024-07-19 18:44:48 -07:00
Peter Abbondanzo
aeb020dfa3 Add null check for instance manager (#45549)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45549

## Summary
Calling `getCurrentReactContext` on an unmounted `ReactRootView` could lead to a NPE. The method currently returns a nullable value so return type is the exact same. This change checks if the react instance manager is present and returns null early if not.

## Changelog:
[Android] [Fixed] - Adds a null check in react context getter

Reviewed By: zeyap

Differential Revision: D59982179

fbshipit-source-id: bac5c12e7dc4ee3296991063eb3746141b8446bc
2024-07-19 15:45:20 -07:00
Blake Friedman
123d7d4229 fix update-node-modules-cache workflow (#45547)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45547

Was missing the step to checkout the repo before running yarn.

Changelog: [Internal]

Reviewed By: sammy-SC, realsoelynn

Differential Revision: D59979543

fbshipit-source-id: 2ab52efbc655cb6ff7b6544ff3939c019c5d45a6
2024-07-19 13:54:35 -07:00
Blake Friedman
4410899ec7 Only cache node_modules on main (#45544)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45544

## This diff now does 5 things:
1. removes the old way we used `actions/setup-node` to manage the cache itself.
2. it creates a new `update-node-modules-cache` workflow, which is the only job that will update the node modules cache
3. it create a `yarn-install-with-cache` action that should be used install of directly calling `yarn install --non-interactive`.  This will load a cache against a hash of `package.json`.
4. updated the cache reaper to aggressively remove everything but the latest `npm-{{ hash('package.json') }}`.
5. removed a `cache-setup`, which couldn't be used (we're using artefacts now).

## Why are we doing this:
The various `node-cache-` keys for platforms and on various branches accounts for a very large proportion of the cache (10-20%).

We don't frequently change these dependencies, and even when we do running `yarn install` after loading the cache will resolve any issues.

Limiting the cache to `main` and aggressively pruning older cache entries will clean up a lot of "small win" caching.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D59917944

fbshipit-source-id: 4be6f1959e8fde642a4f208f7d19aceba2c3262f
2024-07-19 13:04:07 -07:00
Nick Gerleman
d9263fbdbb Enable ViewConfig validation in RNTester (#45530)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45530

Enable viewconfig validation for RNTester to catch where static and native viewconfigs are mismatched, during development or contribution time. This relies on `useNativeViewConfigsInBridgelessMode()` which is already enabled in `DefaultNewArchitectureEntryPoint` on Android, and seems to be in iOS AppDelegate `RCTRootViewFactory` as well.

We put it in an early place in the bundle before first render, since we don't have RNTester preludes right now, but I think it is still early enough?

Changelog: [Internal]

Reviewed By: javache

Differential Revision: D59946366

fbshipit-source-id: ae0c23b13a566489a88a7b4e408f61dce314b003
2024-07-19 09:37:03 -07:00
Nicola Corti
e50e554039 Move helloworld to build from artifacts on Android (#45517)
Summary:
This moves the `helloworld` app to build from the artifacts produced by build_npm_package so that we don't rebuild ReactNative Android from source 8 times.
It reduces build time of such jobs from 14mins to 4mins, resulting in 80mins of build time for every test_all run.

## Changelog:

[INTERNAL] - Move helloworld to build from artifacts on Android

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

Test Plan: CI

Reviewed By: blakef

Differential Revision: D59957613

Pulled By: cortinico

fbshipit-source-id: b6c4adcf804af6c8d2661cf56549d037e09aa2c1
2024-07-19 08:55:19 -07:00
szymonrybczak
353d88d54e feat: update CLI to 14.0.0 (#45540)
Summary:
Update to stable version of `react-native-community/cli`.

## Changelog:

[GENERAL] [CHANGED] - Upgrade `react-native-community/cli` to `13.6.9`

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

Test Plan: n/a

Reviewed By: blakef

Differential Revision: D59960021

Pulled By: cortinico

fbshipit-source-id: 9d470699cdd2d20e08e844c92c7982056aec082c
2024-07-19 08:36:24 -07:00
Ruslan Shestopalyuk
f3eaf63683 Remove inconsistency warning in viewconfig validation (#45543)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45543

# Changelog:

[Internal]-

Introduced recently, this confuses viewconfig validation vs the vanilla Android view managers.

So this change effectively reverts the exposure of `ScrollView.scrollIndicatorInsets` to Android, achieving the goal in a different way (via the SVC injection workaround for the specific Android platform flavour).

Reviewed By: NickGerleman

Differential Revision: D59960782

fbshipit-source-id: 3b9a49f1466426d909e94bf4d33f1d09fbf822c2
2024-07-19 08:24:54 -07:00
Nicola Corti
818dd92a4a Align github/* action versions on major (#45542)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45542

As we do have several version numbers for external actions all across the codebase,
here I'm aligning all of them to just use the majors.

I'm doing it only for GitHub first party actions as we trust them,
so minor/patch changes can safely be pulled in without code changes.

Changelog:
[Internal] [Changed] - Align github/* action versions on major

Reviewed By: cipolleschi, blakef

Differential Revision: D59959978

fbshipit-source-id: bb07ce0dfd74d9502a2ac0ea90a2b32f55d6d655
2024-07-19 05:49:03 -07:00
Riccardo Cipolleschi
84e8cb0b03 Remove CCI jobs that are on GHA (#45219)
Summary:
With the migration to GHA, we can remove all the duplicated jobs from CircleCI.
These are the only 4 jobs remained to migrate

## Changelog:
[Internal] - Remove all the jobs already migrated to GHA

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

Test Plan: CCI is green

Reviewed By: cortinico

Differential Revision: D59156888

Pulled By: cipolleschi

fbshipit-source-id: 193f1f8fa7484154d5295ac36a63bb81a159da6e
2024-07-19 05:43:10 -07:00
Nicola Corti
2e55adf339 Act On label as @react-native-bot (#45541)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45541

This is another round of letting react-native-bot do the job that the
generic GitHub Action bot was doing.

Changelog:
[Internal] [Changed] - Act On label as react-native-bot

Reviewed By: cipolleschi

Differential Revision: D59959468

fbshipit-source-id: 8e0f7e2e90a40ed2aa265e637c8a809064e22747
2024-07-19 05:38:49 -07:00
Nicola Corti
6d56cea283 Fix nightly/release workflow (#45537)
Summary:
Nightly/Release workflow are currently broken due to a wrong path reference to a composite action. This fixes it.

## Changelog:

[INTERNAL] - Fix nightly/release workflow

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

Test Plan: CI

Reviewed By: cipolleschi

Differential Revision: D59959185

Pulled By: cortinico

fbshipit-source-id: 02c556d86105eac35e152b4dc09705bc42c8031a
2024-07-19 04:17:09 -07:00
Nicola Corti
64c3fb84d5 Remove unused build-from-source input (#45533)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45533

This input is unused and is causing a warning on the build pipeline.
I'm cleaning it up.

Changelog:
[Internal] [Changed] - Remove unused build-from-source input

Reviewed By: blakef

Differential Revision: D59958184

fbshipit-source-id: 23ba010da077342605afaaee122bc7ceabc89915
2024-07-19 03:23:12 -07:00
nik910
be93092c1b Adding space to $(inherited) string to avoid merging of inherited and… (#45520)
Summary:
Added space to $(inherited) string to avoid creation of wrong cpp flags in RCTAppDelegate podspec

<img width="1157" alt="Screenshot 2024-07-18 at 8 51 19 PM" src="https://github.com/user-attachments/assets/29d32d08-e81f-4c25-b8ee-5dccc0f620ea">

## Changelog:

[IOS] [FIXED] - Building of iOS project when RCTAppDelegate is used in the project

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

Test Plan: To test this you can simply change in your node modules and run pod install, the build will now work successfully

Reviewed By: cipolleschi

Differential Revision: D59950906

Pulled By: arushikesarwani94

fbshipit-source-id: 0d58620aa0be7ac4fcbcd309f06df0eef7844016
2024-07-19 02:05:24 -07:00
Nick Gerleman
245e5d9d95 Remove experimental_boxShadow from Android base view config (#45529)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45529

`experimental_boxShadow` is not yet part of Android view managers, and when we enable it, we are likely to do a view manager at a time before moving to BaseViewManager.

This causes user-visible errors when viewconfig validation is turned on, since we have a static view config, but not yet a native view config.

This removes the static viewconfig for Android until we start adding setters to view manager.

It is kept in `ReactNativeStyleAttributes` (which I think can have members not in the native view-config, since it has component specific props like tintColor), and iOS base viewconfig. On Fabric iOS, this is part of BaseViewProps, and handled by RCTView, but it looks like the prop (and also `experimental_filter`, `experimental_mixBlendMode`) do not have entries in iOS RCTViewManager, which is fixed in next diff in the stack.

Changelog: [Internal]

Reviewed By: RSNara

Differential Revision: D59939866

fbshipit-source-id: 2781029a0c29ba111ed04edfe9940c6c72f4e5ac
2024-07-18 18:19:41 -07:00
Nick Gerleman
1315d65bf5 Handle nullish values in processBoxShadow and processFilter
Summary:
Viewconfig processors may still get called for nullish values I think. Most other processors explicitly handle these (but some don't??).

This returns an empty list, like on parse error, when we have a value, but the value is nullish.

Changelog: [Internal]

Reviewed By: joevilches

Differential Revision: D59933611

fbshipit-source-id: 3f1d89d21977bbe01a05e708aadf1a9451d88083
2024-07-18 17:17:16 -07:00
Alex Taylor (alta)
cbdb4d78c0 Update hermes-parser and related packages in fbsource to 0.23.0 (#45504)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45504

Bump hermes-parser and related packages to [0.23.0](https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md).

Changelog: [internal]

Reviewed By: gkz

Differential Revision: D59881428

fbshipit-source-id: cf8d055b3a1078895fc16ec3da26981eabc22db7
2024-07-18 13:52:22 -07:00
zhongwuzw
14de1b708a Fabric: Fixes Modal present splash when animation type is none (#41853)
Summary:
Because the modal layout is triggered by state,  it's an async operation after the first mount, so we can see the splash when present modal. now we can pass the screen size to the initial state which can layout in the first mount operation.

before:
https://github.com/facebook/react-native/assets/5061845/a39d519e-e2f6-42f1-8319-6216c88e9cf3

After:
https://github.com/facebook/react-native/assets/5061845/c7d59820-399b-4ea2-943d-d889971ea7ee

## Changelog:

[IOS] [FIXED] - Fabric: Fixes Modal present splash when animation type is none

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

Test Plan: RNTester Modal example, present modal in none animation mode.

Reviewed By: sammy-SC

Differential Revision: D51984766

Pulled By: cipolleschi

fbshipit-source-id: 34a40e75c87f1046ab2e4df45196a277f47bd525
2024-07-18 10:08:50 -07:00
Alexander Blom
a37534e6ce Fix data race in BufferedRuntimeExecutor (#45512)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45512

isBufferingEnabled_ can be read (by design) from multiple threads, but
it's not atomic. Make it so.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D59907026

fbshipit-source-id: ffce54a28404148b3e270fa90dfe850a334ca2f0
2024-07-18 08:19:53 -07:00
Oskar Kwaśniewski
fbcb8f6b2b fix: Hermes prepare_command fails with space in path (#45316)
Summary:
This PR fixes a case where the user initializes react native in a directory that contains a space.

It was causing pod install to fail because the path to `create-dummy-hermes-xcframework.sh` script wasn't in a string.

## Changelog:

[IOS] [FIXED] - Hermes prepare_command fails with space in path

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

Test Plan:
1. Create a directory with space in path
2. Initialize React Native inside
3. Install pods
4. Check if pod install doesn't fail

Reviewed By: dmytrorykun

Differential Revision: D59912979

Pulled By: cipolleschi

fbshipit-source-id: b2c08d5035a245f8b4d6bfaf562e46d9c5d127b5
2024-07-18 07:23:32 -07:00
Samuel Susla
cdd70f0397 cache JNI calls to FabricUIManager::getColor (#45501)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45501

changelog: [internal]

Implement caching for FabricUIManager::getColor. A call to FabricUIManager::getColor takes on average 0.4ms and there can be many of them. The arguments for the call keep repeating in majority of times. Employing a simple caching mechanism here to avoid unnecessary trips via JNI to reduce overhead.

The dependencies in graphics in BUCK are incorrect. I tried to separate this into multiple files and move implementation to .cpp file but this will require a bit of a more restructuring to make it possible.

Reviewed By: mdvacca, dmytrorykun

Differential Revision: D59859754

fbshipit-source-id: 748efce7f0b8c96001b6ac1a4b457b8c9d63fe9c
2024-07-18 07:06:02 -07:00
Riccardo Cipolleschi
32943263d0 Factor out build npm package (#45493)
Summary:
Factor out the Build NPM package job in a separate action for code reuse

## Changelog:
[Internal] - Factor out the Build NPM package job in a separate action for code reuse

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

Test Plan: GHA are green

Reviewed By: robhogan

Differential Revision: D59858572

Pulled By: cipolleschi

fbshipit-source-id: 561a215ba5812352034157aa254999db56fcd31e
2024-07-18 07:05:24 -07:00
Nicola Corti
278257ec11 stale-bot is @react-native-bot (#45514)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45514

Let react-native-bot act on behalf of stale bot.

Changelog:
[Internal] [Changed] - stale-bot is react-native-bot

Reviewed By: cipolleschi

Differential Revision: D59909764

fbshipit-source-id: 45cef93607e657715aafe0d060ce91f9511409a3
2024-07-18 05:59:03 -07:00