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

[Float] handle noscript context for Resources #25559

Merged
merged 4 commits into from
Oct 27, 2022
Merged

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Oct 24, 2022

stacked on #25569

On the client noscript already never renders children so no resources will be extracted from this context. On the server we now track if we are in a noscript context and turn off Resource semantics in this scope

@sizebot
Copy link

sizebot commented Oct 24, 2022

Comparing: 1720405...0b67cfa

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js = 152.77 kB 152.77 kB = 48.73 kB 48.73 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 154.69 kB 154.69 kB = 49.34 kB 49.34 kB
facebook-www/ReactDOM-prod.classic.js = 526.93 kB 526.93 kB = 94.15 kB 94.15 kB
facebook-www/ReactDOM-prod.modern.js = 512.19 kB 512.19 kB = 91.98 kB 91.98 kB
facebook-www/ReactDOMForked-prod.classic.js = 526.93 kB 526.93 kB = 94.15 kB 94.15 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.78% 50.02 kB 50.41 kB +0.35% 15.44 kB 15.49 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.78% 50.04 kB 50.43 kB +0.34% 15.46 kB 15.51 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +0.77% 50.37 kB 50.76 kB +0.42% 15.60 kB 15.67 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.77% 50.12 kB 50.50 kB +0.37% 15.70 kB 15.76 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.77% 50.14 kB 50.53 kB +0.38% 15.72 kB 15.78 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.production.min.js +0.77% 50.47 kB 50.86 kB +0.37% 15.84 kB 15.90 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.min.js +0.72% 50.96 kB 51.33 kB +0.34% 16.28 kB 16.34 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.min.js +0.72% 50.98 kB 51.35 kB +0.34% 16.30 kB 16.36 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.production.min.js +0.72% 51.02 kB 51.39 kB +0.33% 16.53 kB 16.58 kB
oss-stable/react-dom/umd/react-dom-server.browser.production.min.js +0.72% 51.05 kB 51.41 kB +0.34% 16.54 kB 16.60 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.production.min.js +0.72% 51.19 kB 51.56 kB +0.31% 16.39 kB 16.44 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.min.js +0.72% 51.31 kB 51.68 kB +0.32% 16.44 kB 16.49 kB
oss-experimental/react-dom/umd/react-dom-server.browser.production.min.js +0.72% 51.38 kB 51.74 kB +0.34% 16.66 kB 16.71 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.72% 54.26 kB 54.65 kB +0.32% 16.69 kB 16.74 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.72% 54.28 kB 54.67 kB +0.31% 16.71 kB 16.76 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.min.js +0.71% 54.67 kB 55.06 kB +0.36% 16.85 kB 16.91 kB
facebook-www/ReactDOMServer-prod.modern.js +0.68% 115.42 kB 116.20 kB +0.48% 22.46 kB 22.57 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.min.js +0.68% 54.78 kB 55.15 kB +0.34% 17.39 kB 17.45 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.min.js +0.68% 54.80 kB 55.17 kB +0.36% 17.41 kB 17.47 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.min.js +0.67% 55.19 kB 55.56 kB +0.34% 17.56 kB 17.62 kB
oss-experimental/react-dom/cjs/react-dom-static.node.production.min.js +0.67% 55.19 kB 55.56 kB +0.33% 17.56 kB 17.61 kB
facebook-www/ReactDOMServer-prod.classic.js +0.66% 118.55 kB 119.33 kB +0.46% 23.10 kB 23.21 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +0.64% 119.66 kB 120.43 kB +0.37% 23.54 kB 23.63 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +0.57% 316.32 kB 318.13 kB +0.37% 71.22 kB 71.48 kB
facebook-www/ReactDOMServer-dev.modern.js +0.57% 320.81 kB 322.65 kB +0.37% 72.23 kB 72.50 kB
facebook-www/ReactDOMServer-dev.classic.js +0.56% 327.51 kB 329.35 kB +0.36% 73.66 kB 73.93 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.41% 312.27 kB 313.55 kB +0.34% 71.37 kB 71.61 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.41% 312.29 kB 313.57 kB +0.34% 71.39 kB 71.64 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +0.41% 313.59 kB 314.87 kB +0.33% 71.76 kB 71.99 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js +0.41% 313.98 kB 315.26 kB +0.33% 71.84 kB 72.08 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js +0.41% 314.00 kB 315.28 kB +0.33% 71.86 kB 72.10 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +0.41% 315.30 kB 316.58 kB +0.33% 72.22 kB 72.46 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js +0.40% 311.50 kB 312.76 kB +0.33% 71.57 kB 71.81 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js +0.40% 311.53 kB 312.78 kB +0.33% 71.60 kB 71.83 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.development.js +0.40% 312.13 kB 313.38 kB +0.33% 71.77 kB 72.00 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js +0.40% 312.67 kB 313.92 kB +0.34% 71.49 kB 71.74 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js +0.40% 312.69 kB 313.95 kB +0.34% 71.52 kB 71.76 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +0.40% 312.82 kB 314.08 kB +0.33% 71.96 kB 72.20 kB
oss-experimental/react-dom/cjs/react-dom-static.node.development.js +0.40% 313.94 kB 315.20 kB +0.33% 71.98 kB 72.22 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +0.40% 313.98 kB 315.24 kB +0.33% 71.88 kB 72.12 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.development.js +0.40% 327.55 kB 328.85 kB +0.35% 72.13 kB 72.38 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.development.js +0.40% 327.58 kB 328.87 kB +0.35% 72.16 kB 72.41 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.development.js +0.39% 328.95 kB 330.25 kB +0.34% 72.52 kB 72.77 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.development.js +0.39% 326.77 kB 328.04 kB +0.33% 72.34 kB 72.57 kB
oss-stable/react-dom/umd/react-dom-server.browser.development.js +0.39% 326.80 kB 328.07 kB +0.33% 72.36 kB 72.60 kB
oss-experimental/react-dom/umd/react-dom-server.browser.development.js +0.39% 328.17 kB 329.44 kB +0.32% 72.73 kB 72.96 kB

