Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37599
changelog: [internal]
Moving CoreFeatures class to `utils` module from `core` module. There are other modules besides `core` that need to use CoreFeatures and moving it to `utils` will prevent circular dependency.
Reviewed By: javache, rshest
Differential Revision: D46218604
fbshipit-source-id: 6030f00ad37f55f0c95f4eafa61fb22808b880a4
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37947
# Changelog:
[Internal] -
This is a follow-up to an earlier change, that inadvertently added internal methods as public into the GlobalPerformance API.
Reviewed By: rubennorte
Differential Revision: D46820273
fbshipit-source-id: b960b436e3e5e8f81a76bd3ced7282f76906dfca
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37889
Changelog: [Internal] - Add plumbing/boilerplate for an iOS implementation of the gotpointercapture and lostpointercapture events
Lets try this again: The key difference between this and D44977499 (which I previously reverted) is that in propsConversions & primitives I've ommited the "capture" versions of those methods as it was causing issues. Since we're not doing any runtime checks of those raw props it isn't particularlly necessary (at least not yet) and if we ever want to we can address that when it comes up.
The original diff description follows:
This diff simply adds the boilerplate necessary to hook up the gotpointercapture and lostpointercapture events to the fabric iOS touch handler. This diff does not contain any actual implementation of their behavior as that will occur in future diffs.
Reviewed By: adanoff
Differential Revision: D46709127
fbshipit-source-id: 339dc99e14f2e72d9116bbe84edc67cb5bfaa73b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37304
### Stack
ARIA roles in React Native are implemented on top of accessibilityRole. This is lossy because there are many more ARIA roles than accessibilityRole. This is especially true for RN on desktop where accessibilityRole was designed around accessibility APIs only available on mobile.
This series of changes aims to change this implementation to instead pass the ARIA role to native, alongside any existing accessibilityRole. This gives the platform more control in exactly how to map an ARIA role to native behavior.
As an example, this would allow mapping any ARIA role to AutomationControlType on Windows without needing to fork to add new options to accessibilityRole.
It also allows greater implementation flexibility for other platforms down the line, but for now, iOS and Android behave the same as before (though with their implementation living in native).
### Diff
This removes the JS shimming of `role` to `accessibilityRole`. It can be landed when the native `role` implementation for both iOS and Android are live for versions we service out of band.
This will require any out of tree platforms to add their own native implementation for `role` to continue to work.
Changelog: [Internal]
Reviewed By: philIip
Differential Revision: D45432518
fbshipit-source-id: 02ac28049a029381af019c042fc7f37833f4157c
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37925
Vectorized animations (XY, Color) are split into multiple animations for each component that execute in parallel. Upon each of these animations completing, a rerender is triggered to sync the state back to the JS AnimatedValue nodes.
The problem with this is that calling update() on AnimatedProps when each animation completes results in potential flickering as all animations that are part of the vectorized animation may not have completed yet. For example, only the animation for the red channel of an animating color may have been completed, resulting in a temporary red color being rendered. So, for now, ignore AnimatedProps that use a vectorized animation.
Follow up will properly address vectorized animations - only call the update() when all animations complete.
Changelog:
[General][Fixed] - Mitigate flickering on color animations
Reviewed By: rshest
Differential Revision: D46778405
fbshipit-source-id: 5ecb0be95a131b22e5081024d4e094b22b57aac4
Summary:
With commit [332be0f](https://github.com/facebook/react-native/commit/332be0f0c84c48e0b0edd373636b0b5538fa3b2b) nightlies were broken due to a wrong update with the method we need to use to download hermes.
This change fixes that issue
## Changelog:
[Internal] - Fix hermes-engine download in Nightlies
Reviewed By: cortinico
Differential Revision: D46800717
fbshipit-source-id: 62ce94b980110f46337ce2520fa3c9fbcfe856cc
Summary:
Just keeping our Gradle version up to date.
Changelog:
[Internal] [Changed] - Bump Gradle to 8.1.1
Reviewed By: yungsters
Differential Revision: D46769069
fbshipit-source-id: b79ae35473f40e821cf6a1b8e094e33d1b1a44d7
Summary:
test_android is currently broken due to us using `toHttpUrl` which is `Deprecated` with
.ERROR severity level in OkHTTP 4. This fixes it by using the HttpUrl.Builder class
which is always accessible in OkHTTP.
Changelog:
[Internal] [Changed] - Unblock test_android by using a non-internal method of OkHTTP
Reviewed By: sammy-SC
Differential Revision: D46799515
fbshipit-source-id: 874194f0d9be6ba48b49a86b1a17836a8310cc8d
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37932
`static_cast<Derived &>(*sharedBase)` is preferred over `*std::static_pointer_cast<Derived>(sharedBase)`, since we don't need to copy the underlying shared_ptr to do so. The same applies for `std::const_pointer_cast`.
Changelog: [Internal]
Reviewed By: rshest
Differential Revision: D46766558
fbshipit-source-id: 5d0b660107b2a60340952e2b5ec2792e3ed1832a
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37930
# Changelog:
[Internal] -
Was looking at some [crash report](https://github.com/facebook/react-native/pull/37927) on Github and noticed that error message has a grammar error.
Searching the code revealed three more, all in Animated.
This calms down my OCD :)
Reviewed By: sammy-SC
Differential Revision: D46792795
fbshipit-source-id: 5fcf78e38d5d1540d3699e81bbf4ba036fb5c74d
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37918
# Changelog:
[Internal] -
There is no guarantee that `setUpPeformance`, which establishes the `global.performance` object accordingly, will be always called before anything tries to use performance logging.
In fact, there is an example in FB4A with the early initialization of `MobileConfige`, which logs a time span to measure how long does it take to initialize.
This makes the web performance logging code safe from such scenarios.
Reviewed By: NickGerleman
Differential Revision: D46762527
fbshipit-source-id: e189cc3f587ade31a2b5d853634c35da207f5faa
Summary:
This PR migrates ReactCookieJarContainerTest.java to Kotlin as a part of the issue https://github.com/facebook/react-native/issues/37708
## Changelog:
[INTERNAL] [CHANGED] - Migrate ReactCookieJarContainerTest.java to Kotlin
<!-- 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
Pull Request resolved: https://github.com/facebook/react-native/pull/37809
Test Plan:
1. Run ./gradlew :packages:react-native:ReactAndroid:test.
2. All tests should pass.
Reviewed By: javache
Differential Revision: D46779169
Pulled By: rshest
fbshipit-source-id: b5caa9397ac1b852fc73d9c58afc4a21caeb8727
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37917
# Changelog:
[Internal] -
The `global.performance` object now has all of the API defined according to the `Performance` API, so we can modify the local RN's flow definition override correspondingly.
Reviewed By: NickGerleman
Differential Revision: D46762326
fbshipit-source-id: 0d0b9ea271a91008e775d8cf59693c35758f71e5
Summary:
This diff introduces ReactSurfaceInterface (as an empty interface).
The goal is to demonstrate that we will be extending interfaces iteratively, meaning we will complete this API as we advance on the Stable API of surface in H2
bypass-github-export-checks
changelog: [internal] internal
Reviewed By: cortinico
Differential Revision: D46770420
fbshipit-source-id: 48b1ee302c157ae3431d61c84322d788d149f881
Summary:
This diff refactors ReactApplication to support ReactHostInterface, the goal is to be able to use this interface to integrate bridgeless in RN Tester app
bypass-github-export-checks
changelog: [internal] internal
Reviewed By: cortinico
Differential Revision: D46770419
fbshipit-source-id: b3e88b12aab6287396b16b277f906026a07acad6