-
Notifications
You must be signed in to change notification settings - Fork 0
Comparing changes
Open a pull request
base repository: fat/react
base: main
head repository: facebook/react
compare: main
- 17 commits
- 75 files changed
- 12 contributors
Commits on Dec 12, 2025
-
Upgrade nextjs for compiler playground (facebook#35353)
Upgrading due to CVE-2025-55183 and CVE-2025-67779
Configuration menu - View commit details
-
Copy full SHA for b061b59 - Browse repository at this point
Copy the full SHA b061b59View commit details
Commits on Dec 15, 2025
-
Configuration menu - View commit details
-
Copy full SHA for ba5b843 - Browse repository at this point
Copy the full SHA ba5b843View commit details -
Devtools disable log dimming strict mode setting (facebook#35207)
<!-- 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`). --> ## Summary Currently, every second console log is dimmed, receiving a special style that indicates to user that it was raising because of [React Strict Mode](https://react.dev/reference/react/StrictMode) second rendering. This introduces a setting to disable this. ## How did you test this change? Test in console-test.js https://github.com/user-attachments/assets/af6663ac-f79b-4824-95c0-d46b0c8dec12 Browser extension react devtools https://github.com/user-attachments/assets/7e2ecb7a-fbdf-4c72-ab45-7e3a1c6e5e44 React native dev tools: https://github.com/user-attachments/assets/d875b3ac-1f27-43f8-8d9d-12b2d65fa6e6 --------- Co-authored-by: Ruslan Lesiutin <28902667+hoxyq@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for bcf97c7 - Browse repository at this point
Copy the full SHA bcf97c7View commit details -
Add reporting modes for react-hooks/exhaustive-effect-dependencies an…
…d temporarily enable (facebook#35365) `react-hooks/exhaustive-effect-dependencies` from `ValidateExhaustiveDeps` reports errors for both missing and extra effect deps. We already have `react-hooks/exhaustive-deps` that errors on missing dependencies. In the future we'd like to consolidate this all to the compiler based error, but for now there's a lot of overlap. Let's enable testing the extra dep warning by splitting out reporting modes. This PR - Creates `on`, `off`, `missing-only`, and `extra-only` reporting modes for the effect dep validation flag - Temporarily enables the new rule with `extra-only` in `eslint-plugin-react-hooks` - Adds additional null checking to `manualMemoLoc` to fix a bug found when running against the fixture
Configuration menu - View commit details
-
Copy full SHA for 88ee1f5 - Browse repository at this point
Copy the full SHA 88ee1f5View commit details
Commits on Dec 17, 2025
-
Improve cyclic thenable detection in ReactFlightReplyServer (facebook…
…#35369) ## Summary This PR improves cyclic thenable detection in `ReactFlightReplyServer.js`. Fixes facebook#35368. The previous fix only detected direct self-references (`inspectedValue === chunk`) and relied on the `cycleProtection` counter to eventually bail out of longer cycles. This change keeps the existing MAX_THENABLE_CYCLE_DEPTH ($1000$) `cycleProtection` cap as a hard guardrail and adds a visited set so that we can detect self-cycles and multi-node cycles as soon as any `ReactPromise` is revisited and while still bounding the amount of work we do for deep acyclic chains via `cycleProtection`. ## How did you test this change? - Ran the existing test suite for the server renderer: ```bash yarn test react-server yarn test --prod react-server yarn flow dom-node yarn linc ``` --------- Co-authored-by: Hendrik Liebau <mail@hendrik-liebau.de>
Configuration menu - View commit details
-
Copy full SHA for b731fe2 - Browse repository at this point
Copy the full SHA b731fe2View commit details -
Skip hydration errors when a view transition has been applied (facebo…
…ok#35380) When the Fizz runtime runs a view-transition we apply `view-transition-name` and `view-transition-class` to the `style`. These can be observed by Fiber when hydrating which incorrectly leads to hydration errors. More over, even after we remove them, the `style` attribute has now been normalized which we are unable to diff because we diff against the SSR generated `style` attribute string and not the normalized form. So if there are other inline styles defined, we have to skip diffing them in this scenario.
Configuration menu - View commit details
-
Copy full SHA for f93b9fd - Browse repository at this point
Copy the full SHA f93b9fdView commit details -
[test] Add tests for cyclic arrays in Flight and Flight Reply (facebo…
…ok#35347) We already had tests for cyclic objects, but not for cyclic arrays.
Configuration menu - View commit details
-
Copy full SHA for 454fc41 - Browse repository at this point
Copy the full SHA 454fc41View commit details
Commits on Dec 18, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 65eec42 - Browse repository at this point
Copy the full SHA 65eec42View commit details
Commits on Jan 7, 2026
-
[ci] Separate DevTools test-build into dedicated job with fewer shards (
facebook#35457) DevTools has ~45 test files which don't distribute well across 10 shards, causing shard 3 to run 2x slower than others (104s vs ~50s). This moves DevTools build tests to a separate job with 3 shards for better load balancing.
Configuration menu - View commit details
-
Copy full SHA for 0e18014 - Browse repository at this point
Copy the full SHA 0e18014View commit details -
[ci] Increase DevTools test shards and bump timeout (facebook#35459)
[ci] Increase DevTools test shards and bump timeout - Increase DevTools test shards from 3 to 5 - Bump timeout to 20s --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/35459). * facebook#35458 * __->__ facebook#35459
Configuration menu - View commit details
-
Copy full SHA for 00908be - Browse repository at this point
Copy the full SHA 00908beView commit details -
[ci] Add size-balanced test sequencer for better shard distribution (f…
…acebook#35458) Jest's default test sequencer sorts alphabetically, causing large test files (eg ReactDOMFloat-test.js at 9k lines, ReactHooksWithNoopRenderer-test.js at 4k lines) to cluster in shard 3/5. This made shard 3/5 average 117s vs 77s for other shards, a 52% slowdown. I'm using filesize as a rough proxy for number of tests. This custom sequencer sorts tests by file size and distributes large files evenly across all shards instead of clustering them together. --- [//]: # (BEGIN SAPLING FOOTER) Stack created with [Sapling](https://sapling-scm.com). Best reviewed with [ReviewStack](https://reviewstack.dev/facebook/react/pull/35458). * __->__ facebook#35458 * facebook#35459
Configuration menu - View commit details
-
Copy full SHA for d6cae44 - Browse repository at this point
Copy the full SHA d6cae44View commit details
Commits on Jan 10, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 5aec1b2 - Browse repository at this point
Copy the full SHA 5aec1b2View commit details
Commits on Jan 13, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 8a83073 - Browse repository at this point
Copy the full SHA 8a83073View commit details -
Configuration menu - View commit details
-
Copy full SHA for 583e200 - Browse repository at this point
Copy the full SHA 583e200View commit details -
[Fiber] Correctly handle replaying when hydrating (facebook#35494)
When hydrating if something suspends and then resolves in a microtask it is possible that React will resume the render without fully unwinding work in progress. This can cause hydration cursors to be offset and lead to hydration errors. This change adds a restore step when replaying HostComponent to ensure the hydration cursor is in the appropriate position when replaying. fixes: facebook#35210
Configuration menu - View commit details
-
Copy full SHA for c186624 - Browse repository at this point
Copy the full SHA c186624View commit details -
[tests] Require exact error messages in assertConsole helpers (facebo…
…ok#35497) Requires full error message in assert helpers. Some of the error messages we asset on add a native javascript stack trace, which would be a pain to add to the messages and maintain. This PR allows you to just add `\n in <stack>` placeholder to the error message to denote a native stack trace is present in the message. --- Note: i vibe coded this so it was a pain to backtrack this to break this into a stack, I tried and gave up, sorry.
Configuration menu - View commit details
-
Copy full SHA for 3e1abcc - Browse repository at this point
Copy the full SHA 3e1abccView commit details
Commits on Jan 14, 2026
-
Add the suffix to cancelled view transition names (facebook#35485)
When a View Transition might not need to update we add it to a queue. If the parent are able to be reverted, we then cancel the already started view transitions. We do this by adding an animation that hides the "old" state and remove the view transition name from the old state. There was a bug where if you have more than one child in a `<ViewTransition>` we didn't add the right suffix to the name we added in the queue so it wasn't adding an animation that hides the old state. The effect was that it playing an exit animation instead of being cancelled.
Configuration menu - View commit details
-
Copy full SHA for 4a3d993 - Browse repository at this point
Copy the full SHA 4a3d993View 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 main...main