Commit Graph
32039 Commits
Author SHA1 Message Date
Nicola Corti daf9b29d05 Revert "Release 0.75.0-rc.0"
This reverts commit c2ebb30389.
2024-06-18 18:37:46 +01:00
React Native Bot c2ebb30389 Release 0.75.0-rc.0
#publish-packages-to-npm&next
2024-06-18 17:33:11 +00:00
Nicola Corti f4b1dd1fa1 [LOCAL] Configure git user before attempting to publish a release (#45039) 2024-06-18 18:31:53 +01:00
Nicola Corti a0c83803e8 Fix release regex for publish-release workflow (#45043)
Summary:
The existing regex is not workign. I've split it in two and tested it against a private repo.

## Changelog:

[INTERNAL] - Fix release regex for publish-release workflow

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

Test Plan: Tested on privare repo with GHA

Reviewed By: cipolleschi

Differential Revision: D58736292

Pulled By: cortinico

fbshipit-source-id: f07ef32dcb0059922100c555f7894bbf0c7dd8f6
2024-06-18 18:29:09 +01:00
Riccardo Cipolleschi 528097709a [LOCAL][RN][Release] Use github bot token to commit the tag 2024-06-18 18:27:47 +01:00
Riccardo Cipolleschi efa1e5375a Revert "Release 0.75.0-rc.0"
This reverts commit 1481140e68.
2024-06-18 17:14:43 +01:00
Riccardo Cipolleschi d524c151cd [CI][Release] remove publishing jobs from cci 2024-06-18 17:10:41 +01:00
React Native Bot 1481140e68 Release 0.75.0-rc.0
#publish-packages-to-npm&next
2024-06-18 16:01:33 +00:00
Nicola Corti 03591318fb [LOCAL] Fix double quotes for inputs.dry_run 2024-06-18 17:00:34 +01:00
Nicola Corti 56e1c8bfdd [LOCAL] Fix input types for create-release 2024-06-18 16:58:54 +01:00
Nicola Corti 1b891357b2 [LOCAL] Configure git user before attempting to publish a release (#45039) 2024-06-18 16:51:54 +01:00
Riccardo Cipolleschi e36b46f0c9 [LOCAL][CI][Release] Forward inputs to Create Release composite action (#45038) 2024-06-18 16:46:49 +01:00
Riccardo CipolleschiandNicola Corti b236f9bd82 [LOCAL][RN][Release Testing] Update the testing script to run with the community template (#45033)
* [LOCAL][RN][Release Testing] Update the testing script to run with the community template

* fix prettier

---------

Co-authored-by: Nicola Corti <ncor@meta.com>
2024-06-18 16:23:08 +01:00
Nicola Corti 44d4190581 [LOCAL] Disable test_js_e2e on the 0.75 release branch (#45022) 2024-06-18 11:16:56 +01:00
Riccardo Cipolleschi 88c136ed36 [LOCAL][RN][CI] Use bigger machines for Android Helloworld (#45020) 2024-06-18 10:53:46 +01:00
Blake Friedman e56d4f9528 remove the template from react-native package (#45008)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45008

As part of RFC0759, we are moving the template into it's own repository.

- [Section in RFC0759](https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0759-react-native-frameworks.md#evolving-the-react-native-community-template--cli)
- [Template's new home](https://github.com/react-native-community/template)
- [Versioning discussion](https://github.com/react-native-community/cli/issues/2345)

Changelog: [General][Breaking] removed the template from react-native into react-native-community/template

Reviewed By: cortinico

Differential Revision: D58184276

fbshipit-source-id: 5e52320af55495488587accbe144d11164cea4fd
2024-06-18 10:04:11 +01:00
Blake Friedman 20ca94b0d3 test_android_template → test_android_helloworld but disabled until template is removed (#44908)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44908

Changelog: [General] [Changed] - CircleCI test to Helloworld, but disabled for now until we remove the template

Reviewed By: cipolleschi

Differential Revision: D58469912

fbshipit-source-id: 718a774946bd70347697f18bbfc470b2897d2f87
2024-06-18 10:02:48 +01:00
Nicola Corti 37e8fa113e Revert "Make the New Architecture the default (#43135)"
This reverts commit b9f3186ee6.
2024-06-17 14:32:59 +01:00
Nicola Corti 492a0c1292 Bump Hermes version 2024-06-17 14:27:43 +01:00
Blake Friedman 6f7eae5c58 fix disk utilisation step in GHA (#45006)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45006

The steps were pointing to an incorrect folder.  Updated to points to react-native/packages

Changelog: [Internal]

Reviewed By: cipolleschi

Differential Revision: D58669426

fbshipit-source-id: b58b9bc7d8c7860f2f46c8bdf4bf0636e82ee357
2024-06-17 06:18:18 -07:00
Afonso 0950916846 Fix custom port listening configuration through metro.config.js (#44957)
Summary:
After updating my project to 0.73.2 I noticed that even though I had a specific port set in my `metro.config.js`, every time I'd start my project, it was running on port 8081. Passing the `--port` argument would allow me to change the port, but the config from metro did not.  I checked if the metro config was being properly applied, using `--verbose` and it was.

So I dug a bit, trying to figure out what had changed and noticed the coalescing of the value, whenever the argument `--port` is not present. That seemed odd since it meant that there's always a port defined for the `options` of `loadMetroConfig`, which would always be used in the `loadConfig` step.

To confirm I was on the right track I went to the [cli-plugin-metro](https://github.com/react-native-community/cli/blob/v11.3.10/packages/cli-plugin-metro) repo, to the last release before the move here, and noticed that there was [no coalescing in the same method](https://github.com/react-native-community/cli/blob/v11.3.10/packages/cli-plugin-metro/src/commands/start/runServer.ts#L60).

In this PR, I remove the coalescing of the port from `runServer.js` from the `community-cli-plugin`, to allow the port configuration through `metro.config.js`.

## Changelog:
[INTERNAL] [FIXED] - Fix server port configuration via `metro.config.js`
<!-- Help reviewers and the release process by writing your own changelog entry.

Pick one each for the category and type tags:

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

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

Test Plan:
Running `yarn start` and verifying that:
- it would listen to port `8081` if no argument nor a custom port was set in `metro.config.js`
- it would listen to port `8082` if that one was defined in `metro.config.js`
- it would listend to port `8083` if that port was passed as an argument to the command (i.e. `yarn start --port 8083` even though port 8082 was defined in `metro.config.js`

Reviewed By: cortinico

Differential Revision: D58605152

Pulled By: robhogan

fbshipit-source-id: 9cf7a8b6a0d9de3af1ca4092906b4c648acee373
2024-06-17 05:52:16 -07:00
Blake Friedman fa8ea481f0 Add more disk visibility on GHA Android builds (#45005)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45005

We've had failures owing to running out of disk space, however this isn't a stable failure.  Adding more data about disk availability and utilisation to help debug these issues.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D58667190

fbshipit-source-id: 3d5f7cc985ac71044818f7b5663ef7400ad691b5
2024-06-17 04:30:47 -07:00
Robert Pasiński abfadc6083 feat: Implement requestIdleCallback (#44636) (#44759)
Summary:
Implements `requestIdleCallback` and `cancelIdleCallback`

### Notes

Proposed implementation does yet cover all WHATWG eventloop requirements.
 - Deadline computation is not implemented and is polyfilled by giving each callback `50ms`, rather than it being shared between other idle callbacks.
 - The requested callbacks are called with lowest priority by the scheduler as of now, but the execution is not as described in the standard.

## Changelog:

- [GENERAL] [ADDED] - Implemented `requestIdleCallback` and `cancelIdleCallback`

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

Reviewed By: javache, sammy-SC

Differential Revision: D58415077

Pulled By: rubennorte

fbshipit-source-id: 46189d4e3ca1d353fa6059a904d677c28c61b604
2024-06-17 04:22:43 -07:00
Jakub Piasecki 9922628032 Allow for setting accessibility label on text (#45003)
Summary:
Closes https://github.com/facebook/react-native/issues/43648.

`accessibilityLabel` is overridden on `RCTParagraphComponentView`: https://github.com/facebook/react-native/blob/fe06cbfbf332a999e065bdc13ef5cdeed20c5517/packages/react-native/React/Fabric/Mounting/ComponentViews/Text/RCTParagraphComponentView.mm#L157-L160

Effectively making it ignore whatever is set in the prop on the component. This PR updates the overridden method to check if the prop is set (and return that if it is) before returning the text as a label.

## Changelog:

[IOS] [FIXED] - Fix the accessibility label not being applied to text components on the new architecture

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

Test Plan:
Tried out on the reproduced from the issue.

|Text with label set|Text with no label set|
|-|-|
|<img width="982" alt="Screenshot 2024-06-17 at 08 33 58" src="https://github.com/facebook/react-native/assets/21055725/646014b3-5e9e-4023-8fe7-6dd65f04b217">|<img width="982" alt="Screenshot 2024-06-17 at 08 34 12" src="https://github.com/facebook/react-native/assets/21055725/2d712ced-ab78-4f8d-b482-b30df53ca949">|

Reviewed By: javache

Differential Revision: D58664380

Pulled By: cipolleschi

fbshipit-source-id: 88b45ca859283e16472630675b66a12732be6388
2024-06-17 03:12:23 -07:00
Tim Yung 97f9e101bf RN: Update Renderers for React 19 (#44991)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44991

Updates the open source renderers for React 19. This is in preparation for React Native 0.75.

Notable, this incorporates the feature flag changes from [facebook/react#29903](https://github.com/facebook/react/pull/29903).

Changelog:
[General][Changed] - Upgrade Renderers for React 19

Reviewed By: robhogan

Differential Revision: D58632199

fbshipit-source-id: 674bb47554e4b0c6ab5127fb9683ed8284b7a4ce
2024-06-17 02:59:55 -07:00
Tim Yung 0dd8224a71 RN/Relay: Bump Dependency to React 19 (#44990)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44990

Upgrades React Native and Relay to depend on React 19, which is currently published as release candidates. This is in preparation for React Native 0.75.

This will depend on updating open source renderers after [facebook/react#29903](https://github.com/facebook/react/pull/29903) is merged.

Changelog:
[General][Changed] - Upgrade to React 19

Reviewed By: robhogan

Differential Revision: D58625271

fbshipit-source-id: f9ad95b18716a9ce02f7cfbcc7248bdfb244c010
2024-06-17 02:59:55 -07:00
Tim Yung 5a8327857b RN: Configure Jest for React 19 (#44989)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44989

Enables these 2 global feature flags for React Native Jest testing:

- `IS_REACT_ACT_ENVIRONMENT`
- `IS_REACT_NATIVE_TEST_ENVIRONMENT`

Changelog:
[General][Changed] - Enables React global flag that causes Jest testing environment to require `act()`

Reviewed By: robhogan

Differential Revision: D58644562

fbshipit-source-id: 4de5ea3a89e8ca99ac4c1c21721872db4f5552b3
2024-06-17 02:59:55 -07:00
Tim Yung 180dbbf0fb RN: Mitigate Remaining Jest Failures for React 19 (#45002)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/45002

There are a couple Jest unit test cases for `VirtualizedList-test.js` that require further investigation.

We believe that these are problems with Jest fake timers in the test and not with the component itself, so for now let's skip them so as to unblock the upgrade to React 19.

Changelog:
[Internal]

Reviewed By: robhogan

Differential Revision: D58656948

fbshipit-source-id: d52f3ad8277def6eae20cbbc11751d73b769d929
2024-06-17 02:59:55 -07:00
Tim Yung fe06cbfbf3 Add missing acts to VirtualizedList-test and migrate to async act (#44997)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44997

Wrap `VirtualizedList-test` uses of `react-test-renderer` in `act` as appropriate, so as to pass under current React and mostly pass under React 19, with further fixes to come.

Changelog: [Internal]

Reviewed By: robhogan

Differential Revision: D58649295

fbshipit-source-id: 5e0fa791d581fbf004a2ca7eaa5c4b4d9a15ddfe
2024-06-16 23:02:19 -07:00
Rob Hogan 8c06a69163 assetRelativePathInSnapshot-test: use act-wrapping abstraction for create
Summary:
Migrate assetRelativePathInSnapshot-test to `act`-wrapping abstraction for `react-test-renderer` `create` in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653908

fbshipit-source-id: 432b172348c445b1684e60cf60b6ab94d62f21e1
2024-06-16 21:38:01 -07:00
Rob Hogan 50e65d4828 FlatList-test: use act-wrapping abstraction for create
Summary:
Migrate FlatList-test to `act`-wrapping abstraction for `react-test-renderer` `create` in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653845

fbshipit-source-id: 426fcef454927cee0eb2c38ef16c82106354e5d9
2024-06-16 21:38:01 -07:00
Rob Hogan cf6df4392f TouchableWithoutFeedback-test: use act-wrapping abstraction for create
Summary:
Migrate TouchableWithoutFeedback-test to `act`-wrapping abstraction for `react-test-renderer` `create` in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653765

fbshipit-source-id: 901ea10ec5dd72f8403a84cfd9f9e8ed55dbe04c
2024-06-16 21:38:01 -07:00
Rob Hogan a6e4e3aad2 ReacNativeTestTools-test: use act-wrapping abstraction for create
Summary:
Migrate ReacNativeTestTools-test to `act`-wrapping abstraction for `react-test-renderer` `create` in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653724

fbshipit-source-id: bd33fcde6d620f6b5400a043b3ef944ddba7607e
2024-06-16 21:38:01 -07:00
Rob Hogan 6d836c5182 TouchableOpacity-test: use act-wrapping abstraction for create
Summary:
Migrate TouchableOpacity-test to `act`-wrapping abstraction for `react-test-renderer` `create` in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653673

fbshipit-source-id: 612ef12bca3011951297b5c17f1606e7cb7eebe7
2024-06-16 21:38:01 -07:00
Rob Hogan a66ba92526 VirtualizedSectionList-test: use act around react-test-renderer create
Summary:
Migrate `VirtualizedSectionList-test` to use `act`-wrapping in prepation for React 19.

Avoid the `react-native/jest/renderer` abstractions as this is a separate package.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653558

fbshipit-source-id: 0e19fff5c3998fb00b71c3d07100a2064682cb4c
2024-06-16 21:38:01 -07:00
Rob Hogan 102546bf04 AnimatedNative-test: use act-wrapping abstraction for create, update, unmount
Summary:
Migrate `AnimatedNative-test` to `act`-wrapping abstractions in preparation for React 19.

Changelog: [Internal]

bypass-github-export-checks

Reviewed By: yungsters

Differential Revision: D58653416

fbshipit-source-id: 320bb66b068b172dc3e90e006a58a3b6a0c74920
2024-06-16 21:38:01 -07:00
Rob Hogan 9af481d38b TextInput-test: use act-wrapping abstraction for create
Summary:
Migrate TextInput-test to act-wrapping abstractions for `react-test-renderer` `create`, in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653346

fbshipit-source-id: 3fe191cbb274b651e98e75c0059011943755a5bc
2024-06-16 21:38:01 -07:00
Rob Hogan 53c125ee6e Button-test: use act-wrapping abstraction for create
Summary:
Migrate `Button-test` to async, `act`-wrapping abstractions in preparation for React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653259

fbshipit-source-id: 82e052e5ab328471d74b9f88b05bb887d89c247c
2024-06-16 21:38:01 -07:00
Rob Hogan 9381c6db25 Animated-test: use act around create, update and unmount
Summary:
Use `act`-wrapping abstractions for `create`/`update`/`unmount` in `Animated-test` so that it's React 19-ready.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653231

fbshipit-source-id: 44075dfde9740070279c0d1004674349d63de9cd
2024-06-16 21:38:01 -07:00
Rob Hogan c45896556a ReactNativeTestTools - wrap create in act
Summary:
Wrap `ReactTestRenderer.create` in `act` within `ReactNativeTestTools.expectRendersMatchingSnapshot`, as required for concurrent rendering and `IS_REACT_ACT_ENVIRONMENT` in React 19.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58653136

fbshipit-source-id: 9ca0d053bda3e87dd92b762061b839d7bdd571b5
2024-06-16 21:38:01 -07:00
Pieter Vanderwerff b56646fa08 Switch 'number of lines' validation to DEV only (#44961)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44961

Switch the "number of lines" warning, which ensures this value is not negative, to only fire in DEV.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58472148

fbshipit-source-id: e52849effe9a6dc3f25288a64deebd4fd7624e4e
2024-06-16 20:30:52 -07:00
Rob Hogan 9435097b16 Migrate SectionList-test to async jest/renderer create abstraction (#44999)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44999

Use `act`-wrapped abstraction for test rendering in preparation for this becoming mandatory.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58651098

fbshipit-source-id: d797c792b1f6ac155f02951a8264cf0631961d83
2024-06-16 16:55:21 -07:00
Rob Hogan b24cf4f54c Introduce update and unmount helpers to react-native/jest/renderer, use in ScrollView-test (#44998)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44998

Add async helpers to the existing `jest/renderer` module to wrap `react-test-renderer`'s `update` and `unmount` in `act`.

Migrate one test `ScrollView-test` as a usage example and to make it compatible with incoming React 19 concurrency requirements.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58650989

fbshipit-source-id: 5eb48722ee7a5487355969e553ba79c3ce361067
2024-06-16 16:55:21 -07:00
Rob Hogan 132e2a305c Wrap jest/renderer create abstraction in act for concurrent rendering (#44994)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44994

For RN monorepo tests, wrap `create` calls through our `jest/renderer` abstraction in `await act`.

This is a no-op under current React but will be required under `react-test-renderer@19` with `IS_REACT_ACT_ENVIRONMENT`.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58650940

fbshipit-source-id: 4013af89dd7c9f447b2dd493989f3a4fdf2b6508
2024-06-16 16:55:21 -07:00
Rob Hogan 84866617de LogBoxInspector-test: Mock out symbolication (#44996)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44996

Mock out some LogBoxData symbolication in LogBoxInspector-test that would otherwise make it sensitive to an async `useEffect` when wrapping in `act`.

This is immaterial to the snapshot under test (changing a state from `PENDING` to `NONE`).

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58651811

fbshipit-source-id: d47100a87d83102bbe183cb7266d66344e75b0b0
2024-06-16 16:55:21 -07:00
Rob Hogan f094990450 Migrate StatusBar-test to jest/renderer create abstraction in preparation for React 19 (#44993)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44993

Use our existing thin abstraction around `react-test-renderer` `create` within `react-native/jest/renderer`, in order to benefit from the introduction of async `act` wrapping in that abstraction.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58650874

fbshipit-source-id: d3d1967fa68568e3ae2d8069478cb79aa7049ed0
2024-06-16 16:55:21 -07:00
Rob Hogan 910e7133bc Asyncify ReactNativeTestTools.expectRendersMatchingSnapshot (#44992)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44992

To allow for async `act` in a subsequent diff, make this utility method async and awaited at all call sites.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58647828

fbshipit-source-id: 3a47c57569814638c216309eed1885dd37521dde
2024-06-16 16:55:21 -07:00
Rob Hogan 1e11257670 Make jest/renderer create helper async in prep for concurrent (#44995)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44995

Use our existing abstraction around `react-test-renderer`'s `create` and make it asynchronous, to allow for wrapping `create` in `act` in a subsequent diff, and using the async API per guidance in https://react.dev/reference/react/act?#await-act-async-actfn .

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D58647827

fbshipit-source-id: f81cf382892ef5ba14b452bd32980c98bd7ef03b
2024-06-16 16:55:21 -07:00
Tim Yung ffc0640bf8 RN: Remove react-shallow-renderer Dependency (#44982)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44982

Removes `react-shallow-renderer` dependency from the `react-native` package because it is no longer used.

Changelog:
[Internal]

Reviewed By: robhogan

Differential Revision: D58643454

fbshipit-source-id: f9aa62af2ff0282d6b54b97da6f2870a38881947
2024-06-16 13:51:18 -07:00
Tim Yung e8d235f6e2 RN: Delete Shallow Renderer Mock Tests (#44973)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/44973

Changes `expectRendersMatchingSnapshot` to no longer make assertions about shallow rendering, because shallow rendering is now deprecated.

Changelog:
[Internal]

Reviewed By: robhogan

Differential Revision: D58643365

fbshipit-source-id: 03653045a44a176095c53fc0ff27743cc8ea1820
2024-06-16 13:51:18 -07:00