Skip to content

Conversation

@eps1lon
Copy link
Collaborator

@eps1lon eps1lon commented Mar 25, 2025

Summary

captureOwnerStack now returns the corresponding owner stack to the parent stack when we abort a Fizz render.

How did you test this change?

  • added test (initial commit has current behavior)

@eps1lon eps1lon changed the title Sebbie/fizz abort ownerstack [Fizz] Add Owner Stacks when render is aborted Mar 25, 2025
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Mar 25, 2025
@react-sizebot
Copy link

react-sizebot commented Mar 25, 2025

Comparing: 526dd34...1fa57c6

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.js = 6.68 kB 6.68 kB = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 529.84 kB 529.84 kB = 93.52 kB 93.52 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB +0.05% 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 650.94 kB 650.94 kB = 114.65 kB 114.65 kB
facebook-www/ReactDOM-prod.classic.js = 675.89 kB 675.89 kB = 118.93 kB 118.93 kB
facebook-www/ReactDOM-prod.modern.js = 666.17 kB 666.17 kB = 117.32 kB 117.32 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-server/cjs/react-server.development.js +0.23% 192.92 kB 193.36 kB +0.25% 34.21 kB 34.29 kB
oss-stable/react-server/cjs/react-server.development.js +0.23% 192.92 kB 193.36 kB +0.25% 34.21 kB 34.29 kB
oss-experimental/react-server/cjs/react-server.development.js +0.21% 210.04 kB 210.48 kB +0.22% 36.40 kB 36.48 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-server.development.js +0.20% 7.93 kB 7.95 kB = 1.67 kB 1.67 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-server.development.js +0.20% 7.93 kB 7.95 kB = 1.67 kB 1.67 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-server.development.js +0.20% 7.93 kB 7.95 kB = 1.67 kB 1.67 kB

Generated by 🚫 dangerJS against 1fa57c6

@eps1lon eps1lon force-pushed the sebbie/fizz-abort-ownerstack branch from 0114c88 to c819e57 Compare March 25, 2025 05:16
@eps1lon eps1lon force-pushed the sebbie/fizz-abort-ownerstack branch 2 times, most recently from 404c603 to 8c0c76a Compare March 25, 2025 05:19
children,
null,
null,
null,
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Otherwise the optional on* callbacks were not lined up correctly.

