Summary:
According to the podfiles, the minimum version is 13.4
## Changelog:
[General] [Fixed] - Updated docs to match iOS 13.4 minimum requirement.
<!-- 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/38108
Reviewed By: jacdebug
Differential Revision: D47093313
Pulled By: blakef
fbshipit-source-id: f59b1be3a6608082fd680e42396aff9a269c77a0
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38079
This diff fixes the
```
out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Werror,-Wdeprecated]
```
error in `RAMBundleRegistry`
## Changelog:
[internal] - Fix Xcode 15 namespace build errors in `RAMBundleRegistry`.
Reviewed By: javache, cipolleschi
Differential Revision: D46988689
fbshipit-source-id: 5dc34b0f7d6fb266bc379b3639244bf69505aa88
Summary:
Add getsentry to the React Native incubating partners list.
If you are interested in Sentry's work in the RN Core, see the ReactWG Post -> [Better Error Reporting for the New Architecture
](https://github.com/reactwg/react-native-new-architecture/discussions/122)
## 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
-->
[Internal] - Add getsentry to the React Native incubating partners list
Pull Request resolved: https://github.com/facebook/react-native/pull/38091
Test Plan: None - Docs update
Reviewed By: cortinico, sammy-SC
Differential Revision: D47060764
Pulled By: blakef
fbshipit-source-id: 9a42a5d9ff9012eb4ec7ffb04fac850c750f3c65
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37835
Chrome Dev Tools doesn't correctly display grouped console logs (i.e. console output between a `console.group` and `console.groupEnd`) when timestamps are all zero.
Populate the timestamp field so grouping functions as expected.
Changelog: [General] [Fixed] Fix timestamps and grouped display of console messages within in a `console.group`
Reviewed By: fbmal7
Differential Revision: D46605659
fbshipit-source-id: c5821bfb4807c7f0ce28b7bb95ea08de29caf8a2
Summary:
I added the contentType parameter to Blob.slice like it's in the MDN Web docs.
This PR fixes https://github.com/facebook/react-native/issues/38058
When i slice a Blob for chunked uploads with react native i lost the content type, e.g. "image/jpeg", so the server doesn't know what kind of file he gets. In the docs of MDN the slice method was described with a third contentType parameter which was missing in Metas implementation.
## Changelog:
[GENERAL] [ADDED] added a third parameter "contentType" to method slice of class Blob.
<!-- 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/38078
Test Plan:
I tested it with the unit-tests:
yarn run test Blob-test.js
yarn run v1.22.19
$ jest Blob-test.js
PASS packages/react-native/Libraries/Blob/__tests__/Blob-test.js
Blob
✓ should create empty blob (5 ms)
✓ should create blob from other blobs and strings
✓ should slice a blob (1 ms)
✓ should slice a blob and sets a contentType
✓ should close a blob (4 ms)
My added unit test results "✓ should slice a blob and sets a contentType".
Reviewed By: hoxyq
Differential Revision: D47057162
Pulled By: blakef
fbshipit-source-id: 0931b0b828f81b9b90562ffd51d4111c81034ffc
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38075
changelog: [internal]
`SharedFunction<>` is created with nullptr for its internal `std::function`. If called after created with default constructor, it crashes app. It also does not have API to check if its internal function is not nullptr.
With image cancelation, there is a race between when native component calls `imageRequest.cancel()` and when cancelation function is set in `RCTImageManager`.
To fix this, this diff adds a nullptr check inside SharedFunction. So it is always safe to call.
Reviewed By: javache
Differential Revision: D47022957
fbshipit-source-id: 0a04a87cd1ffe6bf3ca2fded38f689f06cc92ca9
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38089
This change add a warning if a component is registered in both the New Renderer and in the Interop layer.
This can help users migrating their components once the library has been migrated.
## Changelog:
[iOS][Added] - Add warning to help users migrate away from the interop layer.
Reviewed By: cortinico
Differential Revision: D47053556
fbshipit-source-id: cc2ba09db16aaa370947a77173b6ea6a0acfa519
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38093
In [this issue](https://github.com/facebook/react-native/issues/37905), the community detected a strict assumption in the interop layer for which, given a component `XXXView`, its ViewManager must be called `RCTXXXViewManager`.
That's not the case for some components, for example, `BVLinearGradient`, which View manager is `BVLinearGradientManager` and not `RCTBVLinearGradientManager`.
This diff adds a secondary lookup logic:
1. We look for the `RCTXXXViewManager`.
2. If not found, we look for `XXXViewManager`.
We will assess whether to generalize this logic once and for all or to expand other lookup cases on an example/failure basis as it's not a goal to have a 100% accurate interop layer. The Goal is to cover most use cases.
## Changelog:
[iOS][Added] - Allow to lookup for ViewManager without the RCT prefix in the Interop Layer
Reviewed By: sammy-SC
Differential Revision: D47055969
fbshipit-source-id: 1d31f3f4bc6f1f543edbd157ce04ad9daf23dbc6
Summary:
See: http://blog.nparashuram.com/2019/10/debugging-react-native-ios-apps-with.html
When using direct debugging with JavaScriptCore, Safari Web Inspector doesn't pick up the source map over the network. Instead, as far as I can tell, it expects you to pass the source URL at the time you load your bundle: https://developer.apple.com/documentation/javascriptcore/jscontext/1451384-evaluatescript?language=objc . This leads to a very sub-par developer experience debugging the JSbundle directly. It will however, pick up an inline source map. Therefore, let's add a way to have React Native tell metro to request an inline source map.
I did this by modifying `RCTBundleURLProvider` to have a new query parameter for `inlineSourceMap`, and set to true by default for JSC.
## Changelog:
[IOS] [ADDED] - Added support to inline the source map via RCTBundleURLProvider
Pull Request resolved: https://github.com/facebook/react-native/pull/37878
Test Plan:
I can put a breakpoint in RNTester, via Safari Web Inspector, in human readable code :D
<img width="1728" alt="Screenshot 2023-06-14 at 4 09 03 AM" src="https://github.com/facebook/react-native/assets/6722175/055277fa-d887-4566-9dc6-3ea07a1a60b0">
Reviewed By: motiz88
Differential Revision: D46855418
Pulled By: huntie
fbshipit-source-id: 2134cdbcd0a3e81052d26ed75f83601ae4ddecfe
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38076
Changelog: [Android][Breaking] Default to ignoring cached Metro bundle when offline
Currently, on Android, if we can't find a Metro server at startup, we try to run the last cached Metro bundle instead of the prebuilt bundle asset in the APK. This is inconsistent with the iOS behaviour, and breaks bundle features that rely on a runtime Metro connection to work correctly - such as HTTP asset loading and lazy bundling (which is the default as of D43600054).
Here we change the default for `ReactInstanceManager`'s `useFallbackBundle` property to `true`, which has the effect of ignoring the cached Metro bundle.
This is a **breaking change** because some developers' workflows might depend on performing a build while connected to a Metro instance, then using the app standalone without access to Metro. This may be exacerbated by the fact that the RN Gradle plugin [skips including a prebuilt bundle in debug builds](https://github.com/facebook/react-native/blob/eaafc260c14674bfbf7ce3a647404c70d546854f/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/TaskConfiguration.kt#L54). This means that, out of the box, debug builds of Android RN apps will only start if connected to Metro. (Contrast with iOS where a "fallback" bundle *is* included out of the box.)
We recommend that developers always connect to a Metro server in development, and perform a release build for standalone use. Alternatively, developers can use `ReactInstanceManager.setUseFallbackBundle(false)` to restore the old behaviour.
Reviewed By: javache, luluwu2032
Differential Revision: D47021957
fbshipit-source-id: 43ce8078ec95f5d65790b56f4d3dfa4f6a4e9023
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38009
This diff reduces dependency of BridgelessReactContext to package only, this way we are removing BridgelessReactContext out of the Stable API, and app developers won't be able to access it directly.
changelog: [internal] internal
Reviewed By: cortinico
Differential Revision: D46410796
fbshipit-source-id: e887faecdc62b3109bdc7c9616821338e7b66136
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37981
This diff introduces a the test ReactHost.testReload() to verify that reloading of react host works as expected
changelog: [internal] internal
Reviewed By: cortinico
Differential Revision: D46813814
fbshipit-source-id: 59e23e2f296c81b7ca3decb81e1f53b5871bbff4
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37980
In this diff I'm fixing the ReactHostTest.testPreload test that was broken due to concurrency issues between a task submited in bolts that interacted with the UIThread and RobolectricTestRunner blocking on the UI Thread.
I created an utility method to wait for completion of the task
see: https://robolectric.org/blog/2019/06/04/paused-looper/
changelog: [internal] internal
Reviewed By: fkgozali
Differential Revision: D46812085
fbshipit-source-id: 1a8f9de8ef22071e708280720d0384b1562dd56b
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37982
ReactHostTest was disabled as part of D44729814, I'm re-enabling it as they pass locally
changelog: [internal] internal
Reviewed By: cortinico
Differential Revision: D46806278
fbshipit-source-id: 7fa530b4ea5bcacb72253218eded6f9a96e4cdf9
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38070
changelog:
[iOS][fix]: Correctly invalidate NSTextStorage when non layout related props change
Fixes: https://github.com/facebook/react-native/issues/37944
Problem:
NSTextStorage was not invalidated if non-layout props were changed. So for example 'color' dynamically changed, it wouldn't get invalidated and font of incorrect color would be rendered on screen.
Reviewed By: javache
Differential Revision: D47019250
fbshipit-source-id: bd5d8e6ee4493791dedbafc64a8b8df48a5681e4
Summary:
We had to disable the envinfo command on test_windows to get the CI back to green.
The reason why it started failing is because they released 7.9.0 which does not seem to have the executable on Windows, so `npx` fails to find what to run.
This fix restore the command in a way that it should display the envinfo using an older version of the package. I also added a task to come back to this periodically.
## Changelog:
[Internal] - Restore envinfo on windows
Pull Request resolved: https://github.com/facebook/react-native/pull/38062
Test Plan: - CircleCI: test_windows stays green
Reviewed By: cortinico
Differential Revision: D47016995
Pulled By: cipolleschi
fbshipit-source-id: 368367caed7ea49d7419475580a39f9406c54757
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38042
Follow-up cleanup from D34379950, now that fbjni has been upgraded. Also synced the internal and external build flags.
Changelog: [Internal]
Reviewed By: cortinico
Differential Revision: D46975010
fbshipit-source-id: 7d2fd215b68bcebbf259e23923fb3fec1ca09f8a
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/38063
I'm cleaning up the ReactApplication code a bit to use a property with custom setter
Moreover I'm also removing the JvmDefault annotation as that is unnecessary as we use
the `-Xjvm-default=all`, plus is deprecated and will be removed soon by Kotlin.
Changelog:
[Internal] [Changed] - Remove unnecessary JvmDefault
Reviewed By: javache
Differential Revision: D47016727
fbshipit-source-id: 8ab1325c6a9d1db2f8290fb89b766e3d93674b0d
Summary:
`testID` which is a valid prop for `<Text>` is also found in the types for `TextStyle`. This pull request removes said property from the styles.
## Changelog:
General Fixed - Remove testID from TextStyle types
Pull Request resolved: https://github.com/facebook/react-native/pull/38053
Test Plan:
```tsx
const styles = StyleSheet.create({
view: {
testID: 'should-error-in-typescript-but-does-not'
}
})
```
`TextStyle` is used to type the `StyleSheet` along with `ViewStyle` and `ImageStyle` which do not contain `testID`.
```tsx
const MyText = <Text testID="already-typed-fine">Hello</Text>
```
`testID` is used to identify components with the mentioned prop. This works for `Text` and will continue to do so, `TextProps` has `testID` added specifically. When using `getByTestId` in jest adding testID to the style already has no effect.
When adding `testID` to a style a warning will already be shown in development: Warning: Failed prop type: Invalid props.style key `testID` supplied to `Text`.
Reviewed By: javache
Differential Revision: D47006787
Pulled By: NickGerleman
fbshipit-source-id: 6993579ee9c173677594f8f3aea499ac8d8ab232
Summary:
Adding Expensify to the React Native incubating partners list
## 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
-->
[Internal] - Adding Expensify to the React Native incubating partners list
Pull Request resolved: https://github.com/facebook/react-native/pull/37497
Test Plan: N/A - Just documentation update
Reviewed By: TheSavior
Differential Revision: D47002327
Pulled By: rickhanlonii
fbshipit-source-id: 39adf1e519e32aaf911baacb78a5549109d4c0c0
Summary:
`test_windows` are failing in CI. This change should fix them for the time being while we investigate further
## Changelog:
[internal] - Fix test_windows removing `npx envinfo`
Pull Request resolved: https://github.com/facebook/react-native/pull/38050
Test Plan: circleci should be green
Reviewed By: mdvacca
Differential Revision: D46999794
Pulled By: cipolleschi
fbshipit-source-id: c6e4020ec530d95a5ce6c3b5e70f596b12d23f7e