Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53273
In [c5956da8c0](https://github.com/facebook/react-native/commit/c5956da8c0b735d47761af51019ed25b49001c00) we landed a change of the default value of `maxLength`.
While doing that, we missed the case where the app is explicitly passing `null` for a value for `maxLength`. When this happens, the props parsing was initializing the `maxLength` to 0, making not possible to input any value.
This change fixes the issue by ensuring that the default value set when `null` is consistent with the default value when nothing is passed.
## Changelog:
[iOS][Fixed] - Fixed TextInput behavior when `maxLength={null}` is passed
Reviewed By: GijsWeterings
Differential Revision: D80255637
fbshipit-source-id: a0d1956e1d51dbfedd27dafabf60ffa9344358d3
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53225
# Changelog:
[Internal] -
Similarly to how it was done for View and Text components ( https://github.com/facebook/react-native/pull/53059), this adds an option to only populate non-default props for Image component.
**This gives up to 50% performance improvement on the benchmark test**, so looks promising.
Reviewed By: rubennorte
Differential Revision: D80090241
fbshipit-source-id: 7dfa6573408794535555e43580e32952fb1d1990
Summary:
When building the xcframeworks on iOS we're including the file `jsi/jsi.cpp` in the Swift Package. This file is also included in Hermes and React Native should use the hermes version of these symbols. This is even described (but overlooked) in the React-jsi podspec file.
This causes the error seen in the bug addressed by this commit.
The fix is to exclude the `jsi/jsi.cpp` file from the jsi target in our swift package.
Fixes https://github.com/facebook/react-native/issues/53257
## Changelog:
[IOS] [FIXED] - Fixed wrong jsi symbols in use when using React.xcframework
Pull Request resolved: https://github.com/facebook/react-native/pull/53266
Test Plan: Tested using a precompiled xcframework in the reproduction repository.
Reviewed By: rshest
Differential Revision: D80252131
Pulled By: cipolleschi
fbshipit-source-id: 915e94a1d80c2f45575e58d8054239484e861285
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53267
Changelog: [internal]
Test files that verify the behavior of the global setup can only have a single test, as we can't really reset it across tests. Because of that, I'm renaming the current one to make the behavior under test more explicit.
Reviewed By: rshest
Differential Revision: D80177333
fbshipit-source-id: df9eeba15906bc6071940824dad9e576a267f499
Summary:
This command doesn't exist anymore.
Remove reference to `react-native upgrade` as the command doesn't exist anymore.
## 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] [CHANGED] - Removed reference to removed `react native upgrade` in `Libraries/Renderer/README.md`
Pull Request resolved: https://github.com/facebook/react-native/pull/53265
Test Plan: N/A
Reviewed By: cipolleschi
Differential Revision: D80251577
Pulled By: cortinico
fbshipit-source-id: 9eab037af6769f0d1f78f65bc795d285dc3d8320
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53259
delegate.window is not supported in Mac Catalyst, causing a crash in various scenarios such as Metro refresh.
Changelog: [Internal]
Reviewed By: shwanton
Differential Revision: D80189486
fbshipit-source-id: d0e8156f8f95769c114b497f53731876478fb1f4
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53255
Avoid updates to VirtualViewContainer if the rect dimensions haven't changed.
This is an attempt to simulate what ReactVirtualView does with `checkRectChange`.
Changelog:
[Internal]
Reviewed By: yungsters
Differential Revision: D80182750
fbshipit-source-id: f0f45ac508c1f93e6dbb64ea11c0b44b80d6c3b3
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53250
Changelog: [internal]
This updates the types for Fantom benchmarks to support the new `overriddenDuration` option from `tinybench`.
It also exposes a new method in the benchmark namespace to access the same timestamp used in benchmarks.
Reviewed By: rshest
Differential Revision: D80169515
fbshipit-source-id: 59af197eababbf5b8544ee9f1862b206756dc87d
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53249
Changelog: [internal]
This just upgrades tinybench (used in Fantom benchmarks) to v4.1.0, which contains a feature we need to customize test durations.
Reviewed By: rshest
Differential Revision: D80169516
fbshipit-source-id: 5813b3050843b52d604619a44a5e097e26f54432
Summary:
While verifying the lock deduplication changes, I have spotted that `eslint-plugin-jest` package does not match Jest version used within the workspace.
## Changelog:
[INTERNAL][CHANGED] - update `eslint-plugin-jest` package in workspace to align with Jest version used
Pull Request resolved: https://github.com/facebook/react-native/pull/53246
Test Plan: Running `yarn test`, `yarn lint-ci` and `test-typescript` checks does not yield any errors.
Reviewed By: rshest, cortinico
Differential Revision: D80170591
Pulled By: robhogan
fbshipit-source-id: f3ac58bc26cf2d3a34899f8558f872b3df85942d
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53223
changelog: [internal]
remove dependency on perfetto and use TraceSection like we do elsewhere.
Reviewed By: zeyap, rubennorte
Differential Revision: D80087082
fbshipit-source-id: 08d3434985443db9a83189a4dfabc65d6eda8166
Summary:
fix: https://github.com/facebook/react-native/issues/52279
## Changelog:
[iOS] [FIXED] - non-UTF8 crashes Info.plist local frameworks
Pull Request resolved: https://github.com/facebook/react-native/pull/52336
Test Plan:
after this change pods install and are working with the new warning:
[!] Failed to read Info.plist at /Users/user/apps/test/ios/promiflash/Frameworks/YouTubeEmbeddedPlayerFramework.framework/Info.plist: invalid byte sequence in UTF-8
Reviewed By: cortinico
Differential Revision: D80096932
Pulled By: cipolleschi
fbshipit-source-id: f60cd67cb99a581d6fbab92422c1adf7b50066eb
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53214
Changelog: [General] [Fixed] Enforce void return type for void return type in JS C++ TM spec
Example if you have this spec
```
export interface Spec extends TurboModule {
+foo: (bar: string) => void;
}
```
We must enforce in C++ that the return type is `void` as e.g.
```
void foo(jsi::Runtime& rt, const std::string& bar);
```
Right now you can return any type in C++ such as `std::string` which does not make sense
Reviewed By: lenaic
Differential Revision: D79980538
fbshipit-source-id: 9b99ea6b1ac97d1e46cdb9952e83c445ec5503b7
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53208
changelog: [internal]
When Fabric View Culling is enabled together with immediate state update, it may lead to a crash inside of `[RCTScrollViewComponentView _adjustForMaintainVisibleContentPosition]`.
When doing immediate state update, we can avoid calling `[RCTScrollViewComponentView _adjustForMaintainVisibleContentPosition]` altogether to avoid the crash.
Reviewed By: lenaic
Differential Revision: D80000362
fbshipit-source-id: 123b70aa31edb14a99bb968648eb8b8aac84afb6
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53226
Changelog: [internal]
This adds documentation about how to take JS memory heap snapshots in Fantom.
Reviewed By: lenaic
Differential Revision: D80090283
fbshipit-source-id: 04f66a62aa756d1020b8d8ef6fc0ea7e68341710
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53228
Changelog: [internal]
This adds some documentation about how to debug Fantom tests (C++ and JS).
Reviewed By: lenaic
Differential Revision: D80090286
fbshipit-source-id: 435d2079abfe72e93de0c297347b15dc39b25a89
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53231
The RCTPullToRefreshViewComponentView props are not initialized when the component view is created. this could lead to undefined behaviors and crashes.
This change fixes it.
## Changelog:
[iOS][Fixed] - Properly initialize the RCTPullToRefreshViewComponentView
Reviewed By: sammy-SC
Differential Revision: D80093141
fbshipit-source-id: dac98d56c749b9f5d85338279c8da2a7e5ddb4a3
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53221
# Changelog:
[Internal] -
This changes the benchmark test results comparison print the results slightly differently, in particular it now uses the slowest result as a baseline and prints how much faster the other ones are (as opposed to printing "slower" previously).
This arguably brings a more positive vibe when looking into the benchmark results :)
Reviewed By: andrewdacenko
Differential Revision: D80082134
fbshipit-source-id: 7dc9c7c520afe08270d4f5da9031db02261690ba
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53095
This change simplifies the RNTesterApplication so that it's looking closer to the template MainApplication file.
In order to do so, I had to create 2 files inside the `metainternal/` folder as those files are
generated as part of the CLI Autolinking
Changelog:
[Internal] [Changed] -
Reviewed By: cipolleschi
Differential Revision: D79722917
fbshipit-source-id: 06852c72ae1e1abed9952b1637515123977bc7b4
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/53215
Changelog: [internal]
This adds a new environment variable to Fantom that allows debugging the JS code in tests.
Usage:
```
FANTOM_DEBUG_JS=1 yarn fantom <test>
```
**Does NOT work in OSS yet**. We need to include a third-party library to send HTTP and WebSocket requests and implement a wrapper on top of it.
Reviewed By: christophpurrer
Differential Revision: D79883372
fbshipit-source-id: d077c373a036033344e61d58274d5cd14028bda4