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: facebook/react
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: bc6184dd
Choose a base ref
...
head repository: facebook/react
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 914319ae
Choose a head ref
  • 11 commits
  • 39 files changed
  • 3 contributors

Commits on Apr 21, 2025

  1. [ci] Remove compiler weekly release (#32977)

    No longer needed.
    poteto authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    fea92d8 View commit details
    Browse the repository at this point in the history
  2. [eprh] Bump stable version (#32978)

    https://www.npmjs.com/package/eslint-plugin-react-hooks/v/6.0.0 was just
    released, so we can bump this now.
    poteto authored Apr 21, 2025
    1 Configuration menu
    Copy the full SHA
    b303610 View commit details
    Browse the repository at this point in the history
  3. [compiler] Fix version name in publish script (#32979)

    Add ability to specify an optional tagVersion which is appended to the
    version name + tag, eg
    
    19.1.0-rc.1
    ---
    [//]: # (BEGIN SAPLING FOOTER)
    Stack created with [Sapling](https://sapling-scm.com). Best reviewed
    with [ReviewStack](https://reviewstack.dev/facebook/react/pull/32979).
    * __->__ #32979
    * #32978
    poteto authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    efd8904 View commit details
    Browse the repository at this point in the history
  4. [ci] Change to string type (#32980)

    to no one's surprise, the `number` type appears to be cursed in GH
    actions for workflow dispatch. switch to string
    poteto authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    4c54da7 View commit details
    Browse the repository at this point in the history
  5. [compiler] Only append hash and date for experimental releases (#32981)

    No need to append these for non experimental/beta releases.
    poteto authored Apr 21, 2025
    Configuration menu
    Copy the full SHA
    7213509 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2025

  1. Build react-server-dom-webpack for codesandbox (#32990)

    This allows us to test Flight changes in a codesandbox.
    
    [Example](https://codesandbox.io/p/devbox/zkjk7y)
    unstubbable authored Apr 22, 2025
    Configuration menu
    Copy the full SHA
    620c838 View commit details
    Browse the repository at this point in the history
  2. Hide/unhide the content of dehydrated suspense boundaries if they res…

    …uspend (#32900)
    
    Found this bug while working on Activity. There's a weird edge case when
    a dehydrated Suspense boundary is a direct child of another Suspense
    boundary which is hydrated but then it resuspends without forcing the
    inner one to hydrate/delete.
    
    It used to just leave that in place because hiding/unhiding didn't deal
    with dehydrated fragments.
    
    Not sure this is really worth fixing.
    sebmarkbage authored Apr 22, 2025
    Configuration menu
    Copy the full SHA
    ebf7318 View commit details
    Browse the repository at this point in the history
  3. Set hidden Offscreen to the shellBoundary regardless of previous state (

    #32844)
    
    I think this was probably just copy-paste from the Suspense path.
    
    It shouldn't matter what the previous state of an Offscreen boundary
    was. What matters is that it's now hidden and therefore if it suspends,
    we can just leave it as is without the tree becoming inconsistent.
    sebmarkbage authored Apr 22, 2025
    Configuration menu
    Copy the full SHA
    3fbd6b7 View commit details
    Browse the repository at this point in the history
  4. Implement ActivityInstance in FiberConfigDOM (#32842)

    Stacked on #32851 and #32900.
    
    This implements the equivalent Configs for ActivityInstance as we have
    for SuspenseInstance. These can be implemented as comments but they
    don't have to be and can be implemented differently in the renderer.
    
    This seems like a lot duplication but it's actually ends mostly just
    calling the same methods underneath and the wrappers compiles out.
    
    This doesn't leave the Activity dehydrated yet. It just hydrates into it
    immediately.
    sebmarkbage authored Apr 22, 2025
    Configuration menu
    Copy the full SHA
    17f88c8 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2025

  1. Implement Partial Hydration for Activity (#32863)

    Stacked on #32862 and #32842.
    
    This means that Activity boundaries now act as boundaries which can have
    their effects mounted independently. Just like Suspense boundaries, we
    hydrate the outer content first and then start hydrating the content in
    an Offscreen lane. Flowing props or interacting with the content
    increases the priority just like Suspense boundaries.
    
    This skips emitting even the comments for `<Activity mode="hidden">` so
    we don't hydrate those. Instead those are deferred to a later client
    render.
    
    The implementation are just forked copies of the SuspenseComponent
    branches and then carefully going through each line and tweaking it.
    
    The main interesting bit is that, unlike Suspense, Activity boundaries
    don't have fallbacks so all those branches where you might commit a
    suspended tree disappears. Instead, if something suspends while
    hydration, we can just leave the dehydrated content in place. However,
    if something does suspend during client rendering then it should bubble
    up to the parent. Therefore, we have to be careful to only
    pushSuspenseHandler when hydrating. That's really the main difference.
    
    This just uses the existing basic Activity tests but I've started work
    on port all of the applicable Suspense tests in SelectiveHydration-test
    and PartialHydration-test to Activity versions.
    sebmarkbage authored Apr 23, 2025
    Configuration menu
    Copy the full SHA
    3ef31d1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    914319a View commit details
    Browse the repository at this point in the history
Loading