Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement adjustsFontSizeToFit on Android #26389

Closed

Conversation

janicduplessis
Copy link
Contributor

@janicduplessis janicduplessis commented Sep 9, 2019

Summary

This adds support for adjustsFontSizeToFit and minimumFontScale on Android. The implementation tries to match closely the behaviour on iOS (hardcoded 4px min size for example). It uses a simpler linear algorithm for now, opened to improving it now if it is a deal breaker or in a follow up.

See https://twitter.com/janicduplessis/status/1171147709979516929 for a more detailed thread about the implementation

Changelog

[Android] [Added] - Implement adjustsFontSizeToFit on Android

Test Plan

Tested by adding the existing adjustsFontSizeToFit example from the iOS text page to android. Also added a case for limiting size by using maxHeight instead of numberOfLines.

@facebook-github-bot facebook-github-bot added CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Contributor A React Native contributor. labels Sep 9, 2019
@react-native-bot react-native-bot added Platform: Android Android applications. Type: Enhancement A new feature or enhancement of an existing feature. labels Sep 9, 2019
@@ -332,7 +332,6 @@ private static int parseNumericFontWeight(String fontWeightString) {
(Build.VERSION.SDK_INT < Build.VERSION_CODES.M) ? 0 : Layout.HYPHENATION_FREQUENCY_NONE;
protected int mJustificationMode =
(Build.VERSION.SDK_INT < Build.VERSION_CODES.O) ? 0 : Layout.JUSTIFICATION_MODE_NONE;
protected TextTransform mTextTransform = TextTransform.UNSET;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not related but it was unused (I worked on this feature so it should be safe).

mNumberOfLines != UNSET && layout.getLineCount() > mNumberOfLines ||
heightMode != YogaMeasureMode.UNDEFINED && layout.getHeight() > height)
) {
// TODO: We could probably use a smarter algorithm here. This will require 0(n) measurements
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could use some sort of binary search here like on iOS but I didn't do it for now since it adds quite a bit of complexity. In my tests it took between 5-10 iterations here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now when this is merged in, we should probably add documentation indicating that this feature could be pretty slow.

Is it possible for this while loop to never terminate? Should we enforce a max # of iterations so that we never get into an infinite loop?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

The loop will always terminate because of the currentFontSize > minimumFontSize condition. The minimum font size will never be smaller than 4.

@@ -467,7 +472,7 @@ public void setNotifyOnInlineViewLayout(boolean notifyOnInlineViewLayout) {
public void updateView() {
@Nullable
TextUtils.TruncateAt ellipsizeLocation =
mNumberOfLines == ViewDefaults.NUMBER_OF_LINES ? null : mEllipsizeLocation;
mNumberOfLines == ViewDefaults.NUMBER_OF_LINES || mAdjustsFontSizeToFit ? null : mEllipsizeLocation;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to do this otherwise the ellipsis still appeared some times, it seemed to happen when there was whitespace at the end of the line. The only downside is the ellipsis won't show if we hit the minimum font scale, not sure how big of a deal this is.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So to be clear, that means if there's a very long chunk of text and you hit the minimum font size, the text would be truncated without ellipses? That seems like a bug to me, though I probably wouldn't block this PR on it, but how does iOS handle it? How difficult do you think it is to fix both issues?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exactly, text would be truncated without ellipses. AFAIK it only happens on Android and seemed to happen when the text had room to render according to our measurements but the ellipsis would still show when drawing the text.

Since ellispsising should never happen when adjusting size to fit unless we hit the minimum size that seemed like an okay compromise since I'm pretty sure hitting minimum size is rare and the default is so small it would barely be noticeable.

I haven't investigated why it happens as it would probably require debugging deep inside android text rendering pipeline where the ellipsis rendering code is to figure out why it appears.

@janicduplessis janicduplessis marked this pull request as ready for review September 9, 2019 22:01
@michaelknoch
Copy link

What about using the android builtin feature for automatic font sizing?
TextViewCompat .setAutoSizeTextTypeUniformWithConfiguration

We are using this feature in our project successfully even on android api 21. I can publish the package if you are interested in the code @janicduplessis

@kmagiera
Copy link
Contributor

kmagiera commented Sep 10, 2019

Saw this PR linked on tt and really happy that we may soon be able to use adjust prop cross platform.

One thing I’m not sure about (even after reading or description and your tt thread) is why this has to happen in measure phase. I think adjust should work even on text views with fixed dimensions in which case measuring isn’t needed (I think we actually call text measure on android even when not needed because it’s responsible for creating spannables that are then used on the UI thread). I am perhaps missing something but if in fact we don’t need to do it on shadow node / measure phase I think compact library solution should be possible to adapt.

@janicduplessis
Copy link
Contributor Author

@michaelknoch I did a quick attempt at using this api but was not successful, I’d love to see the code if you got it working. However I’m not sure how well it would integrate with RN compared to the solution here, will go into more detail after.

@janicduplessis
Copy link
Contributor Author

@kmagiera The main reason is that it will affect the layout of the text. Since we’re reducing the font size the height will change, this is why I thought it made sense to do during layout.

You can see it in the following pictures https://imgur.com/a/YLtxut0.

It should also work with fixed height, I actually only tested with a maxHeight but I can check to make sure measure gets called there too.

Do you see any issue with doing this in the measure phase? And do you see a better time to do it?

As for the compat lib solution I think it will be hard and not optimal to communicate the layout back to yoga. I also assume that it does the adjusting on the main thread, I think we can leverage background thread layout of RN to make our implementation better. I can check the source for the Android implementation see if they use any tricks to make it better.

@shergin
Copy link
Contributor

shergin commented Sep 10, 2019

Importing to run internal tests.

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shergin has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@shergin
Copy link
Contributor

shergin commented Sep 10, 2019

@rigdern Adam, your input would be greatly appreciated.

@janicduplessis
Copy link
Contributor Author

Did a bit of research on the AOSP implementation and it's pretty similar to what we have for the measuring code, like I thought everything is done on the main thread, autoSizeText is called in onLayout. https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/widget/TextView.java#9467, https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/widget/TextView.java#9491.

I think the main improvement needed is to binary search the font sizes for perf.

@janicduplessis
Copy link
Contributor Author

@shergin Do you think this implementation also makes sense for fabric? Would it be easy to integrate?

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@shergin has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@JoshuaGross
Copy link
Contributor

@janicduplessis Can you add the new prop(s) to flow types in AndroidTextInputNativeComponent.js?

@janicduplessis
Copy link
Contributor Author

@JoshuaGross This is for Text and not TextInput, looks like Text doesn't use codegen yet.

@janicduplessis
Copy link
Contributor Author

@kmagiera @shergin @JoshuaGross Any change needed on my part to help land this?

@conrc
Copy link

conrc commented Nov 5, 2019

Any update? Eagerly awaiting this merge :)

@yurykorzun
Copy link
Contributor

I've been waiting for so long for this feature to be available on Android, I hope it gets merged soon!

@kdo1234
Copy link

kdo1234 commented Dec 1, 2019

This is probably a popular pull request. Is there anything that a volunteer can do to help get this merged? Thank you

@rebirthtobi
Copy link

Eagerly waiting for this

@yurykorzun
Copy link
Contributor

If anyone wants to try this feature before this pull request is merged, you can try to reference my fork of RN 0.61.5 with the applied patch updated aar binary
"dependencies": {
...
"react-native": "Flyclops/react-native#adjust-text-size-android"
...
}

@janicduplessis
Copy link
Contributor Author

ping @JoshuaGross @shergin @cpojer

@andre-krueger
Copy link

Will this be included in 0.62? This is a really crucial feature.

We currently have a workaround for this in our projects, but it doesn't work correctly all the time and the performance issues are another drawback.

@janicduplessis
Copy link
Contributor Author

@JoshuaGross Did you have any issues landing this? Also I assume this might cause issues with fabric since this feature would need to be supported there too.

Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@JoshuaGross has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

@JoshuaGross
Copy link
Contributor

@janicduplessis It should be fine - pending internal code review and testing. We will need to support this for Fabric but I'm not too worried, I think it will ~reasonably easy to support.

@JoshuaGross
Copy link
Contributor

I likely won't land this until Monday PST, but I will try to do it by then.

@react-native-bot
Copy link
Collaborator

This pull request was successfully merged by @janicduplessis in 2c1913f.

When will my fix make it into a release? | Upcoming Releases

@react-native-bot react-native-bot added the Merged This PR has been merged. label Feb 10, 2020
alloy pushed a commit that referenced this pull request Feb 13, 2020
Summary:
This adds support for `adjustsFontSizeToFit` and `minimumFontScale` on Android. The implementation tries to match closely the behaviour on iOS (hardcoded 4px min size for example). It uses a simpler linear algorithm for now, opened to improving it now if it is a deal breaker or in a follow up.

See https://twitter.com/janicduplessis/status/1171147709979516929 for a more detailed thread about the implementation

## Changelog

[Android] [Added] - Implement `adjustsFontSizeToFit` on Android
Pull Request resolved: #26389

Test Plan: Tested by adding the existing `adjustsFontSizeToFit` example from the iOS text page to android. Also added a case for limiting size by using `maxHeight` instead of `numberOfLines`.

Reviewed By: mdvacca

Differential Revision: D17285473

Pulled By: JoshuaGross

fbshipit-source-id: 43dbdb05e2d6418e9a390d11f921518bfa58e697
osdnk pushed a commit to osdnk/react-native that referenced this pull request Mar 9, 2020
Summary:
This adds support for `adjustsFontSizeToFit` and `minimumFontScale` on Android. The implementation tries to match closely the behaviour on iOS (hardcoded 4px min size for example). It uses a simpler linear algorithm for now, opened to improving it now if it is a deal breaker or in a follow up.

See https://twitter.com/janicduplessis/status/1171147709979516929 for a more detailed thread about the implementation

## Changelog

[Android] [Added] - Implement `adjustsFontSizeToFit` on Android
Pull Request resolved: facebook#26389

Test Plan: Tested by adding the existing `adjustsFontSizeToFit` example from the iOS text page to android. Also added a case for limiting size by using `maxHeight` instead of `numberOfLines`.

Reviewed By: mdvacca

Differential Revision: D17285473

Pulled By: JoshuaGross

fbshipit-source-id: 43dbdb05e2d6418e9a390d11f921518bfa58e697
@brianwestphal
Copy link

This doesn't seem to support ellipses yet, once the minimumFontScale is reached and not enough space is available, like it does on iOS.

@janicduplessis
Copy link
Contributor Author

@brianwestphal Sadly this is a known issue and haven't found a proper way to deal with it #26389 (comment)

@SrBrahma
Copy link

Sorry for commenting on a old issue, but, does adjustsFontSizeToFit works for Android or not? Here on my Redmi Note 8 (Android) it is working, but the docs says it's a iOS only feature.

@janicduplessis janicduplessis deleted the adjusts-to-fix-android branch August 31, 2020 23:45
@janicduplessis
Copy link
Contributor Author

I works, the docs might not have been updated

@giantslogik
Copy link

This seems to be broken on Android 9. Seems to display with fontSize 4 always.

Worked with android 10.

@winardis
Copy link

@giantslogik mine worked fined on my device running Android 9 with react-native version 0.63.3
but i'm not so sure now, because you mentioned that on your end it always returns 4 as fontSize

also the documentation didn't update that it supports Android yet, so kinda confused here as well

shergin pushed a commit to shergin/react-native that referenced this pull request May 17, 2021
This PR fixes facebook#30717, a bug in `<Text adjustsFontSizeToFit={true}>` implementation that prevents it from adjusting text size dynamically on Android.

The way `adjustsFontSizeToFit` was implemented in facebook#26389 (and the design of ReactTextShadowNode) implies that Yoga will call `onMeasure` on every size change of a `<Text>` component, which is actually not the case (Yoga can cache the results of the measures, call the function multiple times or do not call at all inferring the size from the size constraints). The implementation of `adjustsFontSizeToFit` computes the adjusted string inside the measure function and then eventually passes that to the view layer where it's being rendered.

The proper fix of this issue requires the full redesign of the measure and rendering pipelines and separating them, and that... would be too invasive. And, I believe, this issue is already fixed in Fabric where this part is already designed this way.

Instead, this diff implements a small workaround: if `adjustsFontSizeToFit` is enabled, we manually dirty the Yoga node and mark the shadow node updated to force remeasuring.
facebook-github-bot pushed a commit that referenced this pull request Aug 25, 2021
…id (#31538)

Summary:
This PR fixes #30717, a bug in `<Text adjustsFontSizeToFit={true}>` implementation that prevents it from adjusting text size dynamically on Android.

The way `adjustsFontSizeToFit` was implemented in #26389 (and the design of ReactTextShadowNode) implies that Yoga will call `onMeasure` on every size change of a `<Text>` component, which is actually not the case (Yoga can cache the results of the measures, call the function multiple times or do not call at all inferring the size from the size constraints). The implementation of `adjustsFontSizeToFit` computes the adjusted string inside the measure function and then eventually passes that to the view layer where it's being rendered.

The proper fix of this issue requires the full redesign of the measure and rendering pipelines and separating them, and that... would be too invasive. And, I believe, this issue is already fixed in Fabric where this part is already designed this way.

Instead, this diff implements a small workaround: if `adjustsFontSizeToFit` is enabled, we manually dirty the Yoga node and mark the shadow node updated to force remeasuring.

## Changelog

[Android] [Fixed] - Fixed dynamic behavior of <Text adjustsFontSizeToFit={true}> on Android

Pull Request resolved: #31538

Test Plan: https://user-images.githubusercontent.com/22032/118508162-8c79cc80-b6f4-11eb-853f-a1a09f82935f.mov

Reviewed By: mdvacca

Differential Revision: D28631465

Pulled By: yungsters

fbshipit-source-id: 7db1d22e2a5a464c7bf941d1d3df8e3fe8df66a2
facebook-github-bot pushed a commit that referenced this pull request Mar 15, 2023
Summary:
This sync includes the following changes:
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...47cf4e5

jest_e2e[run_all_tests]

Reviewed By: sammy-SC

Differential Revision: D44090004

fbshipit-source-id: 6ac2d1d22a078d07ce011481063e78843bded28e
facebook-github-bot pushed a commit that referenced this pull request Mar 21, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
jeongshin pushed a commit to jeongshin/react-native that referenced this pull request May 7, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([facebook#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([facebook#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([facebook#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([facebook#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([facebook#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([facebook#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([facebook#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([facebook#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([facebook#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([facebook#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([facebook#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([facebook#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([facebook#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([facebook#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([facebook#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([facebook#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([facebook#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([facebook#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([facebook#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([facebook#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([facebook#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([facebook#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([facebook#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([facebook#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([facebook#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([facebook#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([facebook#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([facebook#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([facebook#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([facebook#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([facebook#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([facebook#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([facebook#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([facebook#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([facebook#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([facebook#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([facebook#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([facebook#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([facebook#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([facebook#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([facebook#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([facebook#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([facebook#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([facebook#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([facebook#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([facebook#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([facebook#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([facebook#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([facebook#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([facebook#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([facebook#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([facebook#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([facebook#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([facebook#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([facebook#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([facebook#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([facebook#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([facebook#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([facebook#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([facebook#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([facebook#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([facebook#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([facebook#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([facebook#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([facebook#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([facebook#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([facebook#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([facebook#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([facebook#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([facebook#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([facebook#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([facebook#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([facebook#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([facebook#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([facebook#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([facebook#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([facebook#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([facebook#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([facebook#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([facebook#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([facebook#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([facebook#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([facebook#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([facebook#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([facebook#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([facebook#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([facebook#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([facebook#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([facebook#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([facebook#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([facebook#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([facebook#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([facebook#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([facebook#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([facebook#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([facebook#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([facebook#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([facebook#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([facebook#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([facebook#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([facebook#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([facebook#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([facebook#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([facebook#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([facebook#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([facebook#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([facebook#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([facebook#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([facebook#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([facebook#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([facebook#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([facebook#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([facebook#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([facebook#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([facebook#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([facebook#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([facebook#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([facebook#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([facebook#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([facebook#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([facebook#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([facebook#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([facebook#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([facebook#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([facebook#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([facebook#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([facebook#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([facebook#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([facebook#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([facebook#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([facebook#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([facebook#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([facebook#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([facebook#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([facebook#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([facebook#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([facebook#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([facebook#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([facebook#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([facebook#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([facebook#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([facebook#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([facebook#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([facebook#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([facebook#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([facebook#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([facebook#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([facebook#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([facebook#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([facebook#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([facebook#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([facebook#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([facebook#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([facebook#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([facebook#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([facebook#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([facebook#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([facebook#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([facebook#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([facebook#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([facebook#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([facebook#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([facebook#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([facebook#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([facebook#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([facebook#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([facebook#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([facebook#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([facebook#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([facebook#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...47cf4e5

jest_e2e[run_all_tests]

Reviewed By: sammy-SC

Differential Revision: D44090004

fbshipit-source-id: 6ac2d1d22a078d07ce011481063e78843bded28e
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([facebook#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([facebook#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([facebook#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([facebook#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([facebook#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([facebook#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([facebook#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([facebook#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([facebook#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([facebook#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([facebook#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([facebook#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([facebook#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([facebook#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([facebook#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([facebook#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([facebook#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([facebook#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([facebook#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([facebook#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([facebook#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([facebook#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([facebook#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([facebook#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([facebook#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([facebook#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([facebook#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([facebook#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([facebook#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([facebook#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([facebook#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([facebook#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([facebook#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([facebook#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([facebook#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([facebook#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([facebook#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([facebook#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([facebook#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([facebook#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([facebook#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([facebook#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([facebook#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([facebook#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([facebook#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([facebook#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([facebook#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([facebook#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([facebook#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([facebook#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([facebook#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([facebook#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([facebook#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([facebook#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([facebook#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([facebook#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([facebook#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([facebook#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([facebook#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([facebook#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([facebook#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([facebook#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([facebook#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([facebook#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([facebook#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([facebook#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([facebook#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([facebook#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([facebook#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([facebook#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([facebook#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([facebook#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([facebook#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([facebook#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([facebook#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([facebook#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([facebook#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([facebook#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([facebook#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([facebook#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([facebook#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([facebook#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([facebook#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([facebook#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([facebook#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([facebook#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([facebook#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([facebook#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([facebook#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Contributor A React Native contributor. Merged This PR has been merged. Platform: Android Android applications. Type: Enhancement A new feature or enhancement of an existing feature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.