Skip to content
Branch: master
Commits on Jan 27, 2020
  1. Removed Root API callback params and added warnings (#17916)

    bvaughn committed Jan 27, 2020
Commits on Jan 15, 2020
  1. Fix DevTools Flow error for key-sort function (#17849)

    bvaughn committed Jan 15, 2020
Commits on Jan 14, 2020
  1. Re-enabled DevTools context menu option in Firefox to inspect functio…

    bvaughn committed Jan 14, 2020
    …n prop source (#17838)
Commits on Jan 9, 2020
  1. Add better test coverage for hooks in DevTools Profiler's change-dete…

    bvaughn committed Jan 9, 2020
    …ction (#17816)
Commits on Jan 7, 2020
  1. Renamed "ReactDOM-fb" imports to "ReactDOM" in www shims (#17797)

    bvaughn committed Jan 7, 2020
    * Renamed "ReactDOM-fb" imports to "ReactDOM" in www shims
    * Removed ReactDOMComponentTree_DO_NOT_USE.js
Commits on Jan 6, 2020
  1. Updated DevTools CHANGELOG to add pending release details

    bvaughn committed Jan 6, 2020
  2. Merge branch 'GasimGasimzada-scope-devtools-styles'

    bvaughn committed Jan 6, 2020
  3. Merge branch 'scope-devtools-styles' of…

    bvaughn committed Jan 6, 2020
    …zada/react into GasimGasimzada-scope-devtools-styles
  4. Updated DevTools CHANGELOG to add pending release details

    bvaughn committed Jan 6, 2020
  5. Renamed "backend.js" to "react_devtools_backend.js" (#17790)

    bvaughn committed Jan 6, 2020
Commits on Jan 5, 2020
  1. DevTools Profiler: Improve how empty commits are filtered (#17771)

    bvaughn committed Jan 5, 2020
    Previously, DevTools filtered empty commits on the backend, while profiling, through the use of a bailout heuristic that React currently happens to use. This approach was brittle and may have exacerbated the long-standing Profiler bug #16446.
    This PR removes that heuristic and adds as a post-processing filtering pass instead. This removes the coupling between DevTools and a React internal implementation detail that may change.
    I believe DevTools has two choices of criteria for this filtering:
    * Filter commits that have no actual duration metadata.
    * Filter commits that have no recorded operations (no mutations to the tree, no changed tree base durations).
    I chose the first option, filtering by commits that have no reported metadata. It will miss an edge case, e.g. , but we would have nothing meaningful to show in the Profiler for those cases anyway. (This particular edge case is why one of the snapshots changed with this commit.)
    The second option, filtering by recorded operations, could potentially miss a more important edge case: where a component *did* render, but its  didn't change. (In that event, there would be no operations to send.)
Commits on Jan 3, 2020
  1. DevTools 4.3.0 -> 4.4.0

    bvaughn committed Jan 3, 2020
  2. DevTools: Replaced unsafe hasOwnProperty() calls (#17768)

    bvaughn committed Jan 3, 2020
    DevTools previously called  in several places with user-defined values. This could lead to runtime errors if those values had an overriden  attribute. This commit replaces those callse with  instead.
    New test cases have been added.
  3. Partial fix DevTools Profiler ''Could not find node…'' error (#17759)

    bvaughn committed Jan 3, 2020
    The Profiler stores:
    1. A snapshot of the React tree when profiling started
    2. The operations array for each commit
    3. Profiling metadata (e.g. durations, what changed, etc) for each commit
    It uses this information (snapshot + operations diff) to reconstruct the state of the application for a given commit as it's viewed in the Profiler UI. Because of this, it's very important that the operations and metadata arrays align. If they don't align, the profiler will be unable to correctly reconstruct the tree, and it will likely throw errors (like 'Could not find node…')
    #16446 tracks a long-standing bug where these two arrays get misaligned. I am still not entirely sure what causes this bug, but with PR #17253, I exacerbated things by introducing another potential way for it to happen. This PR addresses the regression at least (and adds test coverage for it).
    I will follow up this afternoon on the original #16446 issue. I think I may have a lead on what's happening at least, if not exactly an idea of how to reproduce it.
Commits on Jan 2, 2020
  1. DevTools Profiler commit selector wraps around (#17760)

    bvaughn committed Jan 2, 2020
    I used to disable the <- and -> buttons when you reached the beginning or end of the profiler data. This can be kind of annoying though when you just want to get to the last commit, and I don't think there's a good reason to enforce it anyway, so I backed that change out. The buttons now wrap around at the beginning or end of the list.
  2. Added missing guard to DevTools for Objects with null proto (#17757)

    bvaughn committed Jan 2, 2020
    This prevents a runtime error from occurring when these objects are inspected.
Commits on Jan 1, 2020
  1. Build and store DevTools artifacts in Circle CI (#17746)

    bvaughn committed Jan 1, 2020
Commits on Dec 30, 2019
  1. Updated DevTools pending CHANGELOG

    bvaughn committed Dec 30, 2019
Commits on Dec 29, 2019
  1. Devtools renable copy attr context menu for firefox (#17740)

    bvaughn committed Dec 29, 2019
    * Use exportFunction() to share clipboard copy with JS running in document/page context.
    * Remove no-longer-used option to disable copy operation.
  2. Make DevTools check document.contentType before injecting (#17739)

    bvaughn committed Dec 29, 2019
    It should only inject the global hook into HTML documents. This will avoid breaking syntax highlighting for e.g. XML documents.
  3. Added missing Flow type coverage to DevTools context menu (#17733)

    bvaughn committed Dec 29, 2019
    The  param should probably be a generic type, but I'm not sure how to satisfy Flow with the current top-level  Map. At least this adds basic coverage (which was missing before, oops).
Commits on Dec 22, 2019
  1. [DevTools] Display RegExp values in props/state (#17690)

    bvaughn and Zirak committed Dec 22, 2019
    Previously, when props/state contained a regexp, it was shown as an
    empty object. This commit adds regexps as values in need of special
    rehydration (like Symbols or TypedArrays), and display them as a user
    might expect.
    Co-authored-by: Zirak <>
Commits on Dec 20, 2019
  1. DevTools v4.2.1 -> 4.3.0

    bvaughn committed Dec 20, 2019
  2. Disable "copy to clipboard" and "go to definition" context menu optio…

    bvaughn committed Dec 20, 2019
    …ns for Firefox addon (#17668)
Commits on Dec 19, 2019
  1. Null stateNode after unmount (#17666)

    bvaughn committed Dec 19, 2019
Commits on Dec 18, 2019
  1. DevTools build script enhancements (#17653)

    bvaughn committed Dec 18, 2019
    * Updated DevTools local development instructions to mention experimental build step
    * Added a command to download latest experimental release (for DevTools)
    * Updated build instructions for clarity
    * Added build-for-devtools package alias
  2. Updated DevTools changelog

    bvaughn committed Dec 18, 2019
  3. DevTools context menu (#17608)

    bvaughn committed Dec 18, 2019
    * Added rudimentary context menu hook and menu UI
    * Added backend support for copying a value at a specific path for the inspected element
    * Added backend support for storing a value (at a specified path) as a global variable
    * Added special casing to enable copying undefined/unserializable values to the clipboard
    * Added copy and store-as-global context menu options to selected element props panel
    * Store global variables separately, with auto-incremented name (like browsers do)
    * Added tests for new copy and store-as-global backend functions
    * Fixed some ownerDocument/contentWindow edge cases
    * Refactored context menu to support dynamic options
    Used this mechanism to add a conditional menu option for inspecting the current value (if it's a function)
    * Renamed "safeSerialize" to "serializeToString" and added inline comment
Commits on Dec 17, 2019
  1. Added more forwardRef test cases for DevTools (#17642)

    bvaughn committed Dec 17, 2019
You can’t perform that action at this time.