Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fat/react
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: facebook/react
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 17 commits
  • 75 files changed
  • 12 contributors

Commits on Dec 12, 2025

  1. Configuration menu
    Copy the full SHA
    b061b59 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2025

  1. Configuration menu
    Copy the full SHA
    ba5b843 View commit details
    Browse the repository at this point in the history
  2. 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>
    emily8rown and hoxyq authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    bcf97c7 View commit details
    Browse the repository at this point in the history
  3. 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
    jackpope authored Dec 15, 2025
    Configuration menu
    Copy the full SHA
    88ee1f5 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2025

  1. 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>
    cvan20191 and unstubbable authored Dec 17, 2025
    Configuration menu
    Copy the full SHA
    b731fe2 View commit details
    Browse the repository at this point in the history
  2. 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.
    sebmarkbage authored Dec 17, 2025
    Configuration menu
    Copy the full SHA
    f93b9fd View commit details
    Browse the repository at this point in the history
  3. [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.
    unstubbable authored Dec 17, 2025
    Configuration menu
    Copy the full SHA
    454fc41 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2025

  1. Configuration menu
    Copy the full SHA
    65eec42 View commit details
    Browse the repository at this point in the history

Commits on Jan 7, 2026

  1. [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.
    poteto authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    0e18014 View commit details
    Browse the repository at this point in the history
  2. [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
    poteto authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    00908be View commit details
    Browse the repository at this point in the history
  3. [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
    poteto authored Jan 7, 2026
    Configuration menu
    Copy the full SHA
    d6cae44 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2026

  1. Configuration menu
    Copy the full SHA
    5aec1b2 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2026

  1. Configuration menu
    Copy the full SHA
    8a83073 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    583e200 View commit details
    Browse the repository at this point in the history
  3. [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
    gnoff authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    c186624 View commit details
    Browse the repository at this point in the history
  4. [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.
    rickhanlonii authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    3e1abcc View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2026

  1. 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.
    sebmarkbage authored Jan 14, 2026
    Configuration menu
    Copy the full SHA
    4a3d993 View commit details
    Browse the repository at this point in the history
Loading