-
Notifications
You must be signed in to change notification settings - Fork 49.6k
Comparing changes
Open a pull request
base repository: facebook/react
base: 886b3d36
head repository: facebook/react
compare: f3a80361
- 7 commits
- 42 files changed
- 6 contributors
Commits on Sep 10, 2025
-
[DevTools] fix: keep search query in a local sync state (#34423)
When the search query changes, we kick off a transition that updates the search query in a reducer for TreeContext. The search input is also using this value for an `input` HTML element. For a larger applications, sometimes there is a noticeable delay in displaying the updated search query. This changes the approach to also keep a local synchronous state that is being updated on a change callback.
Configuration menu - View commit details
-
Copy full SHA for e2ba45b - Browse repository at this point
Copy the full SHA e2ba45bView commit details -
[compiler] Allow setStates in use{Layout,Insertion}Effect where the s…
…et value is derived from a ref (#34462) @stipsan found this issue where the compiler would bailout on the `useLayoutEffect` examples in the React docs. While setState in an effect is typically an anti-pattern due to the fact that it hurts performance through cascading renders, the one scenario where it _is_ allowed is if the value being set flows from a ref.
Configuration menu - View commit details
-
Copy full SHA for 835b009 - Browse repository at this point
Copy the full SHA 835b009View commit details -
[compiler] More flexible/helpful lazy ref initialization (#34449)
Two small QoL improvements inspired by feedback: * `if (ref.current === undefined) { ref.current = ... }` is now allowed. * `if (!ref.current) { ref.current = ... }` is still disallowed, but we emit an extra hint suggesting the `if (!ref.current == null)` pattern. I was on the fence about the latter. We got feedback asking to allow `if (!ref.current)` but if your ref stores a boolean value then this would allow reading the ref in render. The unary form is also less precise in general due to sketchy truthiness conversions. I figured a hint is a good compromise. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/34449). * __->__ #34449 * #34424Configuration menu - View commit details
-
Copy full SHA for bd9e6e0 - Browse repository at this point
Copy the full SHA bd9e6e0View commit details
Commits on Sep 11, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 8c15014 - Browse repository at this point
Copy the full SHA 8c15014View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1c519f - Browse repository at this point
Copy the full SHA b1c519fView commit details -
[compiler][playground] (4/N) Config override panel (#34436)
<!-- 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 Removed the old `OVERRIDE` pragma to make the source of truth for config overrides in the left-hand pane. Now, it will automatically update the output pane each time there is an edit to the config. The old pragma format is still supported, but it will be overwritten by the config pane if they are modifying the same flags. Removed the gating on the config panel so now all users will automatically be able to view it, but it will be initially collapsed. <!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? --> ## How did you test this change? https://github.com/user-attachments/assets/9d4512b9-e203-4ce0-ae95-dd96ff03bbc1 <!-- 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. -->
Configuration menu - View commit details
-
Copy full SHA for fe84397 - Browse repository at this point
Copy the full SHA fe84397View commit details -
[Flight] Ensure async info owners are outlined properly (#34465)
When we emit objects of type `ReactAsyncInfo`, we need to make sure that their owners are outlined, using `outlineComponentInfo`. Otherwise we would end up accidentally emitting stashed fields that are not part of the transport protocol, specifically `debugStack`, `debugTask`, and `debugLocation`. This would lead to runtime errors in the client, when for example, the stack for a `debugLocation` is processed in `buildFakeCallStack`, but the stack was actually omitted from the RSC payload, because for those fields we don't ensure that the object limit is increased by the length of the stack, as we do when we're emitting the `stack` of a `ReactComponentInfo` object in `outlineComponentInfo`.
Configuration menu - View commit details
-
Copy full SHA for f3a8036 - Browse repository at this point
Copy the full SHA f3a8036View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 886b3d36...f3a80361