Commit Graph

38536 Commits

Author SHA1 Message Date
Intl Scheduler 1c41506539 translation auto-update for i18n/pages-manager.config.json on master
Summary:
Chronos Job Instance ID: 1125907876026300
Sandcastle Job Instance ID: 31525198336491767
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45724907

fbshipit-source-id: a77a9bd0dd35aa9e8ff83b39e1dfc4ef48a79086
2023-05-10 01:12:59 -07:00
Intl Scheduler d102388ea3 translation auto-update for i18n/messenger.config.json on master
Summary:
Chronos Job Instance ID: 1125907876026300
Sandcastle Job Instance ID: 31525198336491767
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45724909

fbshipit-source-id: 18edefe4940ca8f0eeedcbd201aef693a8cb7c10
2023-05-10 01:12:59 -07:00
Tim Yung 77be932bc0 RN: Upgrade to flow-enums-runtime@0.0.6 (#37342)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37342

Upgrades to `flow-enums-runtime@0.0.6`, which is just a `README.md` update.

Changelog:
[Internal]

Differential Revision: D45713984

fbshipit-source-id: a458ccb099df53401fa41826f3571bca7e292dbf
2023-05-09 19:31:47 -07:00
Phillip Pan 9e0bab28d6 introduce RCTHostJSEngineProvider (#37326)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37326

Changelog: [Internal]

in this change, i introduced a block type that returns a `JSEngineInstance`. a block gives a bit more flexibility in terms of lazily loading the engine + its dependencies, but i might get rid of it later and just pass down the engine itself.

Reviewed By: javache

Differential Revision: D45678969

fbshipit-source-id: 52d3ec0de77a3ab74d3cf304ea22fb5fc1315a2e
2023-05-09 17:49:13 -07:00
Intl Scheduler 268d95eca5 translation auto-update for i18n/fb4a.config.json on master
Summary:
Chronos Job Instance ID: 1125907875729350
Sandcastle Job Instance ID: 9007200197403049
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45714584

fbshipit-source-id: 1356eacda35319e8b6838fe129d450aa4f750888
2023-05-09 16:11:13 -07:00
Intl Scheduler e696ee5a17 translation auto-update for i18n/anna.config.json on master
Summary:
Chronos Job Instance ID: 1125907875729350
Sandcastle Job Instance ID: 9007200197403049
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45714592

fbshipit-source-id: dff9b30d66a4a0fbe593c37cade3a050f8583faf
2023-05-09 16:11:13 -07:00
Intl Scheduler b796dd9500 translation auto-update for i18n/messenger.config.json on master
Summary:
Chronos Job Instance ID: 1125907875729350
Sandcastle Job Instance ID: 9007200197403049
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45714583

fbshipit-source-id: e5fa316a72016908ca2a96014a578d9d215ffc85
2023-05-09 16:11:13 -07:00
Samuel Susla 93ce46113c Combine iOS and Android optimisations (#37317)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37317

changelog: [internal]

This diff does three things:
1. Combines Android's mobile config `react_fabric:enable_text_measure_cache` with iOS mobile config `react_fabric:enable_nstextstorage_caching`. We will get into why later.
2. Fixes cache `ParagraphLayoutManager::cachedTextMeasurement_` invalidation logic for iOS and Android.
3. Fixes cache invalidation logic for `ParagraphLayoutManager::hostTextStorage_`.

Initially, Android's text measure cache (D44221170) and iOS's NSTextStorage (D43692171) were design as two separate optimisations. But they overlap and NSTextStorage actually needs some parts of text measure cache to work correctly. That's why I decided to merge them together.

Previously, `ParagraphLayoutManager::cachedTextMeasurement_` was only invalidated if maximum width for the node changed. But node can change in different ways, for example input string changes or attributes change. This diff accounts for that by computing a hash for AttributedString+ParagraphAttributes to check if anything has changed.

Previously, `ParagraphLayoutManager::hostTextStorage_` was not correctly invalidated if maximum width changed. To my surprise, this happens less frequently than one expects.

bypass-github-export-checks

Reviewed By: mdvacca

Differential Revision: D45637797

fbshipit-source-id: 1840b51cdb1423de0560a35fd17c24a71ad115e1
2023-05-09 15:25:38 -07:00
Nick Gerleman a941d067f5 Use ContextContainer::find() for MC access instead of ContextContainer::at() (#37303)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37303

Intent of a change to the last diff was to make `PropsParserContext` act gracefully if it tried to parse "auto" without a `ReactNativeConfig` being set (e.g. if our tests wanted to do that).

We would actually assert if we tried to do that with what I added, since `ContextContainer::at()` acts like `at()` does in the STL containers and will expect the parameter to be in bounds/present. (`RawProps::at()` is the odd one out that will return `nullptr` instead).

This changes the usage to ContextContainer::find() which will return ` std::optional<std::shared_ptr>>`.

Changelog: [Internal]

Reviewed By: rshest

Differential Revision: D45651032

fbshipit-source-id: b1f16f9329ceb4ef7a6c469f968eae57a2fe3da5
2023-05-09 14:29:40 -07:00
Ruslan Shestopalyuk c71fa46eb8 Use global Performance instance in createPerformanceLogger (#37337)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37337

Changelog: [Internal]

Removes usage of a local `Performance` instance, since this the global one is now safe to use.

Reviewed By: christophpurrer

Differential Revision: D45697243

fbshipit-source-id: 4f3f9798e79c15295094d5a4650af04db2856f60
2023-05-09 13:56:10 -07:00
David Vacca 19927867bb Rename ReactInstanceDelegate -> ReactHostDelegate (#37323)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37323

ReactInstance is an internal concept and name, we should not leak ReactInstance name for client code.

bypass-github-export-checks

changelog: [internal] internal

Reviewed By: RSNara

Differential Revision: D45578268

fbshipit-source-id: c0306b89d854d7beb5fcd38ba3623099846ec932
2023-05-09 13:41:53 -07:00
David Vacca 1200cdc810 Migrate BindingsInstaller to kotlin (#37322)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37322

migration of BindingsInstaller to kotlin to ez integration with ReactInstanceDelegate

bypass-github-export-checks

changelog: [internal] internal

Reviewed By: philIip

Differential Revision: D45577886

fbshipit-source-id: 67991b09bf7c719136a615d846d3f7ee3bf359b2
2023-05-09 13:41:53 -07:00
Ruslan Shestopalyuk 9cceb43c52 Add a compile-time safeguard against ShadowNode lacking a virtual destructor (#37333)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37333

## Changelog:
[Internal] -

Add a safeguard against accidentally removing a virtual destructor from `ShadowNode`.

Since this is something that happened before, and `ShadowNode` has a non-trivial class inheritance tree, this could be a good idea to prevent potential memory leaks.

Differential Revision: D45691614

fbshipit-source-id: 3aa7a3eecba98478d7fb9aaef62adb547b653b82
2023-05-09 10:32:16 -07:00
Olga Zinoveva b6f269e8a3 Enhance labeling workflow (#37324)
Summary:
This PR does two things:
1. Improves the labeling workflow in cases where the user is on a supported version but a higher patch number is available. Now, the label name will be friendlier ('Newer Patch Available') and we will report the version they should consider upgrading to in the message body. Once this change is merged, I can also rename all existing versions of this label for consistency.
2. Moves the addDescriptiveLabels.js script to the workflow-scripts folder for consistency with the other workflow scripts.

## Changelog:

[INTERNAL] [CHANGED] - Enhancing issue triage workflow for patch versioning

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

Test Plan: See some examples of the workflow run in my fork: https://github.com/SlyCaptainFlint/react-native/issues

Reviewed By: cipolleschi

Differential Revision: D45680812

Pulled By: NickGerleman

fbshipit-source-id: 7ab07fcf52fe372d2e449bb43d6618b1c98e9245
2023-05-09 10:19:47 -07:00
Intl Scheduler e0f43fdf89 translation auto-update for i18n/adsmanager.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695391

fbshipit-source-id: f0484ff27ecf9aefa2cf16c81504cf740d76d39a
2023-05-09 08:06:48 -07:00
Intl Scheduler 94c844c1fb translation auto-update for i18n/barcelona.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695382

fbshipit-source-id: bf81a653d52aef86509ec356c384444a6afd98b1
2023-05-09 08:06:48 -07:00
Intl Scheduler 5ab7dcd5ac translation auto-update for i18n/creatorstudio.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695390

fbshipit-source-id: f2b8781d6d1530099592213320fddfb56e56a830
2023-05-09 08:06:48 -07:00
Intl Scheduler ebed2c1039 translation auto-update for i18n/fb4a.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695394

fbshipit-source-id: 34c9eb9e21c3adc46f3f04baed2f831f9ee278a3
2023-05-09 08:06:48 -07:00
Intl Scheduler 0c31f8084b translation auto-update for i18n/pages-manager.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695383

fbshipit-source-id: 60fbbf7abf22d3e8b3018a51005d0b73507ecf77
2023-05-09 08:06:48 -07:00
Intl Scheduler f9aa55ff01 translation auto-update for i18n/analyticsapp.config.json on master
Summary:
Chronos Job Instance ID: 1125907875406092
Sandcastle Job Instance ID: 4503600571892814
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45695387

fbshipit-source-id: 7ccec058f4832b819928a85c8c5b0b44965c07c6
2023-05-09 08:06:48 -07:00
Ruslan Lesiutin d3e8b646a7 upgrade react-devtools to v4.27.7 in fbsource (#37146)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37146

X-link: https://github.com/facebook/flipper/pull/4706

Changelog: [Internal]

Updating react-devtools-* packages to v4.27.7

Reviewed By: jacdebug

Differential Revision: D45317588

fbshipit-source-id: 5625f654feffced92ca933796e90ac10fc4801ff
2023-05-09 07:13:39 -07:00
Tommy Nguyen cceef57be1 fix(gradle-plugin): fix nightly build regression (#37332)
Summary:
Nightly builds of Android no longer build due to a recent version format change.

## Changelog:

[ANDROID] [FIXED] - Fixed nightly builds of Android no longer building due to a recent version format change

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

Test Plan:
```
git clone https://github.com/microsoft/react-native-test-app.git
cd react-native-test-app
npm run set-react-version nightly
cd example
yarn android
```

Reviewed By: jacdebug

Differential Revision: D45690926

Pulled By: cortinico

fbshipit-source-id: dc935733607c2b33ba296b507a98f43ba483e348
2023-05-09 06:05:46 -07:00
shubham0142 ec66f2eeb9 Codegen 113: add isOptionalProperty in parser (#37134)
Summary:
part of codegen issue https://github.com/facebook/react-native/issues/34872
Add a function isOptionalProperty(property) in the Parser object and implement it in FlowParser and TypeScriptParser, using the implementation you can find in the [parsers/flow/components/events.js](https://github.com/facebook/react-native/blob/e133100721939108b0f28dfa9f60ac627c804018/packages/react-native-codegen/src/parsers/flow/components/events.js#L172-L173) and [parsers/typescript/components/events.js](https://github.com/facebook/react-native/blob/e133100721939108b0f28dfa9f60ac627c804018/packages/react-native-codegen/src/parsers/typescript/components/events.js#L196). Use the parsers in the buildPropertiesForEvent.

bypass-github-export-checks

## Changelog:
[Internal][Changed]: add isOptionalProperty in parser and use it in parser events.
<!-- 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/37134

Test Plan: `yarn test react-native-codegen`

Reviewed By: christophpurrer

Differential Revision: D45390880

Pulled By: cipolleschi

fbshipit-source-id: bb2575b8602c6a15be0a87817ca1961ae834324e
2023-05-09 05:35:45 -07:00
Riccardo Cipolleschi c027f0a41f Fix podspec setup for 3rd parties when using dynamic linking (#37275)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37275

When enabling `USE_FRAMEWORKS=dynamic`, we need to explicitly defines all the dependencies used by the pods.

This change add those missing dependencies.

## Changelog:
[iOS][Added] - Add explicit dependencies for 3rd parties libraries

Reviewed By: NickGerleman

Differential Revision: D45523646

fbshipit-source-id: 228a7e0ae98ea262af4d58b7dc855f944ebed463
2023-05-09 04:42:17 -07:00
Riccardo Cipolleschi 44af6ca03c Add React-FabricImage pod to solve Circulare dependency between Fabric image component and ImageManager (#37276)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37276

When enabling dynamic linking, we had a circulr dependency between Fabric and the Image Manager.

Specifically, Image Manager depends on Fabric, but the Image component, in Fabric, is using some implementation specific files from the Image Manager that surface only when enabling the dynamic linking.

Xcode fails to find those symbols unless the dependencies are explicitly added to the podspec.

This change is technically breaking, but we tried to minimize the breakage by adding the new pod in all the required search paths.

## Changelog
[iOS][Breaking] - Add React-FabricImage pod.

Reviewed By: NickGerleman

Differential Revision: D45517278

fbshipit-source-id: 994aa8c40301c68bf9fecdf46de7833028f0d3c2
2023-05-09 04:42:17 -07:00
Blake Friedman 6d83889ba9 Fix for investigating high number of ReactViewManager exceptions (#37312)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37312

## Why?
Internally one of our apps is using a custom view manager that isn't respecting the `NotNull` constraint,
causing a runtime error. We have no visibility over what this manager is. The custom exception will give
us more clues to track this down.

If you look at the below stack trace, it's pretty clear the earlier approach would fail:
{F979121677}

Like a bit of a noddy, I've been waiting for days for the new exception to be hit, when it's very clear from [3 May](https://fburl.com/scuba/errorreporting_facebook_android_crashes/a63t7ilm) that this wasn't going to happen:
{F979130611}
The lesson here is to monitor 3 things:
1. the [original NullPointerExceptions](https://fburl.com/scuba/errorreporting_facebook_android_crashes/m2o0t45h),
2. the new [ReactViewReturnTypeException](https://fburl.com/scuba/errorreporting_facebook_android_crashes/2j0vtuwb), and
3. the [number of users exposed](https://fburl.com/scuba/mobile_active_users/9mbevwed) to whatever release this change goes out on.

Changelog: [Internal]
The NullPointerExceptions are hit when call the the java createView method. Previous (D45185598)
didn't capture this exception and wasn't very useful.

Reviewed By: cortinico

Differential Revision: D45660487

fbshipit-source-id: f1a7a114778a0c2eae963d64558541266ed57bda
2023-05-09 04:30:57 -07:00
Pieter De Baets e43607c5a7 Fix missing override in ConcreteState (#37279)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37279

Changelog: [Internal]

Reviewed By: christophpurrer, cipolleschi

Differential Revision: D45610260

fbshipit-source-id: 7610ec3898e8cc75fa7ed20d6f87f76f97cdfd12
2023-05-09 04:22:34 -07:00
Jerry 5dfa38a20e fix: fix FlatList viewabilityConfig prop type (#37299)
Summary:
FlatList `viewabilityConfig` prop seems  no need to be any type. So I replaced it with `ViewabilityConfig` from `VirtualizedList.d.ts`

## Changelog:

[GENERAL] [FIXED] - change FlatList `viewabilityConfig` prop type `any` to `ViewabilityConfig`

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

Test Plan: Ran yarn test-typescript and yarn test-typescript-offline with no errors.

Reviewed By: jacdebug

Differential Revision: D45689033

Pulled By: cipolleschi

fbshipit-source-id: e7fd31c534c5f47321b36d0d764f466392ad897e
2023-05-09 04:13:09 -07:00
Ruslan Lesiutin e540d05846 RN: Make hermes-inspector-msggen tests visible for jest matcher (#37131)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37131

Changelog: [Internal]

Looks like all this time jest was not running these tests, because their file names are not matching the
https://www.internalfb.com/code/fbsource/[1e8a1b307ffd]/xplat/js/react-native-github/jest.config.js?lines=30

- Renamed tests to kebab-case
- Some of them were failing, now updated

Reviewed By: motiz88

Differential Revision: D45368748

fbshipit-source-id: a00e6ebb8f37363516b1af79d6251fbceb0afb68
2023-05-09 03:14:45 -07:00
Intl Scheduler 8132500d93 translation auto-update for i18n/instagram.config.json on master
Summary:
Chronos Job Instance ID: 1125907875312406
Sandcastle Job Instance ID: 13510799826655976
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45686942

fbshipit-source-id: e3dc213144d91b6c98b84d1c477bdeb317132a55
2023-05-09 01:40:57 -07:00
Intl Scheduler eb1393de2d translation auto-update for i18n/fb4a.config.json on master
Summary:
Chronos Job Instance ID: 1125907875312406
Sandcastle Job Instance ID: 13510799826655976
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45686955

fbshipit-source-id: 340e75e6809802ca9425ce43abfaa494b2f9e1b4
2023-05-09 01:40:57 -07:00
Intl Scheduler 105f8e3c74 translation auto-update for i18n/pages-manager.config.json on master
Summary:
Chronos Job Instance ID: 1125907875312406
Sandcastle Job Instance ID: 13510799826655976
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45686940

fbshipit-source-id: 8f5ff76be02ee21302138afbdce98cb7e8bd6809
2023-05-09 01:40:57 -07:00
Intl Scheduler 4507785dff translation auto-update for i18n/anna.config.json on master
Summary:
Chronos Job Instance ID: 1125907875312406
Sandcastle Job Instance ID: 13510799826655976
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45686953

fbshipit-source-id: a6be9ef18ec3db370acd8bf6b9e89d7a3db417fd
2023-05-09 01:40:57 -07:00
Intl Scheduler 90442ac66e translation auto-update for i18n/fb4a.config.json on master
Summary:
Chronos Job Instance ID: 1125907875215310
Sandcastle Job Instance ID: 18014399454367170
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45681775

fbshipit-source-id: a89dfaec4caf04b8f0bdf91e0a85f34a4c1a841c
2023-05-08 19:28:34 -07:00
Intl Scheduler 062eaae78c translation auto-update for i18n/messenger.config.json on master
Summary:
Chronos Job Instance ID: 1125907875215310
Sandcastle Job Instance ID: 18014399454367170
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45681771

fbshipit-source-id: 06a2dfc4d98c7b5cc61f3b293ebf89a0b06c7c98
2023-05-08 19:28:34 -07:00
Intl Scheduler 2fd2579ddb translation auto-update for i18n/barcelona.config.json on master
Summary:
Chronos Job Instance ID: 1125907875215310
Sandcastle Job Instance ID: 18014399454367170
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45681778

fbshipit-source-id: 3dda59a7a969a96eb727822041145008da7c0d3e
2023-05-08 19:28:34 -07:00
Intl Scheduler a797b49c71 translation auto-update for i18n/pages-manager.config.json on master
Summary:
Chronos Job Instance ID: 1125907875215310
Sandcastle Job Instance ID: 18014399454367170
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45681770

fbshipit-source-id: e6e03111dcc726b3249b42d34ef5c6ee178257f1
2023-05-08 19:28:34 -07:00
Intl Scheduler 1c28aa4e20 translation auto-update for i18n/creatorstudio.config.json on master
Summary:
Chronos Job Instance ID: 1125907875215310
Sandcastle Job Instance ID: 18014399454367170
allow-large-files
ignore-conflict-markers
opt-out-review

Differential Revision: D45681780

fbshipit-source-id: a9eef55ac475e0b3de5fa2ff4327a0194545e624
2023-05-08 19:28:34 -07:00
Luna Wei ef7bd883ad Remove .js.flow files (#37311)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37311

Changelog: [Internal] - Remove js.flow files

Reviewed By: yungsters

Differential Revision: D45639737

fbshipit-source-id: 9069c0ac53e86b4f300d4f243817020ac7c3b5e4
2023-05-08 17:36:11 -07:00
Nick Gerleman 68ce28a0ee Fix YGNodeSetConfig causing excessive dirtying (#37316)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37316

In Fabric, a ShadowNode may re-initialize YGConfig several times throughout the lifetime of a perpetually cloned Yoga Node.

RN sets `pointScaleFactor` lazily, when laying out the rootview. So right now it initializes a config to `pointScaleFactor` of 1.0, sets it, sets a new `pointScaleFactor` on the config, then repeats. This cycles the config between two `pointScaleFactor` values and will excessively dirty the node now that `YGNodeSetConfig` dirties on config change (D45505089)

This change makes it so that we retain previously used `pointScaleFactor` when cloning the Yoga nodes.

Changelog: [Internal]

Reviewed By: rozele

Differential Revision: D45669878

fbshipit-source-id: bfd2e185d9264a1cda64e59132960060385e16f1
2023-05-08 16:30:06 -07:00
Phillip Pan 86f54e1ec3 get rid of unnecessary self dereference in RCTInstance (#37319)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37319

Reviewed By: sammy-SC

Differential Revision: D45671784

fbshipit-source-id: 4af8f8f0a46886ec5c2cf022e8a60f942251ff6e
2023-05-08 16:07:03 -07:00
Phillip Pan a1885e9f32 follow more standard ios style guideline in RCTInstance (#37320)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37320

Changelog: [Internal]

this is just my personal taste, but here's what i did, would love to hear others' opinions (and maybe get these eventually codified):
- private methods preprended with underscore
- pragma mark groupings in this order: public, overrides, protocols, then private

Reviewed By: cipolleschi, dmytrorykun

Differential Revision: D45582491

fbshipit-source-id: 76c80955422ea7f29e7307ce2c08f70e7e8a5188
2023-05-08 16:07:03 -07:00
Nick Gerleman ea12c4c3d0 Fixup fbsource for $ArrayLike FlatList data (#37314)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37314

Turns out we never transitioned fbsource to an API change we made for FlatList, due to mismatched `.js` and `.js.flow` files.

Inside of RN, `$ArrayLike` in Flow, unlike `ArrayLike` in TypeScript, treats `length` as writable. So we wrap that in `$ReadOnly`. Another option might be to inline our own version, since it is not the only [case where they differ](https://fb.workplace.com/groups/flow/permalink/24328911383397481/).

In product code, the changes end up impacting:
1. `getItemLayout` is no longer typed to receive a mutable array. I changed all of the incompatible explicit type parameters from `Array<ItemT>` to `Iterable<ItemT>`.
2. Flow has a harder time inferring destructured `data` in examples that were passing `any` to FlatList, so I needed to give some type hints where `data` was previously untyped
3. Replace some `$FlowFixMe[incompatible-type]` with `$FlowFixMe[incompatible-type-arg]`

Changelog: [Internal]

Reviewed By: lunaleaps

Differential Revision: D45665199

fbshipit-source-id: 59aa908e277a27f7ca88acb48de493d2782517a9
2023-05-08 15:49:50 -07:00
axelaviloff 2029688630 Code improving PR (#37297)
Summary:
It's just a code improvement, with postponement of best practices.

## Changelog:

[Android] [Added] - Code improvement.

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

Test Plan: The new code does not change existing logic.

Reviewed By: NickGerleman

Differential Revision: D45658400

Pulled By: yungsters

fbshipit-source-id: dcbe4b732d665a0c3c26ee2cf28843f951c3979d
2023-05-08 15:45:14 -07:00
kassens (Meta Employee) f8aeef96c2 Small flowconfig fixes (#26784)
Summary:
- The whole project root is included by default anyway, the include
section should be redundant and just misleading.
- The generated ignore paths ignore more than intended as they didn't
escape the `.` for regex.

Changelog: [Internal]

Reviewed By: mofeiZ

Differential Revision: D45658874

Pulled By: kassens

fbshipit-source-id: fd1ec59eeffa3ac1cb39c190e17f018951fafbe7
2023-05-08 14:09:24 -07:00
David Vacca 6a0bd301b6 Mark ReactInstanceDelegate as UnstableReactNativeAPI (#37288)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37288

In this diff I'm marking ReactInstanceDelegate as UnstableReactNativeAPI

changelog: [internal] internal

Reviewed By: RSNara

Differential Revision: D45577887

fbshipit-source-id: 4b5548f289409c47e67895b6a78d76d846629b80
2023-05-08 14:02:15 -07:00
Nick Gerleman 17f8c2d126 Re-add "aria-live" usage to UTs (#37307)
Summary:
Pull Request resolved: https://github.com/facebook/react-native/pull/37307

This should no longer log to `console.error()` after the latest prop-types update.

Changelog: [Internal]

Reviewed By: yungsters

Differential Revision: D45654389

fbshipit-source-id: c3d04c6a74b335e300137aa67bd7fb3640ba0303
2023-05-08 08:13:02 -07:00
acdlite 97533dbc47 Add useFormStatus to server rendering stub (#26788)
Summary:
This was an oversight when I set up the hook in #26719.

DiffTrain build for commit https://github.com/facebook/react/commit/16d053d592673dd5565d85109f259371b23f87e8.

Changelog: [Internal]

Reviewed By: kassens

Differential Revision: D45639141

fbshipit-source-id: 6d89d7521ed38d28b23b02545cfad0836ba12a38
2023-05-08 08:09:16 -07:00
gaearon (Meta Employee) 37a8fcb90d Print a hint where to get the token (#26783)
Summary:
I always forget where to get it.

DiffTrain build for commit https://github.com/facebook/react/commit/efb381bbf981aedbf4eb9e1bd0e6e30abce266d1.

Changelog: [Internal]

Reviewed By: kassens

Differential Revision: D45639138

Pulled By: gaearon

fbshipit-source-id: cfcdb6f7dfd366256c7557f43da62c2f78774fde
2023-05-08 08:09:16 -07:00
sammy-SC (Meta Employee) d2c67c5df8 Use native scheduler if defined in global scope (#26554)
Summary:
DiffTrain build for commit https://github.com/facebook/react/commit/b00e27342d6ff0f2a3a57b8e1edf66290d27cf07.

Changelog: [Internal]

Reviewed By: kassens

Differential Revision: D45639137

Pulled By: sammy-SC

fbshipit-source-id: 0f03a42d287243938c5d3a98e62297a3d02e532c

Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
2023-05-08 08:09:16 -07:00