Skip to content
Permalink
master

Commits on Dec 22, 2020

  1. React Native fixes for new inline errors feature (#20502)

    bvaughn committed Dec 22, 2020
  2. Expose DEV-mode warnings in devtools UI (#20463)

    Co-authored-by: Brian Vaughn <bvaughn@fb.com>
    eps1lon and bvaughn committed Dec 22, 2020

Commits on Dec 21, 2020

  1. devtools: Display shortcuts for prev/next search result (#20470)

    eps1lon committed Dec 21, 2020

Commits on Dec 18, 2020

  1. Add Flight packages to experimental allowlist (#20486)

    - react-fetch
    - react-fs
    - react-pg
    - react-server-dom-webpack
    acdlite committed Dec 18, 2020
  2. Hardcoded allowlist for publishing packages (#20485)

    With separate lists for stable and experimental.
    acdlite committed Dec 18, 2020
  3. Remove PassiveStatic optimization

    Passive flags are a new concept that is tricky to get right. We've
    already found two bugs related to PassiveStatic. Let's remove this
    optimization for now, and add it back once the main part of the effects
    refactor lands.
    acdlite committed Dec 18, 2020
  4. Don't clear static flags in resetWorkInProgress

    Fixes the regression test added in #20433
    acdlite committed Dec 18, 2020
  5. Defer more field detachments to passive phase

    This allows us to use those fields during passive unmount traversal.
    acdlite committed Dec 18, 2020
  6. Add PassiveStatic to trees with passive effects

    Indicates that a tree needs passive clean-up on deletion.
    acdlite committed Dec 18, 2020

Commits on Dec 17, 2020

  1. Don't clear other flags when adding Deletion

    Same as #20398 but for Deletions. There's no new regression test, but in
    the effects refactor, existing tests will fail without this.
    acdlite committed Dec 17, 2020
  2. Add back disableSchedulerTimeoutInWorkLoop flag (#20482)

    * Add back enableSchedulerTimeoutInWorkLoop flag
    
    * Nvm, keep it as disableSchedulerTimeoutInWorkLoop
    rickhanlonii committed Dec 17, 2020

Commits on Dec 16, 2020

  1. clone json obj in react native flight client host config parser (#20474)

    As per Seb's comment in #20465, we need to do the same thing in React Native as we do in Relay.
    
    When `parseModel` suspends because of missing dependencies, it will exit and retry to parse later. However, in the relay implementation, the model is an object that we modify in place when we parse it, so when we we retry, part of the model might be parsed already into React elements, which will error because the parsing code expect a Flight model. This diff clones instead of mutating the original model, which fixes this error.
    lunaruan committed Dec 16, 2020

Commits on Dec 15, 2020

  1. clone json obj in relay flight client host config parser (#20465)

    When `parseModel` suspends because of missing dependencies, it will exit and retry to parse later. However, in the relay implementation, the model is an object that we modify in place when we parse it, so when we we retry, part of the model might be parsed already into React elements, which will error because the parsing code expect a Flight model. This diff clones instead of mutating the original model, which fixes this error.
    lunaruan committed Dec 15, 2020

Commits on Dec 14, 2020

  1. [Flight] Fix webpack watch mode issue (#20457)

    gaearon committed Dec 14, 2020

Commits on Dec 13, 2020

  1. [Flight] Support concatenated modules in Webpack plugin (#20449)

    * Extract recordModule
    
    * Add support for concatenated modules
    gaearon committed Dec 13, 2020

Commits on Dec 11, 2020

  1. [Flight] Use lazy reference for existing modules (#20445)

    gaearon committed Dec 11, 2020
  2. Regression test: SuspenseList causes lost unmount (#20433)

    @sebmarkbage reminded me that the complete phase of SuspenseList
    will sometimes enter the begin phase of the children without calling
    `createWorkInProgress` again, instead calling `resetWorkInProgress`.
    
    This was raised in the context of considering whether #20398 might
    have accidentally caused a SuspenseList bug. (I did look at this code
    at the time, but considering how complicated SuspenseList is it's not
    hard to imagine that I made a mistake.)
    
    Anyway, I think that PR is fine; however, reviewing it again did lead me
    to find a different bug. This new bug is actually a variant of the bug
    fixed by #20398.
    
    `resetWorkInProgress` clears a fiber's static flags. That's wrong, since
    static flags -- like PassiveStatic -- are meant to last the lifetime of
    the component.
    
    In more practical terms, what happens is that if a direct child of
    SuspenseList contains a `useEffect`, then SuspenseList will cause the
    child to "forget" that it contains passive effects. When the child
    is deleted, its unmount effects are not fired :O
    
    This is the second of this type of bug I've found, which indicates to me
    that it's too easy to accidentally clear static flags.
    
    Maybe we should only update the `flags` field using helper functions,
    like we do with `lanes`.
    
    Or perhaps we add an internal warning somewhere that detects when a
    fiber has different static flags than its alternate.
    acdlite committed Dec 11, 2020
    1

Commits on Dec 10, 2020

  1. Always rethrow original error when we replay errors (#20425)

    We replay errors so you can break on paused exceptions. This is done in
    the second pass so that the first pass can ignore suspense.
    
    Originally this threw the original error. For suppression purposes
    we copied the flag onto the original error.
    
    https://github.com/facebook/react/blob/f1dc626b29b8bf0f14c75a8525e8650b7ea94a47/packages/react-reconciler/src/ReactFiberScheduler.old.js#L367-L369
    
    During this refactor it changed to just throw the retried error:
    
    #15151
    
    We're not sure exactly why but it was likely just an optimization or
    clean up.
    
    So we can go back to throwing the original error. That helps in the case
    where a memoized function is naively not rethrowing each time such as
    in Node's module system.
    
    Unfortunately this doesn't fix the problem fully.
    Because invokeGuardedCallback captures the error and logs it to the browser.
    So you still end up seeing the wrong message in the logs.
    
    This just fixes so that the error boundary sees the first one.
    sebmarkbage committed Dec 10, 2020
  2. [Flight] Make PG and FS server-only (#20424)

    * Make react-fs server-only
    
    * Make react-pg server-only
    gaearon committed Dec 10, 2020
  3. [Flight] Prevent non-Server imports of aliased Server entrypoints (#2…

    …0422)
    
    * [Flight] Prevent non-Server imports of aliased Server entrypoints
    
    * Fix Flow + await
    
    * Tighten the types
    gaearon committed Dec 10, 2020
  4. [Flight] Fix webpack plugin to use chunk groups (#20421)

    gaearon committed Dec 10, 2020
  5. [Flight] Rename the shared entry point (#20420)

    * [Flight] Rename the shared entry point
    
    * Shared
    gaearon committed Dec 10, 2020

Commits on Dec 9, 2020

  1. Put .server.js at the end of bundle filenames (#20419)

    * Put .server.js at the end of bundle filenames
    
    * Client too
    gaearon committed Dec 9, 2020
  2. [Flight] Add read-only fs methods (#20412)

    * Don't allocate the inner cache unnecessarily
    
    We only need it when we're asking for text. I anticipate I'll want to avoid allocating it in other methods too when it's not strictly necessary.
    
    * Add fs.access
    
    * Add fs.lstat
    
    * Add fs.stat
    
    * Add fs.readdir
    
    * Add fs.readlink
    
    * Add fs.realpath
    
    * Rename functions to disambiguate two caches
    gaearon committed Dec 9, 2020
  3. Turn on double effects for www test renderer (#20416)

    bvaughn committed Dec 9, 2020
  4. Double Invoke Effects in __DEV__ (in old reconciler fork) (#20415)

    We originally added a new DEV behavior of double-invoking effects during mount to our new reconciler fork in PRs #19523 and #19935 and later refined it to only affect modern roots in PR #20028. This PR adds that behavior to the old reconciler fork with a small twist– the behavior applies to StrictMode subtrees, regardless of the root type.
    
    This commit also adds a few additional tests that weren't in the original commits.
    bvaughn committed Dec 9, 2020
  5. fixed typo (#20351)

    togami2864 committed Dec 9, 2020
  6. Rename internal cache helpers (#20410)

    gaearon committed Dec 9, 2020
  7. [Flight] Add rudimentary FS binding (#20409)

    * [Flight] Add rudimentary FS binding
    
    * Throw for unsupported
    
    * Don't mess with hidden class
    
    * Use absolute path as the key
    
    * Warn on relative and non-normalized paths
    gaearon committed Dec 9, 2020
  8. Clear `deletions` in `detachFiber` (#20401)

    This was added in a later step of the refactor but since `deletions`
    array already landed, clearing it should, too.
    
    I think it's unlikely that this causes GC problems but worth
    adding anyway.
    acdlite committed Dec 9, 2020

Commits on Dec 8, 2020

  1. Cache react-fetch results in the Node version (#20407)

    gaearon committed Dec 8, 2020
Older
You can’t perform that action at this time.