Commit Graph

15690 Commits

Author SHA1 Message Date
sebmarkbage b2a908fe42 [Flight] Add bundler-less version of RSC using plain ESM (#26889)
This isn't really meant to be actually used, there are many issues with
this approach, but it shows the capabilities as a proof-of-concept.

It's a new reference implementation package `react-server-dom-esm` as
well as a fixture in `fixtures/flight-esm` (fork of `fixtures/flight`).
This works pretty much the same as pieces we already have in the Webpack
implementation but instead of loading modules using Webpack on the
client it uses native browser ESM.

To really show it off, I don't use any JSX in the fixture and so it also
doesn't use Babel or any compilation of the files.

This works because we don't actually bundle the server in the reference
implementation in the first place. We instead use [Node.js
Loaders](https://nodejs.org/api/esm.html#loaders) to intercept files
that contain `"use client"` and `"use server"` and replace them. There's
a simple check for those exact bytes, and no parsing, so this is very
fast.

Since the client isn't actually bundled, there's no module map needed.
We can just send the file path to the file we want to load in the RSC
payload for client references.

Since the existing reference implementation for Node.js already used ESM
to load modules on the server, that all works the same, including Server
Actions. No bundling.

There is one case that isn't implemented here. Importing a `"use
server"` file from a Client Component. We don't have that implemented in
the Webpack reference implementation neither - only in Next.js atm. In
Webpack it would be implemented as a Webpack loader.

There are a few ways this can be implemented without a bundler:

- We can intercept the request from the browser importing this file in
the HTTP server, and do a quick scan for `"use server"` in the file and
replace it just like we do with loaders in Node.js. This is effectively
how Vite works and likely how anyone using this technique would have to
support JSX anyway.
- We can use native browser "loaders" once that's eventually available
in the same way as in Node.js.
- We can generate import maps for each file and replace it with a
pointer to a placeholder file. This requires scanning these ahead of
time which defeats the purposes.

Another case that's not implemented is the inline `"use server"` closure
in a Server Component. That would require the existing loader to be a
bit smarter but would still only "compile" files that contains those
bytes in the fast path check. This would also happen in the loader that
already exists so wouldn't do anything substantially different than what
we currently have here.

DiffTrain build for [f181ba8aa6](https://github.com/facebook/react/commit/f181ba8aa6339d62f6e2572109c61242606f16b3)
2023-06-03 20:03:38 +00:00
gnoff 650431a15f [Fizz][Float] stop automatically preloading scripts that are not script resources (#26877)
Currently we preload all scripts that are not hoisted. One of the
original reasons for this is we stopped SSR rendering async scripts that
had an onLoad/onError because we needed to be able to distinguish
between Float scripts and non-Float scripts during hydration. Hydration
has been refactored a bit and we can not get around this limitation so
we can just emit the async script in place. However, sync and defer
scripts are also preloaded. While this is sometimes desirable it is not
universally so and there are issues with conveying priority properly
(see fetchpriority) so with this change we remove the automatic
preloading of non-Float scripts altogether.

For this change to make sense we also need to emit async scripts with
loading handlers during SSR. we previously only preloaded them during
SSR because it was necessary to keep async scripts as unambiguously
resources when hydrating. One ancillary benefit was that load handlers
would always fire b/c there was no chance the script would run before
hydration. With this change we go back to having the ability to have
load handlers fired before hydration. This is already a problem with
images and we don't have a generalized solution for it however our
likely approach to this sort of thing where you need to wait for a
script to load is to use something akin to `importScripts()` rather than
rendering a script with onLoad.

DiffTrain build for [e1ad4aa361](https://github.com/facebook/react/commit/e1ad4aa3615333009d76f947ff05ddeff01039c6)
2023-06-01 20:39:44 +00:00
gnoff 54ded05484 [Fizz][Float] stop preloading stylesheets that are not stylesheet resources (#26873)
We previously preloaded stylesheets that were rendered in Fizz. The idea
was we'd get a headstart fetching these resources since we know they are
going to be rendered. However to really be effective non-float
stylesheets need to rendered in the head and the preload here is not
helpful and potentially hurtful to perf in a minor way. This change
removes this functionality to make the code smaller and simpler

DiffTrain build for [5fb2c15a89](https://github.com/facebook/react/commit/5fb2c15a89de844a1dd12a61e7674e55dc0dfa89)
2023-06-01 20:29:45 +00:00
gnoff ee61e4af9e [Float] support fetchpriority on ReactDOM.preload() and ReactDOM.preinit() (#26880)
exposes fetchPriority as an option for `ReactDOM.preload()` and
`ReactDOM.preinit()`

the typings should be `'high' | 'low' | 'auto'`

DiffTrain build for [042d8f606c](https://github.com/facebook/react/commit/042d8f606ce643d2eca955badbf07ea5b8ac266c)
2023-06-01 20:17:46 +00:00
tyao1 d6f9de5ae1 Always trigger componentWillUnmount in StrictMode (#26842)
<!--
  Thanks for submitting a pull request!
We appreciate you spending the time to work on these changes. Please
provide enough information so that others can review your pull request.
The three fields below are mandatory.

Before submitting a pull request, please make sure the following is
done:

1. Fork [the repository](https://github.com/facebook/react) and create
your branch from `main`.
  2. Run `yarn` in the repository root.
3. If you've fixed a bug or added code that should be tested, add tests!
4. Ensure the test suite passes (`yarn test`). Tip: `yarn test --watch
TestName` is helpful in development.
5. Run `yarn test --prod` to test in the production environment. It
supports the same options as `yarn test`.
6. If you need a debugger, run `yarn test --debug --watch TestName`,
open `chrome://inspect`, and press "Inspect".
7. Format your code with
[prettier](https://github.com/prettier/prettier) (`yarn prettier`).
8. Make sure your code lints (`yarn lint`). Tip: `yarn linc` to only
check changed files.
  9. Run the [Flow](https://flowtype.org/) type checks (`yarn flow`).
  10. If you haven't already, complete the CLA.

Learn more about contributing:
https://reactjs.org/docs/how-to-contribute.html
-->

## Summary

<!--
Explain the **motivation** for making this change. What existing problem
does the pull request solve?
-->
In StrictMode, React currently only triggers `componentWillUnmount` if
`componentDidMount` is defined. This would miss detecting issues like
initializing resources in constructor or componentWillMount, for
example:
```
class Component {
  constructor() {
     this._subscriptions = new Subscriptions();
  }
  componentWillUnmount() {
     this._subscriptions.reset();
  }
}
```

The PR makes `componentWillUnmount` always run in StrictMode.

## How did you test this change?

<!--
Demonstrate the code is solid. Example: The exact commands you ran and
their output, screenshots / videos if the pull request changes the user
interface.
How exactly did you verify that your PR solves the issue you wanted to
solve?
  If you leave this empty, your PR will very likely be closed.
-->
`yarn test ci`

DiffTrain build for [811022232e](https://github.com/facebook/react/commit/811022232efed62a3c943701bc99d18655bc78b3)
2023-06-01 17:40:28 +00:00
rickhanlonii 9908c7d696 Clean up enableSyncDefaultUpdates flag a bit (#26858)
## Overview

Does a few things:
- Renames `enableSyncDefaultUpdates` to
`forceConcurrentByDefaultForTesting`
- Changes the way it's used so it's dead-code eliminated separate from
`allowConcurrentByDefault`
- Deletes a bunch of the gated code

The gates that are deleted are unnecessary now. We were keeping them
when we originally thought we would come back to being concurrent by
default. But we've shifted and now sync-by default is the desired
behavior long term, so there's no need to keep all these forked tests
around.

I'll follow up to delete more of the forked behavior if possible.
Ideally we wouldn't need this flag even if we're still using
`allowConcurrentByDefault`.

DiffTrain build for [018c58c9c6](https://github.com/facebook/react/commit/018c58c9c65452cff25aaf1f38f78a9b90d8e5c1)
2023-06-01 13:31:21 +00:00
gnoff ea7881e9d2 [Fizz] preload bootstrapModules (#26754)
stacked on #26753

Adds support for preloading bootstrapModules. We don't yet support
modules in Float's public interface but this implementation should be
compatible with what we do when we add it.

DiffTrain build for [ae31d2ea3c](https://github.com/facebook/react/commit/ae31d2ea3c3f9f0a87ff2c6193484d5d8786bc5f)
2023-05-31 23:53:13 +00:00
gnoff cea3a73ea6 [Fizz] preload bootstrapScripts (#26753)
This PR adds a preload for bootstrapScripts. preloads are captured
synchronously when you create a new Request and as such the normal logic
to check if a preload already exists is skipped.

DiffTrain build for [b864ad4397](https://github.com/facebook/react/commit/b864ad4397e7b366ece9ecfdfafa5660ae6b8390)
2023-05-31 23:30:33 +00:00
gnoff 4d066bfea8 [Fiber][Float] preinitialized stylesheets should support integrity option (#26881)
preinitialized stylesheets did not render the integrity option on the
client implementation of Float. This was an oversight.

DiffTrain build for [e1e68b9f7f](https://github.com/facebook/react/commit/e1e68b9f7ffecf98e1b625cfe3ab95741be1417b)
2023-05-31 20:54:08 +00:00
gnoff 0b1cce0a5d [Fiber] retain scripts on clearContainer and clearSingleton (#26871)
clearContainer and clearSingleton both assumed scripts could be safely
removed from the DOM because normally once a script has been inserted
into the DOM it is executable and removing it, even synchronously, will
not prevent it from running. However There is an edge case in a couple
browsers (Chrome at least) where during HTML streaming if a script is
opened and not yet closed the script will be inserted into the document
but not yet executed. If the script is removed from the document before
the end tag is parsed then the script will not run. This change causes
clearContainer and clearSingleton to retain script elements. This is
generally thought to be safe because if we are calling these methods we
are no longer hydrating the container or the singleton and the scripts
execution will happen regardless.

DiffTrain build for [1cea384480](https://github.com/facebook/react/commit/1cea384480a6dea80128e5e0ddb714df7bea1520)
2023-05-30 20:18:47 +00:00
rickhanlonii abcb33d39c Update enableSyncDefaultUpdates for www (#26857)
If this is false, it dead code eliminates the path to use the root flag.
Will follow up to clean this up.

DiffTrain build for [0210f0b082](https://github.com/facebook/react/commit/0210f0b082c95f5aec08f356d796c512eab44fc4)
2023-05-26 01:38:07 +00:00
rickhanlonii d0559b8b8a Move enableSyncDefaultUpdates to test config (#26847)
DiffTrain build for [ee4233bdbc](https://github.com/facebook/react/commit/ee4233bdbc71a7e09395a613c7dde01194d2a830)
2023-05-24 22:30:55 +00:00
gnoff 1d665b6fa3 Update preload links to support nonce and fetchpriority (#26826)
Currently when React generates rel=preload link tags for script/stylesheet resources, it will not carryover nonce and fetchpriority values if specified on the original elements.

This change ensures that the preload links use the nonce and fetchPriority values if they were specified.

DiffTrain build for [535c038d15](https://github.com/facebook/react/commit/535c038d15d21f33e678187410d658456cc0ce39)
2023-05-23 03:01:14 +00:00
sebmarkbage e48bfabe44 Remove Flight Relay DOM/Native (#26828)
The bindings upstream in Relay has been removed so we don't need these
builds anymore. The idea is to revisit an FB integration of Flight but
it wouldn't use the Relay specific bindings. It's a bit unclear how it
would look but likely more like the OSS version so not worth keeping
these around.

The `dom-relay` name also included the FB specific Fizz implementation
of the streaming config so I renamed that to `dom-fb`. There's no Fizz
implementation for Native yet so I just removed `native-relay`.

We created a configurable fork for how to encode the output of Flight
and the Relay implementation encoded it as JSON objects instead of
strings/streams. The new implementation would likely be more stream-like
and just encode it directly as string/binary chunks. So I removed those
indirections so that this can just be declared inline in
ReactFlightServer/Client.

DiffTrain build for [5309f10285](https://github.com/facebook/react/commit/5309f102854475030fb91ab732141411b49c1126)
2023-05-18 00:39:33 +00:00
acdlite 2c5d055496 Lower Suspense throttling heuristic to 300ms (#26803)
Now that the throttling mechanism applies more often, we've decided to
lower this a tad to ensure it's not noticeable. The idea is it should be
just large enough to prevent jank when lots of different parts of the UI
load in rapid succession, but not large enough to make the UI feel
sluggish. There's no perfect number, it's just a heuristic.

DiffTrain build for [f8de255e94](https://github.com/facebook/react/commit/f8de255e94540f9018d8196b3a34da500707c39b)
2023-05-16 20:05:29 +00:00
acdlite 7b59f84660 Fix Suspense throttling mechanism (#26802)
The throttling mechanism for fallbacks should apply to both their
appearance _and_ disappearance.

This was mostly addressed by #26611. See that PR for additional context.

However, a flaw in the implementation is that we only update the the
timestamp used for throttling when the fallback initially appears. We
don't update it when the real content pops in. If lots of content in
separate Suspense trees loads around the same time, you can still get
jank.

The issue is fixed by updating the throttling timestamp whenever the
visibility of a fallback changes. Not just when it appears.

DiffTrain build for [4bfcd02b2c](https://github.com/facebook/react/commit/4bfcd02b2cebcb390f5aff0d7747c60a55012d5d)
2023-05-16 19:09:44 +00:00
sophiebits 646a30e8a1 Fix uSES hydration in strict mode (#26791)
Previously, we'd call and use getSnapshot on the second render resulting
in `Warning: Text content did not match. Server: "Nay!" Client: "Yay!"`
and then `Error: Text content does not match server-rendered HTML.`.

Fixes #26095. Closes #26113. Closes #25650.

---------

Co-authored-by: eps1lon <silbermann.sebastian@gmail.com>

DiffTrain build for [4cd7065665](https://github.com/facebook/react/commit/4cd7065665ea2cf33c306265c8d817904bb401ca)
2023-05-12 21:22:56 +00:00
kassens d08f005d08 [www] reduce dynamic SchedulerFeatureFlags (#26617)
For these values we're not using dynamic values. We can statically
compile in the values we're running.

DiffTrain build for [df12d7eac4](https://github.com/facebook/react/commit/df12d7eac40c87bd5fdde0aa5a739bce9e7dce27)
2023-05-10 21:32:07 +00:00
kassens 3df08cb0ac Flow upgrade to 0.205.1 (#26796)
Just a small upgrade to keep us current and remove unused suppressions
(probably fixed by some upgrade since).

- `*` is no longer allowed and has been an alias for `any` for a while
now.

DiffTrain build for [fda1f0b902](https://github.com/facebook/react/commit/fda1f0b902b527089fe5ae7b3aa573c633166ec9)
2023-05-09 14:53:56 +00:00
sammy-SC c16551253d Use native scheduler if defined in global scope (#26554)
Co-authored-by: Dan Abramov <dan.abramov@gmail.com>

DiffTrain build for [b00e27342d](https://github.com/facebook/react/commit/b00e27342d6ff0f2a3a57b8e1edf66290d27cf07)
2023-05-05 13:08:26 +00:00
sebmarkbage 4707842f6a [Flight] Progressively Enhanced Server Actions (#26774)
This automatically exposes `$$FORM_ACTIONS` on Server References coming
from Flight. So that when they're used in a form action, we can encode
the ID for the server reference as a hidden field or as part of the name
of a button.

If the Server Action is a bound function it can have complex data
associated with it. In this case this additional data is encoded as
additional form fields.

To process a POST on the server there's now a `decodeAction` helper that
can take one of these progressive posts from FormData and give you a
function that is prebound with the correct closure and FormData so that
you can just invoke it.

I updated the fixture which now has a "Server State" that gets
automatically refreshed. This also lets us visualize form fields.
There's no "Action State" here for showing error messages that are not
thrown, that's still up to user space.

DiffTrain build for [aef7ce5547](https://github.com/facebook/react/commit/aef7ce5547c9489dc48e31f69b002cd17206e0cb)
2023-05-03 22:43:04 +00:00
sebmarkbage 399d6ad8d6 [Fizz] Gracefully handle suspending in DOM configs (#26768)
E.g. if we suspend (throw a promise) in pushStartInstance today we might
have already pushed some chunks (or even child segments potentially). We
should revert back to where we were.

This doesn't usually happen because when we suspend in a component it
doesn't write anything itself, it'll always defer to som host instance
to do the writing.

There was a todo about this already but I'm not 100% sure it's always
safe when suspending. It should be safe when suspending just regularly
because it's just a noop. We might not even want "throwing a promise" in
this mechanism to be supported longer term but for now that's how a
suspend in internals.

DiffTrain build for [c10010a6a0](https://github.com/facebook/react/commit/c10010a6a00911fe99452bc561dd47c3e15f4eb8)
2023-05-03 22:19:57 +00:00
sebmarkbage a746b8028a [Fizz] Check for nullish values on ReactCustomFormAction (#26770)
Usually we don't have to do this since we only set these in the loop but
the ReactCustomFormAction props are optional so they might be undefined.

Also moved it to a general type since it's a semi-public API.

DiffTrain build for [fa7a447b9c](https://github.com/facebook/react/commit/fa7a447b9ce5a4f0be592fc2946380b0fa3b29c0)
2023-05-03 18:40:34 +00:00
acdlite 098e6fd1b6 useOptimisticState -> useOptimistic (#26772)
Drop the "state". Just "useOptimistic". It's cleaner.

This is still an experimental API. May not be the final name.

DiffTrain build for [b7972822b5](https://github.com/facebook/react/commit/b7972822b5887d05ae772ef757a453265b4b7aec)
2023-05-03 18:31:56 +00:00
sebmarkbage 0b3882cf21 [Fizz] Allow an action provide a custom set of props to use for progressive enhancement (#26749)
Stacked on top of #26735.

This allows a framework to add a `$$FORM_ACTION` property to a function.
This lets the framework return a set of props to use in place of the
function but only during SSR. Effectively, this lets you implement
progressive enhancement of form actions using some other way instead of
relying on the replay feature.

This will be used by RSC on Server References automatically by
convention in a follow up, but this mechanism can also be used by other
frameworks/libraries.

DiffTrain build for [559e83aebb](https://github.com/facebook/react/commit/559e83aebb2026035d47aa0ebf842f78d4cd6757)
2023-05-01 20:06:06 +00:00
sebmarkbage 6476ee0531 Allow forms to skip hydration of hidden inputs (#26735)
This allows us to emit extra ephemeral data that will only be used on
server rendered forms.

First I refactored the shouldSkip functions to now just do that work
inside the canHydrate methods. This makes the Config bindings a little
less surface area but it also helps us optimize a bit since we now can
look at the code together and find shared paths.

canHydrate returns the instance if it matches, that used to just be
there to refine the type but it can also be used to just return a
different instance later that we find. If we don't find one, we'll bail
out and error regardless so no need to skip past anything.

DiffTrain build for [67f4fb0213](https://github.com/facebook/react/commit/67f4fb02130b1fe1856289e3b66bb0b8cca57ff7)
2023-05-01 19:41:06 +00:00
gnoff cae0d1b52f [Fizz] Encode external fizz runtime into chunks eagerly (#26752)
in https://github.com/facebook/react/pull/26738 we added nonce to the
ResponseState. Initially it was used in a variety of places but the
version that got merged only included it with the external fizz runtime.
This PR updates the config for the external fizz runtime so that the
nonce is encoded into the script chunks at request creation time.

The rationale is that for live-requests, streaming is more likely than
not so doing the encoding work at the start is better than during flush.
For cases such as SSG where the runtime is not required the extra
encoding is tolerable (not a live request). Bots are an interesting case
because if you want fastest TTFB you will end up requiring the runtime
but if you are withholding until the stream is done you have already
sacrificed fastest TTFB and the marginal slowdown of the extraneous
encoding is hopefully neglibible

I'm writing this so later if we learn that this tradeoff isn't worth it
we at least understand why I made the change in the first place.

DiffTrain build for [8ea96ef84d](https://github.com/facebook/react/commit/8ea96ef84d8f08ed1846dec9e8ed20d2225db0d3)
2023-05-01 17:55:35 +00:00
acdlite 655915c681 Implement experimental_useOptimisticState (#26740)
This adds an experimental hook tentatively called useOptimisticState.
(The actual name needs some bikeshedding.)

The headline feature is that you can use it to implement optimistic
updates. If you set some optimistic state during a transition/action,
the state will be automatically reverted once the transition completes.

Another feature is that the optimistic updates will be continually
rebased on top of the latest state.

It's easiest to explain with examples; we'll publish documentation as
the API gets closer to stabilizing. See tests for now.

Technically the use cases for this hook are broader than just optimistic
updates; you could use it implement any sort of "pending" state, such as
the ones exposed by useTransition and useFormStatus. But we expect
people will most often reach for this hook to implement the optimistic
update pattern; simpler cases are covered by those other hooks.

DiffTrain build for [491aec5d61](https://github.com/facebook/react/commit/491aec5d6113ce5bae7c10966bc38a4a8fc091a8)
2023-05-01 17:24:18 +00:00
gnoff 0f3ca2b230 Add nonce support to bootstrap scripts and external runtime (#26738)
Adds support for nonce on `bootstrapScripts`, `bootstrapModules` and the external fizz runtime

DiffTrain build for [9545e4810c](https://github.com/facebook/react/commit/9545e4810c2dc8922f575b6d8f726503a7345d0c)
2023-05-01 16:23:49 +00:00
gnoff 59f00e19a3 Preinits should support a nonce option (#26744)
Currently there is no way to provide a nonce when using
`ReactDOM.preinit(..., { as: 'script' })`

This PR adds `nonce?: string` as an option

While implementing this PR I added a test to also show you can pass
`integrity`. This test isn't directly related to the nonce change.

DiffTrain build for [b12bea62d9](https://github.com/facebook/react/commit/b12bea62d9cfd9a925f28cb2c93daeda3865a64e)
2023-04-28 23:02:37 +00:00
josephsavona db78d9be34 Handle line endings correctly on Windows in build script for RN (#26727)
## Summary

We added some post-processing in the build for RN in #26616 that broke
for users on Windows due to how line endings were handled to the regular
expression to insert some directives in the docblock. This fixes that
problem, reported in #26697 as well.

## How did you test this change?

Verified files are still built correctly on Mac/Linux. Will ask for help
to test on Windows.

DiffTrain build for [f87e97a0a6](https://github.com/facebook/react/commit/f87e97a0a67fa7cfd7e6f2ec985621c0e825cb23)
2023-04-25 22:05:15 +00:00
kassens 6c615dc833 Squash of #26573, #26580, #26583, #26594, #26595, #26596, #26627
- Refactor some controlled component stuff (#26573)
- Don't update textarea defaultValue and input checked unnecessarily (#26580)
- Diff properties in the commit phase instead of generating an update payload (#26583)
- Move validation of text nesting into ReactDOMComponent  (#26594)
- Remove initOption special case (#26595)
- Use already extracted values instead of reading off props for controlled components (#26596)
- Fix input tracking bug (#26627)

DiffTrain build for [ded4a785b875d384f78efa28279550d86d93f54f](https://github.com/facebook/react/commit/ded4a785b875d384f78efa28279550d86d93f54f)
2023-04-21 18:37:22 +00:00
kassens dccdf22b11 Refactor some controlled component stuff (#26573)
This is mainly renaming some stuff. The behavior change is
hasOwnProperty to nullish check.

I had a bigger refactor that was a dead-end but might as well land this
part and see if I can pick it up later.

DiffTrain build for [e48e771805c44929e0beb6fa138822a20765a3aa](https://github.com/facebook/react/commit/e48e771805c44929e0beb6fa138822a20765a3aa)
2023-04-21 14:09:07 +00:00
kassens 6433b78fee Clean up discrete event replaying (#26558)
This reverts commit cc958d2b1b.

DiffTrain build for [7ecfd6dc036fd923e7bdfd090e0956b1eca4323a](https://github.com/facebook/react/commit/7ecfd6dc036fd923e7bdfd090e0956b1eca4323a)
2023-04-20 18:40:30 +00:00
kassens f504564195 Remove no-fallthrough lint suppressions (#26553)
This reverts commit 5f0684807e.

DiffTrain build for [6bb84216807f5386d8a83baf9ee464358a68c7bd](https://github.com/facebook/react/commit/6bb84216807f5386d8a83baf9ee464358a68c7bd)
2023-04-20 18:31:04 +00:00
kassens 3f62582404 Put common aliases in Map/Set instead of switch over strings (#26551)
This reverts commit cb3fb01cc3.

DiffTrain build for [1ef9912cc096fa471019a54eff4999b36856288c](https://github.com/facebook/react/commit/1ef9912cc096fa471019a54eff4999b36856288c)
2023-04-20 17:09:08 +00:00
kassens 702cd33bd7 Remove findInstanceBlockingEvent unused parameters (#26534)
This reverts commit 682e67edd4.

DiffTrain build for [90fa6be2509f68fa05897324e6adbab57de30c0f](https://github.com/facebook/react/commit/90fa6be2509f68fa05897324e6adbab57de30c0f)
2023-04-20 17:02:20 +00:00
kassens 008dc81da7 Refactor DOM Bindings Completely Off of DOMProperty Meta Programming (#26546)
This reverts commit f41ddb6645.

DiffTrain build for [f506c332bbece40ca884cdb1f81345732ab0d3d3](https://github.com/facebook/react/commit/f506c332bbece40ca884cdb1f81345732ab0d3d3)
2023-04-20 15:54:55 +00:00
kassens 79869b0f78 Rename ReactServerFormatConfig to ReactFizzConfig (#26591)
This reverts commit 5988c2fee8.

DiffTrain build for [0108a62d6bed06f836ba904273541b74074806ca](https://github.com/facebook/react/commit/0108a62d6bed06f836ba904273541b74074806ca)
2023-04-20 15:39:59 +00:00
kassens 6325f82838 Implements wiring for Flight to have it's own "HostConfig" (#26590)
This reverts commit 9429ec9a83.

DiffTrain build for [cdf4588242e1dc0c9b29f7539d9ae97d216d03d4](https://github.com/facebook/react/commit/cdf4588242e1dc0c9b29f7539d9ae97d216d03d4)
2023-04-20 15:32:52 +00:00
kassens 1f49af93f1 Fix: Move destroy field to shared instance object (#26561)
This reverts commit d41e5c2c3c.

DiffTrain build for [1d3ffd9d9addb4aa0988b92ee6917c07c3c261ae](https://github.com/facebook/react/commit/1d3ffd9d9addb4aa0988b92ee6917c07c3c261ae)
2023-04-20 15:27:55 +00:00
kassens 38b20a32d3 Fix suspense replaying forward refs (#26535)
This reverts commit adac7b1e8d.

DiffTrain build for [2f18eb0ac63fdcaed3f1d4e3c375a559a552c09a](https://github.com/facebook/react/commit/2f18eb0ac63fdcaed3f1d4e3c375a559a552c09a)
2023-04-20 15:22:14 +00:00
kassens 7d661b0f87 Fix logic around attribute seralization (#26526)
This reverts commit ea499ef928.

DiffTrain build for [66dc44e7760d0f75b6845b7fa71f2f1e4e5f20d3](https://github.com/facebook/react/commit/66dc44e7760d0f75b6845b7fa71f2f1e4e5f20d3)
2023-04-20 15:09:58 +00:00
kassens 91db3a057d Revert "Cleanup enableSyncDefaultUpdate flag (#26236)" (#26528)
This reverts commit c6baac38b4.

DiffTrain build for [a7b421fb4e0d0aa29aa2c3436c7c8756f2bae2d2](https://github.com/facebook/react/commit/a7b421fb4e0d0aa29aa2c3436c7c8756f2bae2d2)
2023-04-20 00:49:09 +00:00
kassens 34cf2eff9f Revert "Revert "[Float] Suspend unstyled content for up to 1 minute (#26532)""
This reverts commit 314f7d3a3c.

DiffTrain build for [7eca7179173c91d3a3501140df0afd45886d1769](https://github.com/facebook/react/commit/7eca7179173c91d3a3501140df0afd45886d1769)
2023-04-19 23:16:43 +00:00
kassens d05978bc8f Revert "Revert "Allow transitions to interrupt Suspensey commits (#26531)""
This reverts commit cfd9d8c73f.

DiffTrain build for [f9231793c57da481cc2030b77f9806cd4dc156f0](https://github.com/facebook/react/commit/f9231793c57da481cc2030b77f9806cd4dc156f0)
2023-04-19 21:40:43 +00:00
kassens 4771ede2e9 Revert "Revert "act: Move didScheduleLegacyUpdate to ensureRootIsScheduled (#26552)""
This reverts commit 7b6e17c8bb.

DiffTrain build for [d08b6cf47b8b4c5bcf8e393fe7b42a896be1b44c](https://github.com/facebook/react/commit/d08b6cf47b8b4c5bcf8e393fe7b42a896be1b44c)
2023-04-19 19:33:44 +00:00
Jan Kassens 6503387506 Update REVISION again 2023-04-19 14:16:38 -04:00
Jan Kassens 33386c26c4 Update REVISION 2023-04-19 14:16:36 -04:00
Jan Kassens 0cb176e5f3 Update REVISION 2023-04-19 13:59:08 -04:00