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

Commits on Aug 20, 2024

  1. [flow] Remove CI_MAX_WORKERS option

    Noticed this from #30707. This was vestigial from from circleci and now
    that we're on GH actions I think we should be able to remove this option
    altogether.
    
    ghstack-source-id: 78e8b0243b1e1484ffaad820987ae3679a7374bf
    Pull Request resolved: #30753
    poteto committed Aug 20, 2024
    Configuration menu
    Copy the full SHA
    5997072 View commit details
    Browse the repository at this point in the history
  2. [Fizz] track postpones when aborting boundaries with a postpone (#30751)

    When aborting with a postpone value boundaries are put into client
    rendered mode even during prerenders. This doesn't follow the postpoen
    semantics of the rest of fizz where during a prerender a postpone is
    tracked and it will leave holes in tracked postpone state that can be
    resumed. This change updates this behavior to match the postpones
    semantics between aborts and imperative postpones.
    gnoff authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    2505bf9 View commit details
    Browse the repository at this point in the history
  3. [Flight] When halting omit any reference rather than refer to a shar…

    …ed missing chunk (#30750)
    
    When aborting a prerender we should leave references unfulfilled, not
    share a common unfullfilled reference. functionally today this doesn't
    matter because we don't have resuming but the semantic is that the row
    was not available when the abort happened and in a resume the row should
    fill in. But by pointing each task to a common unfulfilled chunk we lose
    the ability for these references to resolves to distinct values on
    resume.
    gnoff authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    92d26c8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4c2dfb3 View commit details
    Browse the repository at this point in the history
  5. [Fizz][Static] when aborting a prerender halt unfinished boundaries i…

    …nstead of erroring (#30732)
    
    When we introduced prerendering for flight we modeled an abort of a
    flight prerender as having unfinished rows. This is similar to how
    postpone was already implemented when you postponed from "within" a
    prerender using React.unstable_postpone. However when aborting with a
    postponed instance every boundary would be eagerly marked for client
    rendering which is more akin to prerendering and then resuming with an
    aborted signal.
    
    The insight with the flight work was that it's not so much the postpone
    that describes the intended semantics but the abort combined with a
    prerender. So like in flight when you abort a prerender and enableHalt
    is enabled boundaries and the shell won't error for any reason. Fizz
    will still call onPostpone and onError according to the abort reason but
    the consuemr of the prerender should expect to resume it before trying
    to use it.
    gnoff authored Aug 20, 2024
    Configuration menu
    Copy the full SHA
    85180b8 View commit details
    Browse the repository at this point in the history
  6. Test infra: Support gate('enableFeatureFlag') (#30760)

    Shortcut for the common case where only a single flag is checked. Same
    as `gate(flags => flags.enableFeatureFlag)`.
    
    Normally I don't care about these types of conveniences but I'm about to
    add a lot more inline flag checks these all over our tests and it gets
    noisy. This helps a bit.
    acdlite authored Aug 20, 2024
    1 Configuration menu
    Copy the full SHA
    e831c23 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. [Flight] use microtask for scheduling during prerenders (#30768)

    In #29491 I updated the work
    scheduler for Flight to use microtasks to perform work when something
    pings. This is useful but it does have some downsides in terms of our
    ability to do task prioritization. Additionally the initial work is not
    instantiated using a microtask which is inconsistent with how pings
    work.
    
    In this change I update the scheduling logic to use microtasks
    consistently for prerenders and use regular tasks for renders both for
    the initial work and pings.
    gnoff authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    dc32c7f View commit details
    Browse the repository at this point in the history
  2. [Flight] Source Map Actions in Reference Node Loader Transforms (#30755)

    Follow up to #30741.
    
    This is just for the reference Webpack implementation.
    
    If there is a source map associated with a Node ESM loader, we generate
    new source map entries for every `registerServerReference` call.
    
    To avoid messing too much with it, this doesn't rewrite the original
    mappings. It just reads them while finding each of the exports in the
    original mappings. We need to read all since whatever we append at the
    end is relative. Then we just generate new appended entries at the end.
    
    For the location I picked the location of the local name identifier.
    Since that's the name of the function and that gives us a source map
    name index. It means it jumps to the name rather than the beginning of
    the function declaration. It could be made more clever like finding a
    local function definition if it is reexported. We could also point to
    the line/column of the function declaration rather than the identifier
    but point to the name index of the identifier name.
    
    Now jumping to definition works in the fixture.
    
    <img width="574" alt="Screenshot 2024-08-20 at 2 49 07 PM"
    src="https://github.com/user-attachments/assets/7710f0e6-2cee-4aad-8d4c-ae985f8289eb">
    
    Unfortunately this technique doesn't seem to work in Firefox nor Safari.
    They don't apply the source map for jumping to the definition.
    sebmarkbage authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    dd9117e View commit details
    Browse the repository at this point in the history
  3. Remove turbopack unbundled/register/loader (#30756)

    The unbundled form is just a way to show case a prototype for how an
    unbundled version of RSC can work. It's not really intended for every
    bundler combination to provide such a configuration.
    
    There's no configuration of Turbopack that supports this mode atm and
    possibly never will be since it's more of an integrated server/client
    experience.
    
    This removes the unbundled form and node register/loaders from the
    turbopack build.
    sebmarkbage authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    1228a28 View commit details
    Browse the repository at this point in the history
  4. [Fizz] use microtasks rather than tasks when scheduling work while pr…

    …erendering (#30770)
    
    Similar to #30768 we want to
    schedule work during prerendering in microtasks both for the root task
    and pings. We continue to schedule flushes as Tasks to allow as much
    work to be batched up as possible.
    gnoff authored Aug 21, 2024
    Configuration menu
    Copy the full SHA
    ab24f64 View commit details
    Browse the repository at this point in the history
  5. [ez] Add noformat etc headers into some files

    These are only needed internally so I'm opting to just do it in the
    commit artifacts job instead of amending the build config.
    
    ghstack-source-id: 6a5382b0287d679f4515d79b140ab8248ce90c6b
    Pull Request resolved: #30775
    poteto committed Aug 21, 2024
    Configuration menu
    Copy the full SHA
    1d98996 View commit details
    Browse the repository at this point in the history
Loading