Generated by 🚫 dangerJS against 0b67cfa

@gnoff gnoff marked this pull request as ready for review October 24, 2022 23:37
@gnoff gnoff changed the title [Float] do not render as Resource from within noscript [Float] handle noscript context for resources and fix hydration issues Oct 25, 2022
@@ -863,7 +863,7 @@ export function resourcesFromLink(props: Props): boolean {
}
}
if (props.onLoad || props.onError) {
return false;
return true;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

this means we won't emit this element on the server. it's sort of a black hole where we created no resources but we also aren't going to render it as a component either. it will render as an insert on the client

Copy link
Collaborator

Choose a reason for hiding this comment

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

Maybe add this as a comment inline.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I wonder if it would make sense to emit it as a kind of low priority preload though. It seems a bit late to wait for hydration to actually load it off the network.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

well as you pointed out before, we can't know if it is actually loadable. this is a generic pathway for links so this could be some strange rel like "foo".

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

maybe known ones can still emit but also be inserted on the client. for instance preconnect and dns-prefetch and maybe even prefetch

@@ -302,38 +305,61 @@ export function getChildFormatContext(
props: Object,
): FormatContext {
switch (type) {
case 'noscript':
return createFormatContext(HTML_MODE, null, false);
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

the only place we transition from true to false

@gnoff gnoff changed the title [Float] handle noscript context for resources and fix hydration issues [Float] handle noscript context for Resources Oct 26, 2022
@@ -274,15 +274,18 @@ type InsertionMode = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
export type FormatContext = {
insertionMode: InsertionMode, // root/svg/html/mathml/table
selectedValue: null | string | Array<string>, // the selected value(s) inside a <select>, or null outside <select>
allowResources: boolean,
Copy link
Collaborator

Choose a reason for hiding this comment

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

For the nesting warnings we name these by the mechanism buttonTagInScope.

For resourceFormOnly you named it based on its purpose down the tree, and the same here.

These two patterns are not quite compatible.

Might be better sticking to what info the outer scope provides if it can be reused instead of creating a specific purpose that we don't yet know if it'll generalize. It's like an early abstraction.

noscriptTagInScope maybe?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yeah that makes sense. I'll update this PR for allowResources and follow up tomorrow with one for resourceFormOnly

@gnoff gnoff merged commit 09def59 into facebook:main Oct 27, 2022
@gnoff gnoff deleted the float-noscript branch October 27, 2022 06:11
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Nov 1, 2022
Summary:
This sync includes the following changes:
- **[ab075a232](facebook/react@ab075a232 )**: Do not unmount layout effects on initial Offscreen mount ([#25592](facebook/react#25592)) //<Samuel Susla>//
- **[765805bf8](facebook/react@765805bf8 )**: Fix type check for null ([#25595](facebook/react#25595)) //<Sebastian Markbåge>//
- **[2ac77aab9](facebook/react@2ac77aab9 )**: Clean up vestige of useOpaqueIdentifier ([#25587](facebook/react#25587)) //<Andrew Clark>//
- **[bdd3d0807](facebook/react@bdd3d0807 )**: Extract logic for detecting bad fallback to helper //<Andrew Clark>//
- **[952dfff3f](facebook/react@952dfff3f )**: Split suspended work loop logic into separate functions //<Andrew Clark>//
- **[d2c0ab10d](facebook/react@d2c0ab10d )**: In work loop, add enum of reasons for suspending //<Andrew Clark>//
- **[5450dd409](facebook/react@5450dd409 )**: Strict Mode: Reuse memoized result from first pass ([#25583](facebook/react#25583)) //<Andrew Clark>//
- **[d2a0176a1](facebook/react@d2a0176a1 )**: Detect and warn if use(promise) is wrapped with try/catch block ([#25543](facebook/react#25543)) //<Andrew Clark>//
- **[cf3932be5](facebook/react@cf3932be5 )**: Remove old react-fetch, react-fs and react-pg libraries ([#25577](facebook/react#25577)) //<Sebastian Markbåge>//
- **[28a574ea8](facebook/react@28a574ea8 )**: Try assigning fetch to globalThis if global assignment fails ([#25571](facebook/react#25571)) //<Sebastian Markbåge>//
- **[09def5990](facebook/react@09def5990 )**: [Float] handle noscript context for Resources ([#25559](facebook/react#25559)) //<Josh Story>//
- **[17204056d](facebook/react@17204056d )**: [Float] fix coordination of resource identity and hydration ([#25569](facebook/react#25569)) //<Josh Story>//
- **[d925a8d0b](facebook/react@d925a8d0b )**: Flight client error stack ([#25560](facebook/react#25560)) //<Josh Story>//
- **[996b00b78](facebook/react@996b00b78 )**: [Tiny] Fixed incorrect import in `react-server-dom-webpack` ([#25554](facebook/react#25554)) //<Leo Lamprecht>//
- **[e7c5af45c](facebook/react@e7c5af45c )**: Update cache() and use() to the canary aka next channel ([#25502](facebook/react#25502)) //<Sebastian Markbåge>//
- **[fa77f52e7](facebook/react@fa77f52e7 )**: Unify promise switch statements //<Andrew Clark>//
- **[7572e4931](facebook/react@7572e4931 )**: Track thenable state in work loop //<Andrew Clark>//
- **[7fc3eefd8](facebook/react@7fc3eefd8 )**: Revert yieldy behavior for non-use Suspense (in Flight, too) //<Andrew Clark>//
- **[61f9b5e97](facebook/react@61f9b5e97 )**: [Float] support <base> as Resource ([#25546](facebook/react#25546)) //<Josh Story>//
- **[1d3fc9c9c](facebook/react@1d3fc9c9c )**: Bug fix when resolving cache ([#25545](facebook/react#25545)) //<Sebastian Markbåge>//
- **[cce18e350](facebook/react@cce18e350 )**: [Flight] Use AsyncLocalStorage to extend the scope of the cache to micro tasks ([#25542](facebook/react#25542)) //<Sebastian Markbåge>//
- **[caa84c8da](facebook/react@caa84c8da )**: Revert fetch instrumentation to only RSC ([#25540](facebook/react#25540)) //<Sebastian Markbåge>//
- **[0c11baa6a](facebook/react@0c11baa6a )**: add warnings for non-resources rendered outside body or head ([#25532](facebook/react#25532)) //<Josh Story>//
- **[9236abdb5](facebook/react@9236abdb5 )**: when float is enabled only push title and script as a single unit ([#25536](facebook/react#25536)) //<Josh Story>//
- **[dd5c20825](facebook/react@dd5c20825 )**: Revert yieldy behavior for non-use Suspense ([#25537](facebook/react#25537)) //<Andrew Clark>//
- **[934177598](facebook/react@934177598 )**: fix transposed escape functions ([#25534](facebook/react#25534)) //<Josh Story>//
- **[d1ced9fd5](facebook/react@d1ced9fd5 )**: [Float] support all links as Resources ([#25515](facebook/react#25515)) //<Josh Story>//
- **[973b90bdf](facebook/react@973b90bdf )**: [Float] support meta tags as Resources ([#25514](facebook/react#25514)) //<Josh Story>//
- **[79c582981](facebook/react@79c582981 )**: Let ReactDOM initialize in RSC ([#25503](facebook/react#25503)) //<Sebastian Markbåge>//
- **[1f7a2f577](facebook/react@1f7a2f577 )**: [Float] support title tags as Resources ([#25508](facebook/react#25508)) //<Josh Story>//
- **[c63580787](facebook/react@c63580787 )**: Support `use` in `act` testing API ([#25523](facebook/react#25523)) //<Andrew Clark>//
- **[65e32e58b](facebook/react@65e32e58b )**: Add fetch Instrumentation to Dedupe Fetches ([#25516](facebook/react#25516)) //<Sebastian Markbåge>//
- **[9336e29d9](facebook/react@9336e29d9 )**: [useEvent] Lint for presence of useEvent functions in dependency lists ([#25512](facebook/react#25512)) //<lauren>//
- **[3cc792bfb](facebook/react@3cc792bfb )**: [useEvent] Non-stable function identity ([#25473](facebook/react#25473)) //<lauren>//
- **[987292815](facebook/react@987292815 )**: Remove feature flag enableStrictEffects ([#25387](facebook/react#25387)) //<Samuel Susla>//
- **[8e2bde6f2](facebook/react@8e2bde6f2 )**: Add cache() API ([#25506](facebook/react#25506)) //<Sebastian Markbåge>//
- **[9cdf8a99e](facebook/react@9cdf8a99e )**: [Codemod] Update copyright header to Meta ([#25315](facebook/react#25315)) //<Andrew Clark>//
- **[e54015e26](facebook/react@e54015e26 )**: Refactor: fill in the flow missing type ([#25496](facebook/react#25496)) //<c0dedance>//
- **[3b1fd5767](facebook/react@3b1fd5767 )**: refactor: Flow: typing of Scheduler ([#25485](facebook/react#25485)) //<bubucuo>//
- **[14072ce64](facebook/react@14072ce64 )**: Add detach to Offscreen component ([#25265](facebook/react#25265)) //<Samuel Susla>//
- **[3bb71dfd4](facebook/react@3bb71dfd4 )**: Rename react-server-dom-webpack entry points to /client and /server ([#25504](facebook/react#25504)) //<Sebastian Markbåge>//
- **[71f2c8cf1](facebook/react@71f2c8cf1 )**: move resource acquisition to mutation phase ([#25500](facebook/react#25500)) //<Josh Story>//
- **[500bea532](facebook/react@500bea532 )**: Add option to load Fizz runtime from external file ([#25499](facebook/react#25499)) //<Andrew Clark>//
- **[4494f2a86](facebook/react@4494f2a86 )**: [Float] add support for scripts and other enhancements ([#25480](facebook/react#25480)) //<Josh Story>//
- **[9ecf84ed7](facebook/react@9ecf84ed7 )**: Bugfix: Suspending in shell during discrete update ([#25495](facebook/react#25495)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 54f297a...ab075a2

jest_e2e[run_all_tests]

Reviewed By: kassens

Differential Revision: D40897093

fbshipit-source-id: 6a040315834dea5c0ab994ea94d91f5605b9d6b0
GrinZero added a commit to GrinZero/react that referenced this pull request Nov 7, 2022
* 'main' of ssh://github.com/GrinZero/react: (163 commits)
  Do not unmount layout effects if ancestor Offscreen is hidden (facebook#25628)
  Remove check in renderDidSuspendDelayIfPossible (facebook#25630)
  [ServerRenderer] Move fizz external runtime implementation to react-dom-bindings (facebook#25617)
  Unwrap sync resolved thenables without suspending  (facebook#25615)
  refactor isHostResourceType to not receive the context from reconciler and not leak types (facebook#25610)
  Make host context use null as empty and only error in dev (facebook#25609)
  [Float] handle resource Resource creation inside svg context (facebook#25599)
  Allow uncached IO to stablize (facebook#25561)
  [ServerRenderer] Setup for adding data attributes streaming format (facebook#25567)
  Do not unmount layout effects on initial Offscreen mount (facebook#25592)
  Fix type check for null (facebook#25595)
  Clean up vestige of useOpaqueIdentifier (facebook#25587)
  Extract logic for detecting bad fallback to helper
  Split suspended work loop logic into separate functions
  In work loop, add enum of reasons for suspending
  Strict Mode: Reuse memoized result from first pass (facebook#25583)
  Detect and warn if use(promise) is wrapped with try/catch block (facebook#25543)
  Remove old react-fetch, react-fs and react-pg libraries (facebook#25577)
  Try assigning fetch to globalThis if global assignment fails (facebook#25571)
  [Float] handle noscript context for Resources (facebook#25559)
  ...

# Conflicts:
#	scripts/rollup/build.js
rickhanlonii pushed a commit that referenced this pull request Dec 3, 2022
stacked on #25569

On the client noscript already never renders children so no resources
will be extracted from this context. On the server we now track if we
are in a noscript context and turn off Resource semantics in this scope
mofeiZ pushed a commit to mofeiZ/react that referenced this pull request Dec 5, 2022
stacked on facebook#25569

On the client noscript already never renders children so no resources
will be extracted from this context. On the server we now track if we
are in a noscript context and turn off Resource semantics in this scope
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[ab075a232](facebook/react@ab075a232 )**: Do not unmount layout effects on initial Offscreen mount ([facebook#25592](facebook/react#25592)) //<Samuel Susla>//
- **[765805bf8](facebook/react@765805bf8 )**: Fix type check for null ([facebook#25595](facebook/react#25595)) //<Sebastian Markbåge>//
- **[2ac77aab9](facebook/react@2ac77aab9 )**: Clean up vestige of useOpaqueIdentifier ([facebook#25587](facebook/react#25587)) //<Andrew Clark>//
- **[bdd3d0807](facebook/react@bdd3d0807 )**: Extract logic for detecting bad fallback to helper //<Andrew Clark>//
- **[952dfff3f](facebook/react@952dfff3f )**: Split suspended work loop logic into separate functions //<Andrew Clark>//
- **[d2c0ab10d](facebook/react@d2c0ab10d )**: In work loop, add enum of reasons for suspending //<Andrew Clark>//
- **[5450dd409](facebook/react@5450dd409 )**: Strict Mode: Reuse memoized result from first pass ([facebook#25583](facebook/react#25583)) //<Andrew Clark>//
- **[d2a0176a1](facebook/react@d2a0176a1 )**: Detect and warn if use(promise) is wrapped with try/catch block ([facebook#25543](facebook/react#25543)) //<Andrew Clark>//
- **[cf3932be5](facebook/react@cf3932be5 )**: Remove old react-fetch, react-fs and react-pg libraries ([facebook#25577](facebook/react#25577)) //<Sebastian Markbåge>//
- **[28a574ea8](facebook/react@28a574ea8 )**: Try assigning fetch to globalThis if global assignment fails ([facebook#25571](facebook/react#25571)) //<Sebastian Markbåge>//
- **[09def5990](facebook/react@09def5990 )**: [Float] handle noscript context for Resources ([facebook#25559](facebook/react#25559)) //<Josh Story>//
- **[17204056d](facebook/react@17204056d )**: [Float] fix coordination of resource identity and hydration ([facebook#25569](facebook/react#25569)) //<Josh Story>//
- **[d925a8d0b](facebook/react@d925a8d0b )**: Flight client error stack ([facebook#25560](facebook/react#25560)) //<Josh Story>//
- **[996b00b78](facebook/react@996b00b78 )**: [Tiny] Fixed incorrect import in `react-server-dom-webpack` ([facebook#25554](facebook/react#25554)) //<Leo Lamprecht>//
- **[e7c5af45c](facebook/react@e7c5af45c )**: Update cache() and use() to the canary aka next channel ([facebook#25502](facebook/react#25502)) //<Sebastian Markbåge>//
- **[fa77f52e7](facebook/react@fa77f52e7 )**: Unify promise switch statements //<Andrew Clark>//
- **[7572e4931](facebook/react@7572e4931 )**: Track thenable state in work loop //<Andrew Clark>//
- **[7fc3eefd8](facebook/react@7fc3eefd8 )**: Revert yieldy behavior for non-use Suspense (in Flight, too) //<Andrew Clark>//
- **[61f9b5e97](facebook/react@61f9b5e97 )**: [Float] support <base> as Resource ([facebook#25546](facebook/react#25546)) //<Josh Story>//
- **[1d3fc9c9c](facebook/react@1d3fc9c9c )**: Bug fix when resolving cache ([facebook#25545](facebook/react#25545)) //<Sebastian Markbåge>//
- **[cce18e350](facebook/react@cce18e350 )**: [Flight] Use AsyncLocalStorage to extend the scope of the cache to micro tasks ([facebook#25542](facebook/react#25542)) //<Sebastian Markbåge>//
- **[caa84c8da](facebook/react@caa84c8da )**: Revert fetch instrumentation to only RSC ([facebook#25540](facebook/react#25540)) //<Sebastian Markbåge>//
- **[0c11baa6a](facebook/react@0c11baa6a )**: add warnings for non-resources rendered outside body or head ([facebook#25532](facebook/react#25532)) //<Josh Story>//
- **[9236abdb5](facebook/react@9236abdb5 )**: when float is enabled only push title and script as a single unit ([facebook#25536](facebook/react#25536)) //<Josh Story>//
- **[dd5c20825](facebook/react@dd5c20825 )**: Revert yieldy behavior for non-use Suspense ([facebook#25537](facebook/react#25537)) //<Andrew Clark>//
- **[934177598](facebook/react@934177598 )**: fix transposed escape functions ([facebook#25534](facebook/react#25534)) //<Josh Story>//
- **[d1ced9fd5](facebook/react@d1ced9fd5 )**: [Float] support all links as Resources ([facebook#25515](facebook/react#25515)) //<Josh Story>//
- **[973b90bdf](facebook/react@973b90bdf )**: [Float] support meta tags as Resources ([facebook#25514](facebook/react#25514)) //<Josh Story>//
- **[79c582981](facebook/react@79c582981 )**: Let ReactDOM initialize in RSC ([facebook#25503](facebook/react#25503)) //<Sebastian Markbåge>//
- **[1f7a2f577](facebook/react@1f7a2f577 )**: [Float] support title tags as Resources ([facebook#25508](facebook/react#25508)) //<Josh Story>//
- **[c63580787](facebook/react@c63580787 )**: Support `use` in `act` testing API ([facebook#25523](facebook/react#25523)) //<Andrew Clark>//
- **[65e32e58b](facebook/react@65e32e58b )**: Add fetch Instrumentation to Dedupe Fetches ([facebook#25516](facebook/react#25516)) //<Sebastian Markbåge>//
- **[9336e29d9](facebook/react@9336e29d9 )**: [useEvent] Lint for presence of useEvent functions in dependency lists ([facebook#25512](facebook/react#25512)) //<lauren>//
- **[3cc792bfb](facebook/react@3cc792bfb )**: [useEvent] Non-stable function identity ([facebook#25473](facebook/react#25473)) //<lauren>//
- **[987292815](facebook/react@987292815 )**: Remove feature flag enableStrictEffects ([facebook#25387](facebook/react#25387)) //<Samuel Susla>//
- **[8e2bde6f2](facebook/react@8e2bde6f2 )**: Add cache() API ([facebook#25506](facebook/react#25506)) //<Sebastian Markbåge>//
- **[9cdf8a99e](facebook/react@9cdf8a99e )**: [Codemod] Update copyright header to Meta ([facebook#25315](facebook/react#25315)) //<Andrew Clark>//
- **[e54015e26](facebook/react@e54015e26 )**: Refactor: fill in the flow missing type ([facebook#25496](facebook/react#25496)) //<c0dedance>//
- **[3b1fd5767](facebook/react@3b1fd5767 )**: refactor: Flow: typing of Scheduler ([facebook#25485](facebook/react#25485)) //<bubucuo>//
- **[14072ce64](facebook/react@14072ce64 )**: Add detach to Offscreen component ([facebook#25265](facebook/react#25265)) //<Samuel Susla>//
- **[3bb71dfd4](facebook/react@3bb71dfd4 )**: Rename react-server-dom-webpack entry points to /client and /server ([facebook#25504](facebook/react#25504)) //<Sebastian Markbåge>//
- **[71f2c8cf1](facebook/react@71f2c8cf1 )**: move resource acquisition to mutation phase ([facebook#25500](facebook/react#25500)) //<Josh Story>//
- **[500bea532](facebook/react@500bea532 )**: Add option to load Fizz runtime from external file ([facebook#25499](facebook/react#25499)) //<Andrew Clark>//
- **[4494f2a86](facebook/react@4494f2a86 )**: [Float] add support for scripts and other enhancements ([facebook#25480](facebook/react#25480)) //<Josh Story>//
- **[9ecf84ed7](facebook/react@9ecf84ed7 )**: Bugfix: Suspending in shell during discrete update ([facebook#25495](facebook/react#25495)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 54f297a...ab075a2

jest_e2e[run_all_tests]

Reviewed By: kassens

Differential Revision: D40897093

fbshipit-source-id: 6a040315834dea5c0ab994ea94d91f5605b9d6b0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants