Граф коммитов

29234 Коммитов

Автор SHA1 Сообщение Дата
Pieter Vanderwerff 48c542449c Upgrade xplat/js + arvr/js to hermes-parser 0.16.0 (again) (#39819)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39819

Bump `hermes-parser` packages to the latest released version.

Changelog: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Notable changes:
- Upgraded to the lastest version of emscripten for the parser.
- The babel interop logic now more closely matches babel's AST.
  - The biggest change is we now add the `extra.raw` properties to literal nodes, which results in Babel more closely outputting literal sources. e.g. previously the following would happen `1.0` -> `1`, `'foo'` -> `"foo"` and `1n` -> `1` but now the raw source value is preserved.
- Upgraded `prettier-plugin-hermes-parser` to use the latest prettier formatting logic, which causes some minor formatting changes.
- `hermes-parser` no longer fails when the `component` name is used within a function type, e.g. `type Foo = (component: string) => void`.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D49935231

fbshipit-source-id: a905838396fdd7281442c211970e0caa773a1256
2023-10-05 11:19:05 -07:00
Ruslan Shestopalyuk b58db61738 Expose Qpl.isMarkerOn to React Native (#39830)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39830

## Changelog:
[Internal] -

Add `QuickPerformanceLogger.isMarkerOn` API, which allows to check whether the given QPL marker is going to be sent to the server or not (the latter may happen due to e.g. downsampling).

This allows to avoid some extra unneeded overhead when logging QPL events in some heavily sampled scenarios.

Reviewed By: rubennorte

Differential Revision: D49949527

fbshipit-source-id: 9d7f93beee45d498c799a94b16cd7c68ec1a9340
2023-10-05 09:36:28 -07:00
Riccardo Cipolleschi bad027c5f5 Add warning when newArchEnabled is set (#39781)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39781

## Changelog
[Internal] - Add warning when newArchEnabled is set

Reviewed By: cortinico

Differential Revision: D49866356

fbshipit-source-id: 0b937b7f37010e5fbfc93b073cc70e293d61052c
2023-10-05 08:26:43 -07:00
Riccardo Cipolleschi 983bd14d99 Add warning when passing a value to the RCT_NEW_ARCH_ENABLED (#39782)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39782

## Changelog
[Internal] - Add warning when passing a value to the RCT_NEW_ARCH_ENABLED

Reviewed By: dmytrorykun

Differential Revision: D49830121

fbshipit-source-id: 02bfd52ecf832d25f539f7178326472b2620acf6
2023-10-05 08:26:43 -07:00
Riccardo Cipolleschi 46d541f7b3 Remove flags to turn on/off the new architecture (#39780)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39780

This diff removes flags and setups from the files to turn on and off the new architecture. The script is meant to run only on pre-alpha builds.

## Changelog:
[Internal] - Add script to remove prealpha flags

Reviewed By: cortinico

Differential Revision: D49376471

fbshipit-source-id: 754bf6f9d5b94da77111798200bbaaa3347fb678
2023-10-05 07:40:50 -07:00
Lulu Wu 48dcfa1718 Fix new arch example not render in RNTester (#39810)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39810

Two issues will be fixed:
- Bridgeless has lazy view manager loading by default so the React Package that provides view managers must implement ViewManagerOnDemandReactPackage, we might could refactor the design of package classes later
- ThemedReactContext should **NOT** be used directly to call function ```getJSModule```, since it doesn't overrides ```getJSModule``` for Bridgeless, we can use it's internal variable ```meactApplicationContext``` which should be an instance of BridgelessReactContext

Reviewed By: cortinico

Differential Revision: D49912656

fbshipit-source-id: a0bdd717612398e8d7a6f36d36dba241a3b06bd7
2023-10-05 07:04:57 -07:00
Riccardo Cipolleschi 9fee99040d Remove unneeded write to .version file (#39807)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39807

We used to need this file so that we could read the react native version when [creating Hermes artifacts](e4b5d3eec9 (diff-78a8a19706dbd2a4425dd72bdab0502ed7a2cef16365ab7030a5a0588927bf47R1507)). Originally, that change was introduced [here](e4b5d3eec9 (diff-78a8a19706dbd2a4425dd72bdab0502ed7a2cef16365ab7030a5a0588927bf47))

Despite the fact that that approach was wrong, as we already have the right version in the package.json which is guaranteed to be present, a lot has changed since then and we don't need that file anymore.

## Changelog:
[Internal] - Remove lines that write a .version file while releasing on npm

Reviewed By: lunaleaps

Differential Revision: D49909718

fbshipit-source-id: bd23d6d73001d0b58bf6b0321ed6d4ceb3523e7a
2023-10-05 06:29:49 -07:00
Florian Sauer ed9931f456 RCTTurboModuleManager | Fix narrowing conversion. (#39829)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39829

Changelog:
    [iOS][Fixed] - Fixed narrowing conversion compilation error.

Reviewed By: sodastsai

Differential Revision: D49948385

fbshipit-source-id: 84385b90c1998d99980f1afd8b62e94202301afe
2023-10-05 05:42:53 -07:00
Riccardo Cipolleschi ce39931bc2 Fix Gemfile, setting Active support to < 7.1.0 (#39828)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39828

Active Suppert released a new Gem which is incompatible with Cocoapods 1.13.0, the latest release, as they removed a method used by cocoapods.

This fix ensures that we install compatible versions of the Gem.

## Changelog:
[iOS][Fixed] - Set the max version of Active support to 7.0.8

Reviewed By: hoxyq

Differential Revision: D49949782

fbshipit-source-id: 278097502d3a416567cc8c0b90090fee4fb21503
2023-10-05 04:42:30 -07:00
Christoph Purrer fdbfc4abc0 Add BUCK configuration for RNTester-iOS for NEW Arch (#39825)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39825

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D49834561

fbshipit-source-id: 1721e9f7954b40b620f6c2005fe6924589bfa245
2023-10-05 00:01:44 -07:00
Christoph Purrer e1d824ffd8 Add BUCK configuration for RNTester-iOS (#39757)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39757

Changelog: [Internal]

Reviewed By: fkgozali

Differential Revision: D49817124

fbshipit-source-id: cccbdb324ca5ecc1795189a7c07cfed6aa220020
2023-10-04 21:59:34 -07:00
Nick Gerleman ea72bb2511 C++ style enums 17/N: Gutter (#39599)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39599

X-link: https://github.com/facebook/yoga/pull/1407

Replaces internal usages of YGGutter with Gutter.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D49532100

fbshipit-source-id: 53c1d23e23a9db7294c66b6dc0eaff4e62ff278c
2023-10-04 20:34:42 -07:00
Nick Gerleman 9ce7b56413 Use modern Android libc++ in Yoga and React Native OSS (#39795)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39795
X-link: https://github.com/facebook/yoga/pull/1412

Android NDK 25 uses a version of libc++ that is more than three years old, missing a lot of basic features of C++ 20. This is rectified in NDK 26 (latest LTS NDK), which brings us up to date with latest Clang (17, released this year), and adds a new policy where future NDK versions will bump libc++ as part of bumping LLVM/Clang.

This requires an a beta AGP version (and corresponding Android Studio Preview). Based on how far we are historically, it wouldn't be a surprise if we see the stable release this month (well before the RN 0.74/Yoga 3.0 cut, even in the worse case).

Changelog:
[Android][Changed] - Use NDK 26

Reviewed By: yungsters

Differential Revision: D49895949

fbshipit-source-id: 37bb4d1fdf81137be7f14f6675b4e079c6f861e4
2023-10-04 19:57:14 -07:00
Nick Gerleman aefefdbbba Bump Folly to 2023.08.07.00 (#39798)
Summary:
This bumps folly, to absorb 45fffa629d which fixes warnings in XCode 15, and NDK 26 (treated as error bc we have better hygiene there). We then bump a little bit further to get past a new warning added, then fixed later.

Need to manually set `FOLLY_HAVE_GETTIME` on Apple because of the silliness described in https://github.com/facebook/folly/issues/1470#issuecomment-1746035194

There is not a combination of Folly, and Android libc++, that has fixes for warnings, but doesn't require the new libc++ in NDK 26. It is expected then that this commit will fail the build, but the next should succeed, and the two must be landed at the same time.

Changelog: [Internal]

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

Reviewed By: fkgozali

Differential Revision: D49897681

Pulled By: NickGerleman

fbshipit-source-id: 52b97ed5b302abf9e27f38dc655207827852dcc3
2023-10-04 19:57:14 -07:00
Nick Gerleman bb9ed0e906 Bump fmt to 9.1.0 (#39799)
Summary:
This is what Folly is built against internally. Bump the version we use, and the standard we compile with, to take some different paths, and see if we fix some warnings caused by FMT with the ndk bump.

Changelog:
[General][Breaking] - Bump fmt to 9.1.0

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

Test Plan: Passes in CircleCI

Reviewed By: cortinico, yungsters

Differential Revision: D49900112

Pulled By: NickGerleman

fbshipit-source-id: 3f11080555ef20aeb9291d1096ffa6077b3b3bbd
2023-10-04 19:57:14 -07:00
Hakeem King 7d88ac4ced Revert D49642047: Disable max WebSocket message size validation in CDP proxy
Differential Revision:
D49642047

Original commit changeset: 07b134c9fa6a

Original Phabricator Diff: D49642047

fbshipit-source-id: f72f7c72cf1a7941199c3d49f1a2edccb0410ac5
2023-10-04 17:48:12 -07:00
Phillip Pan d0b28580ee hook up enable_sync_void_methods_ios mc param
Summary:
Changelog: [Internal]

sync void execution is now hooked up to mc

Reviewed By: mdvacca

Differential Revision: D49854130

fbshipit-source-id: fb4241b11a80d44318b382e2757fe7fcbfba4fb1
2023-10-04 16:26:58 -07:00
Phillip Pan b401fabbc1 dispatch status bar methods onto main queue (#39759)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39759

Changelog: [Internal]

as part of the sync void tm methods test, there are some modules that do not behave correctly when trying to execute their methods on the js thread.

this module accesses UIKit, so we explicitly dispatch async to the main thread

Reviewed By: mdvacca

Differential Revision: D49835587

fbshipit-source-id: 30b5b58b6df4686bd81dbf8dbeaae275c98fa2e1
2023-10-04 16:26:58 -07:00
Phillip Pan 7a94ac3f1d dispatch async RCTNetworking methods (#39761)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39761

Changelog: [Internal]
as part of the sync void tm methods test, there are some modules that do not behave correctly when trying to execute their methods on the js thread.

to maintain the old behavior, we dispatch them explicitly in the implementation.

Reviewed By: mdvacca

Differential Revision: D49693966

fbshipit-source-id: 870118d0aeb5cfb4155eebf6afa7dfc724d4cecc
2023-10-04 16:26:58 -07:00
Phillip Pan dd30d05e00 introduce performVoidMethodInvocation (#39760)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39760

Changelog: [Internal]

void functions are kinda special right now for the following reasons:
- they can be executed async or sync right now
- they don't return any value

thus, it makes sense for us to separate the invocation logic out and clean up the logic for retrieving return values specifically.

Reviewed By: javache

Differential Revision: D49652998

fbshipit-source-id: 7dba03adb8154e73ed75f8c2864294215c748107
2023-10-04 16:26:58 -07:00
Intl Scheduler 45d74b4bd5 translation auto-update for i18n/adsmanager.config.json on master
Summary:
Chronos Job Instance ID: 1125907941955673
Sandcastle Job Instance ID: 36028798087375639
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D49932189

fbshipit-source-id: 1b09e32f31f2bd2db99ac183f144e41d58256510
2023-10-04 15:34:33 -07:00
Intl Scheduler 3052c419ac translation auto-update for i18n/fb4a.config.json on master
Summary:
Chronos Job Instance ID: 1125907941955673
Sandcastle Job Instance ID: 36028798087375639
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D49932195

fbshipit-source-id: 4e94ca2b8696b1a5ad7ba7f42f042d176bdc54a4
2023-10-04 15:34:33 -07:00
Intl Scheduler 9218c75fec translation auto-update for i18n/barcelona.config.json on master
Summary:
Chronos Job Instance ID: 1125907941955673
Sandcastle Job Instance ID: 36028798087375639
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D49932193

fbshipit-source-id: 1978aad9f0719577ebcdcd2819b8ed39e0ddfc5e
2023-10-04 15:34:33 -07:00
Intl Scheduler 3ce9072271 translation auto-update for i18n/anna.config.json on master
Summary:
Chronos Job Instance ID: 1125907941955673
Sandcastle Job Instance ID: 36028798087375639
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D49932196

fbshipit-source-id: db77b6ed7f940622c06d00b6e780b6428f8e7888
2023-10-04 15:34:33 -07:00
Intl Scheduler 8c63e3fc4c translation auto-update for i18n/analyticsapp.config.json on master
Summary:
Chronos Job Instance ID: 1125907941955673
Sandcastle Job Instance ID: 36028798087375639
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D49932192

fbshipit-source-id: ebaf19c0b4c27892d6af37decdbfd121180afc29
2023-10-04 15:34:33 -07:00
Ruslan Shestopalyuk c969d8c8dd Turn CXX implementation of TextLayoutManager into interface (#39805)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39805

## Changelog:
[Internal] -

This makes corresponsing text measure methods inside `TextLayoutManager` overridable, so that it can be substituted with a custom implementation without introducing a new "platform".

Rationale: CXX platform is rather general and less specific than Android or iOS, so we may potentially have multiple alternative implementations of text layout there.

An alternative could be making `TextLayoutManager` an interface across all the platforms, and actual implementations called e.g. `TextLayoutManagerImpl` in each of them, however this would be quite a bit bigger blast radius without much added benefit for Android/iOS.

Reviewed By: christophpurrer

Differential Revision: D49907594

fbshipit-source-id: dc8213ddb2313adaa86c2852d23bb038d80ac244
2023-10-04 14:43:01 -07:00
Hakeem King 7a320f1a9d Revert D49838842: Upgrade xplat/js + arvr/js to hermes-parser 0.16.0
Differential Revision:
D49838842

Original commit changeset: ebfd2f89852d

Original Phabricator Diff: D49838842

fbshipit-source-id: 3a4ecd10c4ed4f425dde7d70f43dc89fc1a7549f
2023-10-04 14:42:50 -07:00
Nicola Corti b93bd79779 Do not guard initializeFlipper for bridgeless for RN Tester
Summary:
We don't need this if-than-else because the initializeFlipper already checks if we're on bridgeless or not

Changelog:
[Internal] [Changed] - Do not guard initializeFlipper for bridgeless for RN Tester

Reviewed By: NickGerleman

Differential Revision: D49881903

fbshipit-source-id: e6bfc941b43382580bd418a5f27ad9426d300c69
2023-10-04 14:24:17 -07:00
Moti Zilberman 2000acc6c6 Disable max WebSocket message size validation in CDP proxy (#39809)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39809

It's currently possible for RN to crash the dev server by sending down an exceptionally large CDP response/event. Instead of making assumptions on the protocol spoken over the proxy, let's assume clients on either side of the proxy can be trusted to be well behaved (and to degrade gracefully when a large message is encountered).

Changelog: [General][Fixed] JS debugging: prevent dev server crash when a large CDP payload is returned from the device

Reviewed By: huntie

Differential Revision: D49642047

fbshipit-source-id: 07b134c9fa6aba7ce2208f71981d6d862281395f
2023-10-04 11:57:43 -07:00
Pieter Vanderwerff 4416de35f7 Upgrade xplat/js + arvr/js to hermes-parser 0.16.0 (#39791)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39791

Bump `hermes-parser` packages to the latest released version.

Changelog: https://github.com/facebook/hermes/blob/main/tools/hermes-parser/js/CHANGELOG.md

Notable changes:
- Upgraded to the lastest version of emscripten for the parser.
- The babel interop logic now more closely matches babel's AST.
  - The biggest change is we now add the `extra.raw` properties to literal nodes, which results in Babel more closely outputting literal sources. e.g. previously the following would happen `1.0` -> `1`, `'foo'` -> `"foo"` and `1n` -> `1` but now the raw source value is preserved.
- Upgraded `prettier-plugin-hermes-parser` to use the latest prettier formatting logic, which causes some minor formatting changes.
- `hermes-parser` no longer fails when the `component` name is used within a function type, e.g. `type Foo = (component: string) => void`.

Changelog: [Internal]

Reviewed By: SamChou19815

Differential Revision: D49838842

fbshipit-source-id: ebfd2f89852d1bd3b1671ce77f58240d7e17cfbb
2023-10-04 11:14:59 -07:00
Luna Wei 7f96840daa Add changelog for 0.73-rc.0 / rc.1
Summary:
Adds changelog for 0.73-rc.0 / rc.1.

Command run (before heavy manual edits):

```
npx rnx-kit/rn-changelog-generator --base v0.72.5 --compare v0.73.0-rc.0 \
  --repo ~/Development/forks/react-native --changelog ~/Development/forks/react-native/CHANGELOG.md --token $GITHUB_TOKEN
```

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D49884534

fbshipit-source-id: a92e21f0b362dba135f5b95f24007dc933f22a56
2023-10-04 11:14:52 -07:00
Jacob Parker 027d520d65 Add support for Platform.isMacCatalyst (#38187)
Summary:
Add support for `Platform.isMacCatalyst`

By default, Mac catalyst reports the idiom as an iPad, but you can check if it is Mac catalyst with a macro

There is technically the possibility to have the idiom return as a Mac, but that's not the default and almost definitely doesn't work in RN

ignore-github-export-checks

## Changelog:

[IOS] [ADDED] Add support for `Platform.isMacCatalyst`

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

Test Plan: It compiles

Reviewed By: cortinico

Differential Revision: D47664425

Pulled By: cipolleschi

fbshipit-source-id: 09f43694aa9b5f980204474f0e07779acd5ed2c7
2023-10-04 10:13:08 -07:00
adriancuadrado 4676493ba2 Update ScrollView.js (#39801)
Summary:
`pagingEnabled` **is** supported on Android. I tested it and it just seems to work.

See https://github.com/facebook/react-native-website/pull/3869#pullrequestreview-1656910863

I just edited a comment to remove a statement that is plain wrong.

## Changelog:

[Internal] Update comment

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

Reviewed By: fabriziocucci

Differential Revision: D49910049

Pulled By: javache

fbshipit-source-id: c17f6794ea920d282b924dc47ee55fd5c349efb5
2023-10-04 09:54:34 -07:00
Rubén Norte e284bdc869 Check if devtools hook on/off methods are defined before using them in AppContainer (#39808)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39808

I've been doing some tests where I disable React DevTools locally and this code has been crashing because React Fast Refresh defines the React DevTools hook if DevTools didn't ([pointer](85c2b519b5/packages/react-refresh/src/ReactFreshRuntime.js (L453-L475))), and it doesn't actually define the `on` and `off` methods, which makes this throw.

This changes `AppContainer` to check if the methods are defined before using them.

Changelog: [internal]

Reviewed By: hoxyq

Differential Revision: D49909258

fbshipit-source-id: 3b0c1f37601a1cbe38f80ca3a20ffe2348a21aaf
2023-10-04 09:50:43 -07:00
Pieter De Baets d9cc662212 Fix use-after-move in AsyncCallback (#39802)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39802

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D49884649

fbshipit-source-id: 63bbad19c35fcc424ae5d32b422a6826f9f30fbf
2023-10-04 08:03:15 -07:00
Nicola Corti e6094f7a3b Do not attempt to translate devsupport strings (#39787)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39787

I've realized that some of the DevMenu strings were missing the `project="catalyst" translatable="false"`
tags so they ended up being fed to the translation pipeline.
We don't need those strings to be translated so I'm cleaning this up.

Changelog:
[Internal] [Changed] - Do not attempt to translate devsupport strings

Reviewed By: arushikesarwani94

Differential Revision: D49870688

fbshipit-source-id: 14188f4d391c7f8e2e6e92a394d85c58c8fbcf95
2023-10-04 07:11:24 -07:00
Saad Najmi c7aa3954e3 Move `[RCTConvert RCTTransformOrigin:]` out of UIAccessibilityTraits category (#39758)
Summary:
5f40f0800e added a new prop and corresponding RCTConvert method for transformOrigin. Strangely, it added the RCTConvertMethod to a `RCTConvert+UIAccessibilityTraits` category.. which feels like the wrong spot for it. Let's just add it to the existing `RCTConvert+Transform` category. This also means we can get rid of the header if we move the `RCTTransformOrigin` struct into UIView+React (where it is used).

## Changelog:

[IOS][CHANGED] - Move `[RCTConvert  RCTTransformOrigin:]` out of UIAccessibilityTraits category

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

Test Plan:
Transform Origin example still works.
<img width="559" alt="Screenshot 2023-10-02 at 11 26 17 AM" src="https://github.com/facebook/react-native/assets/6722175/c7b863cc-3595-430d-8579-f8ce8e73c4f4">

Reviewed By: javache

Differential Revision: D49867993

Pulled By: NickGerleman

fbshipit-source-id: 1b2d5a9d08f0231040e7449f2eb75860f08bafa5
2023-10-04 06:42:17 -07:00
Saad Najmi 452bf0ff06 Remove `<Webkit/Webkit.h>` import in `RCTConvert.h` (#39794)
Summary:
This PR is in response to https://github.com/facebook/react-native/pull/39758#discussion_r1344839022 .

`RCTConvert.h` currently takes an import of `<Webkit/Webkit.h>` for... one enum: `WKDataDetectorTypes`. This has a few problems:

1) RCTConvert is JS engine agnostic, it shouldn't be depending on Webkit
2) As far as I can tell, this code is dead, we also define (and use) the UIKit equivalent `UIDataDetectorTypes`.

Let's just combine the two, update some JS typing, and get rid of the Webkit header import.

## Changelog:

[IOS] [CHANGED] - Remove `<Webkit/Webkit.h>` import in `RCTConvert.h`

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

Test Plan: CI should pass

Reviewed By: rshest

Differential Revision: D49898701

Pulled By: NickGerleman

fbshipit-source-id: 5420cb62317e1186426aae019bcc43d27c49ea26
2023-10-04 06:42:17 -07:00
Riccardo Cipolleschi acb88d477e Makes the Jobs required for Hermes to run in tagged build while releasing (#39806)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39806

Same issue of the previous fix: jobs do not run by default on tagged build. I forgot to add the filter parameter in the jobs that build the slices for Hermes and packages it and therefore the build failed.

I added those filters, so now we should be able to release RC.1.

What puzzles me is how it is possible that the publish-npm jobs even started, given that it was set up to depends on a job called build_hermes_macos which was not executed in the pipeline. 🤔

https://pxl.cl/3w2rr

## Changelog:
[Internal] - Make sure that the Hermes jobs starts when releasing

Reviewed By: dmytrorykun

Differential Revision: D49906898

fbshipit-source-id: ebbceb6cbc4dcd2ac22445610da1c52000c8ae2a
2023-10-04 05:49:39 -07:00
David Vacca 353d8d3980 deduplicate code in cleanDataFromModules (#39767)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39767

deduplicate code in cleanDataFromModules

changelog: [internal] internal

bypass-github-export-checks

Reviewed By: cortinico

Differential Revision: D49834866

fbshipit-source-id: 6b54a0cfcd58e9c963125d07b736e1377a548393
2023-10-03 19:57:38 -07:00
David Vacca d0bb2e49c7 Update deprecation documentation (#39766)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39766

Update deprecation documentation

changelog: [internal] internal

bypass-github-export-checks

Reviewed By: cortinico

Differential Revision: D49834868

fbshipit-source-id: 729a51495730a58475e1dbc95400f1ef7dc39c59
2023-10-03 19:57:38 -07:00
David Vacca 2c3ff9eaa4 Mark ReactNativeHost as deprecated In new architecture (#39765)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39765

Mark ReactNativeHost as deprecated In new architecture

changelog: [internal] internal

bypass-github-export-checks

Reviewed By: cortinico

Differential Revision: D49834869

fbshipit-source-id: ab5b32068c130b6dd4f2511e4a0c0e3029e462ed
2023-10-03 19:57:38 -07:00
Ian Levesque fea445ee2d Make all annotation processors derive from ProcessorBase (#39360)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39360

X-link: https://github.com/facebook/litho/pull/958

Reviewed By: MonaHashem

Differential Revision: D49113071

fbshipit-source-id: f762032e0f0b4a1566b0947fe3a24eb32be5795a
2023-10-03 17:47:12 -07:00
Oleksii c4110d0475 rewrite RNTesterApplication to kotlin (#39557)
Summary:
Rewrite `RNTesterApplication` to Kotlin as per [Help us Kotlin-ify React Native tests - Round 2](https://github.com/facebook/react-native/issues/38825)

## Changelog:

[ANDROID] [CHANGED] - Rewrite RNTesterApplication to Kotlin, add AnnotationTarget property.

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

Test Plan:
`yarn && yarn android` 

The only thing I'm kinda unsure of is whether `AnnotationTarget.PROPERTY` should be added, but it didn't let me annotate `reactHostInterface` without that and didn't compile.
<img width="637" alt="image" src="https://github.com/facebook/react-native/assets/33528752/8bc84870-f3f2-4a46-b076-6ee7e38bd735">

 cortinico mdvacca

Reviewed By: cortinico

Differential Revision: D49598401

Pulled By: mdvacca

fbshipit-source-id: 105ae0c13c93dae0eeb2b6fa9040f03f42d2736a
2023-10-03 17:12:56 -07:00
Alex Hunt e1f21fcc4c Fix start command exit behaviour (#39788)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39788

Hotfix for exiting `npx react-native start` when a session is connected. Partially reverts D49422206.

This lines back up with the original RN CLI and Expo implementations — explicitly calling `process.exit()`. We still aim to follow this up with graceful server shutdown.

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D49880226

fbshipit-source-id: d2c76b2de21b9172dfd892141d1f679b808e043d
2023-10-03 16:21:58 -07:00
Pieter De Baets c604f10d4a Improve Fabric debug logging (#39778)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39778

Used with `IS_DEVELOPMENT_ENVIRONMENT` and `ReactFeatureFlags.enableFabricLogs`.

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D49864983

fbshipit-source-id: bf912abd765ff74e9ed8b94571293f79458feca2
2023-10-03 16:04:51 -07:00
Nick Gerleman 72d0fed272 Fix style resolution functions returning FloatOptional (#39595)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39595

X-link: https://github.com/facebook/yoga/pull/1404

These functions all ensure their returns are defined, but return FloatOptional anyway, making their callers have to deal with that possibility. Return `float` instead of `FloatOptional`, and do some additional cleanup.

Reviewed By: rshest

Differential Revision: D49531421

fbshipit-source-id: 95b21cade74e501dd54c7b6ca667c8c3859c5dae
2023-10-03 15:36:01 -07:00
Nick Gerleman 25478321f9 Top-down onLayout events (#39644)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/39644

This makes Android Paper/Classic renderer fire `onLayout` events top down, like in Fabric/new Architecture. This gives a much more sane model for using layout events to calculate bottom/right-edge insets.

I was under the impression that Paper in general was bottom-up, but it turns out that is only true for Android and Windows (iOS seems totally deterministic).

This is a behavior change, but to my knowledge was never hit during the Fabric migration, and any JS code already written for both Android and iOS cannot make assumptions here anyways.

Changelog:
[General][Changed] - Make layout events top-down on Android classic renderer

Reviewed By: mdvacca

Differential Revision: D49627996

fbshipit-source-id: 29964b421dd420681d45348c7db16f211a6c087f
2023-10-03 13:58:03 -07:00
huzhanbo.luc ea88338d75 convert ReactPropAnnotationSetterTest to Kotlin (#39706)
Summary:
fix and convert `ReactPropAnnotationSetterTest` to Kotlin for https://github.com/facebook/react-native/issues/38825

## Changelog:

[ANDROID] [CHANGED] - Rewrite ReactPropAnnotationSetterTest to Kotlin,

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

Test Plan:
yarn && ./gradlew :packages:react-native:ReactAndroid:test

cortinico mdvacca

Reviewed By: NickGerleman

Differential Revision: D49839905

Pulled By: cortinico

fbshipit-source-id: 4afda5cdccd722f0e16e2ab517e32ecee0b845a4
2023-10-03 13:53:06 -07:00
Nicola Corti 5dedf277cb Fix broken Loading/Refreshing indicator on Android
Summary:
The Loading.../Refreshing... indicator is currently broken on Android.
The reason is related to D42599220
We used to have a Toast shown to users on Android as a fallback, but as the
DevLoadingView is not always loaded as a module in the core package, this ends up in the banner never beign shown to the user (on RN Tester or template apps).

Changelog:
[Android] [Fixed] - Fix broken Loading/Refreshing indicator on Android

Reviewed By: cipolleschi

Differential Revision: D49876757

fbshipit-source-id: 400e002327ebca908e3e7a7f81c5066888ac4e9b
2023-10-03 13:24:09 -07:00