'\n in Component (at **)' + '\n in App (at **)',
);
expect(normalizeCodeLocInfo(ownerStack)).toEqual(
__DEV__ ? '\n in App (at **)' : null,
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ideally, the stack would start at Component

@eps1lon eps1lon marked this pull request as ready for review March 25, 2025 05:32
@eps1lon eps1lon requested a review from sebmarkbage March 25, 2025 05:32
@eps1lon eps1lon force-pushed the sebbie/fizz-abort-ownerstack branch from 8c0c76a to 1fa57c6 Compare June 2, 2025 17:11
@eps1lon eps1lon merged commit 4a1f290 into facebook:main Jun 2, 2025
240 checks passed
@eps1lon eps1lon deleted the sebbie/fizz-abort-ownerstack branch June 2, 2025 17:28
github-actions bot pushed a commit that referenced this pull request Jun 2, 2025
github-actions bot pushed a commit to code/lib-react that referenced this pull request Jun 2, 2025
github-actions bot pushed a commit to code/lib-react that referenced this pull request Jun 2, 2025
ch4og pushed a commit to csmplay/mapban that referenced this pull request Nov 18, 2025
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | [`19.1.10` -> `19.2.6`](https://renovatebot.com/diffs/npm/@types%2freact/19.1.10/19.2.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact/19.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact/19.1.10/19.2.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom)) | [`19.1.7` -> `19.2.3`](https://renovatebot.com/diffs/npm/@types%2freact-dom/19.1.7/19.2.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2freact-dom/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2freact-dom/19.1.7/19.2.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react)) | [`19.1.1` -> `19.2.0`](https://renovatebot.com/diffs/npm/react/19.1.1/19.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react/19.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react/19.1.1/19.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |
| [react-dom](https://react.dev/) ([source](https://github.com/facebook/react/tree/HEAD/packages/react-dom)) | [`19.1.1` -> `19.2.0`](https://renovatebot.com/diffs/npm/react-dom/19.1.1/19.2.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-dom/19.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-dom/19.1.1/19.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>facebook/react (react)</summary>

### [`v19.2.0`](https://github.com/facebook/react/blob/HEAD/CHANGELOG.md#1920-October-1st-2025)

[Compare Source](facebook/react@v19.1.1...v19.2.0)

Below is a list of all new features, APIs, and bug fixes.

Read the [React 19.2 release post](https://react.dev/blog/2025/10/01/react-19-2) for more information.

##### New React Features

- [`<Activity>`](https://react.dev/reference/react/Activity): A new API to hide and restore the UI and internal state of its children.
- [`useEffectEvent`](https://react.dev/reference/react/useEffectEvent) is a React Hook that lets you extract non-reactive logic into an [Effect Event](https://react.dev/learn/separating-events-from-effects#declaring-an-effect-event).
- [`cacheSignal`](https://react.dev/reference/react/cacheSignal) (for RSCs) lets your know when the `cache()` lifetime is over.
- [React Performance tracks](https://react.dev/reference/dev-tools/react-performance-tracks) appear on the Performance panel’s timeline in your browser developer tools

##### New React DOM Features

- Added resume APIs for partial pre-rendering with Web Streams:
  - [`resume`](https://react.dev/reference/react-dom/server/resume): to resume a prerender to a stream.
  - [`resumeAndPrerender`](https://react.dev/reference/react-dom/static/resumeAndPrerender): to resume a prerender to HTML.
- Added resume APIs for partial pre-rendering with Node Streams:
  - [`resumeToPipeableStream`](https://react.dev/reference/react-dom/server/resumeToPipeableStream): to resume a prerender to a stream.
  - [`resumeAndPrerenderToNodeStream`](https://react.dev/reference/react-dom/static/resumeAndPrerenderToNodeStream): to resume a prerender to HTML.
- Updated [`prerender`](https://react.dev/reference/react-dom/static/prerender) APIs to return a `postponed` state that can be passed to the `resume` APIs.

##### Notable changes

- React DOM now batches suspense boundary reveals, matching the behavior of client side rendering. This change is especially noticeable when animating the reveal of Suspense boundaries e.g. with the upcoming `<ViewTransition>` Component. React will batch as much reveals as possible before the first paint while trying to hit popular first-contentful paint metrics.
- Add Node Web Streams (`prerender`, `renderToReadableStream`) to server-side-rendering APIs for Node.js
- Use underscore instead of `:` IDs generated by useId

##### All Changes

##### React

- `<Activity />` was developed over many years, starting before `ClassComponent.setState` ([@&#8203;acdlite](https://github.com/acdlite) [@&#8203;sebmarkbage](https://github.com/sebmarkbage) and many others)
- Stringify context as "SomeContext" instead of "SomeContext.Provider" ([@&#8203;kassens](https://github.com/kassens) [#&#8203;33507](facebook/react#33507))
- Include stack of cause of React instrumentation errors with `%o` placeholder ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34198](facebook/react#34198))
- Fix infinite `useDeferredValue` loop in popstate event ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;32821](facebook/react#32821))
- Fix a bug when an initial value was passed to `useDeferredValue` ([@&#8203;acdlite](https://github.com/acdlite) [#&#8203;34376](facebook/react#34376))
- Fix a crash when submitting forms with Client Actions ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33055](facebook/react#33055))
- Hide/unhide the content of dehydrated suspense boundaries if they resuspend ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;32900](facebook/react#32900))
- Avoid stack overflow on wide trees during Hot Reload ([@&#8203;sophiebits](https://github.com/sophiebits) [#&#8203;34145](facebook/react#34145))
- Improve Owner and Component stacks in various places ([@&#8203;sebmarkbage](https://github.com/sebmarkbage), [@&#8203;eps1lon](https://github.com/eps1lon): [#&#8203;33629](facebook/react#33629), [#&#8203;33724](facebook/react#33724), [#&#8203;32735](facebook/react#32735), [#&#8203;33723](facebook/react#33723))
- Add `cacheSignal` ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33557](facebook/react#33557))

##### React DOM

- Block on Suspensey Fonts during reveal of server-side-rendered content ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33342](facebook/react#33342))
- Use underscore instead of `:` for IDs generated by `useId` ([@&#8203;sebmarkbage](https://github.com/sebmarkbage), [@&#8203;eps1lon](https://github.com/eps1lon): [#&#8203;32001](facebook/react#32001), [#&#8203;33342](https://github.com/facebook/react/pull/33342)[#&#8203;33099](https://github.com/facebook/react/pull/33099), [#&#8203;33422](facebook/react#33422))
- Stop warning when ARIA 1.3 attributes are used ([@&#8203;Abdul-Omira](https://github.com/Abdul-Omira) [#&#8203;34264](facebook/react#34264))
- Allow `nonce` to be used on hoistable styles ([@&#8203;Andarist](https://github.com/Andarist) [#&#8203;32461](facebook/react#32461))
- Warn for using a React owned node as a Container if it also has text content ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;32774](facebook/react#32774))
- s/HTML/text for for error messages if text hydration mismatches ([@&#8203;rickhanlonii](https://github.com/rickhanlonii) [#&#8203;32763](facebook/react#32763))
- Fix a bug with `React.use` inside `React.lazy`-ed Component ([@&#8203;hi-ogawa](https://github.com/hi-ogawa) [#&#8203;33941](facebook/react#33941))
- Enable the `progressiveChunkSize` option for server-side-rendering APIs ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33027](facebook/react#33027))
- Fix a bug with deeply nested Suspense inside Suspense fallback when server-side-rendering ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;33467](facebook/react#33467))
- Avoid hanging when suspending after aborting while rendering ([@&#8203;gnoff](https://github.com/gnoff) [#&#8203;34192](facebook/react#34192))
- Add Node Web Streams to server-side-rendering APIs for Node.js ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33475](facebook/react#33475))

##### React Server Components

- Preload `<img>` and `<link>` using hints before they're rendered ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34604](facebook/react#34604))
- Log error if production elements are rendered during development ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;34189](facebook/react#34189))
- Fix a bug when returning a Temporary reference (e.g. a Client Reference) from Server Functions ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;34084](facebook/react#34084), [@&#8203;denk0403](https://github.com/denk0403) [#&#8203;33761](facebook/react#33761))
- Pass line/column to `filterStackFrame` ([@&#8203;eps1lon](https://github.com/eps1lon) [#&#8203;33707](facebook/react#33707))
- Support Async Modules in Turbopack Server References ([@&#8203;lubieowoce](https://github.com/lubieowoce) [#&#8203;34531](facebook/react#34531))
- Add support for .mjs file extension in Webpack ([@&#8203;jennyscript](https://github.com/jennyscript) [#&#8203;33028](facebook/react#33028))
- Fix a wrong missing key warning ([@&#8203;unstubbable](https://github.com/unstubbable) [#&#8203;34350](facebook/react#34350))
- Make console log resolve in predictable order ([@&#8203;sebmarkbage](https://github.com/sebmarkbage) [#&#8203;33665](facebook/react#33665))

##### React Reconciler

- [createContainer](https://github.com/facebook/react/blob/v19.2.0/packages/react-reconciler/src/ReactFiberReconciler.js#L255-L261) and [createHydrationContainer](https://github.com/facebook/react/blob/v19.2.0/packages/react-reconciler/src/ReactFiberReconciler.js#L305-L312) had their parameter order adjusted after `on*` handlers to account for upcoming experimental APIs

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDguNCIsInVwZGF0ZWRJblZlciI6IjQyLjEwLjUiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.in.csmpro.ru/csmpro/csm-mapban/pulls/36
Co-authored-by: Renovate Bot <renovate@csmpro.ru>
Co-committed-by: Renovate Bot <renovate@csmpro.ru>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants