Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bailout without entering work loop for roots without work WIP #17267

Closed
wants to merge 3 commits into from

Conversation

bvaughn
Copy link
Contributor

@bvaughn bvaughn commented Nov 4, 2019

Wraps up #16980

This addresses some edge cases where React currently does a no-op render and an empty/unnecessary commit.

The tests listed below trigger this new early bailout code. Everyone is in performSyncWorkOnRoot (none trigger the new code in performConcurrentWorkOnRoot). I spot checked a couple of them to see why the new code is being hit, to see if it looked problematic. Below is my findings:

  • ReactES6Class-test "renders only once when setting state in componentWillMount"
    This one calls performSyncWorkOnRoot() twice. The first time is the callback passed from legacyRenderSubtreeIntoContainer to unbatchedUpdates. The second one (the one that bails out) is when unbatchedUpdates calls flushSyncCallbackQueue. This flush can be bailed out on.

  • RaectDOMInput-test "should control a value in reentrant events"
    This one hits the new codepath when it dispatch a discrete "input" event. It looks like when our test calls node.dispatchEvent() for the "input" event, something is actually dispatching a series of events (input, input, blur, focus) which causes more updates to be scheduled with React than necessary. Now we bail out after the first.

  • ReactCompositeComponent "should warn about setState in render"
    This one calls setState in render. Without this call, the bailout codepath doesn't get hit. Looks like the setState call leaves two things in the queue, so when the subsequent call to flushSyncCallbackQueue flushes them both, the second one is a no-op. The first thing gets added to the queue when the setState call is made. The second one by commitRootImpl() when it calls ensureRootIsScheduled() because getNextRootExpirationTimeToWorkOn returns a value that indicates there's more work.


  • ReactTestUtils.act() > legacy mode › sync › flushes effects on every call
  • ReactTestUtils.act() > blocking mode › sync › flushes effects on every call
  • ReactDOMInput > should control a value in reentrant events
  • ReactDOMInput > should control values in reentrant events with different targets
  • ReactDOMInput > switching text inputs between numeric and string numbers › changes the number 2 to "2.0" using a change handler
  • ReactDOMInput > should control radio buttons if the tree updates during render
  • ReactDOMInput > assigning the value attribute on controlled inputs › always sets the attribute when values change on text inputs
  • ReactDOMInput > assigning the value attribute on controlled inputs › does not set the value attribute on number inputs if focused
  • ReactDOMInput > assigning the value attribute on controlled inputs › sets the value attribute on number inputs on blur
  • ReactDOMInput > setting a controlled input to undefined › reverts the value attribute to the initial value
  • ReactDOMInput > setting a controlled input to undefined › preserves the value property
  • ReactDOMInput > setting a controlled input to null › reverts the value attribute to the initial value
  • ReactDOMInput > setting a controlled input to null › preserves the value property
  • ReactUpdates > should queue updates from during mount
  • ReactUpdates > uses correct base state for setState inside render phase
  • ReactFresh > can preserve state for forwardRef
  • ReactFresh > should not consider two forwardRefs around the same type to be equivalent
  • ReactFresh > can update forwardRef render function with its wrapper
  • ReactFresh > can update forwardRef render function in isolation
  • ReactFresh > can preserve state for simple memo
  • ReactFresh > can preserve state for memo with custom comparison
  • ReactFresh > can update simple memo function in isolation
  • ReactFresh > can preserve state for memo(forwardRef)
  • ReactFresh > can preserve state for lazy after resolution
  • ReactFresh > can patch lazy before resolution
  • ReactFresh > can patch lazy(forwardRef) before resolution
  • ReactFresh > can patch lazy(memo) before resolution
  • ReactFresh > can patch lazy(memo(forwardRef)) before resolution
  • ReactFresh > can patch both trees while suspense is displaying the fallback
  • ReactFresh > does not re-render ancestor components unnecessarily during a hot update
  • ReactFresh > does not leak state between components
  • ReactFresh > can force remount by changing signature
  • ReactFresh > can remount on signature change within a wrapper
  • ReactFresh > can remount on signature change within a simple memo wrapper
  • ReactFresh > can remount on signature change within a lazy simple memo wrapper
  • ReactFresh > can remount on signature change within forwardRef
  • ReactFresh > can remount on signature change within forwardRef render function
  • ReactFresh > can remount on signature change within nested memo
  • ReactFresh > can remount on signature change within a memo wrapper and custom comparison
  • ReactFresh > can remount on signature change within a class
  • ReactFresh > can remount on signature change within a context provider
  • ReactFresh > can remount on signature change within a context consumer
  • ReactFresh > can remount on signature change within a suspense node
  • ReactFresh > can remount on signature change within a mode node
  • ReactFresh > can remount on signature change within a fragment node
  • ReactFresh > can remount on signature change within multiple siblings
  • ReactFresh > can remount on signature change within a profiler node
  • ReactFresh > resets hooks with dependencies on hot reload
  • ReactFresh > can hot reload offscreen components
  • ReactFresh > remounts classes on every edit
  • ReactFresh > remounts on conversion from class to function and back
  • ReactFresh > can update multiple roots independently
  • ReactCompositeComponent > should warn about setState in render
  • ReactCompositeComponent > should warn about setState in getChildContext
  • ReactCompositeComponent > this.state should be updated on setState callback inside componentWillMount
  • ReactDOMServerIntegration > legacy context › renders with a call to componentWillMount before getChildContext with clean client render
  • ReactDOMServerIntegration > legacy context › renders with a call to componentWillMount before getChildContext with client render on top of good server markup
  • ReactDOMServerIntegration > legacy context › renders with a call to componentWillMount before getChildContext with client render on top of bad server markup
  • SimpleEventPlugin > interactive events, in concurrent mode › flushes pending interactive work before extracting event handler
  • SimpleEventPlugin > interactive events, in concurrent mode › flushes discrete updates in order
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled text input with clean client render
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled text input with client render on top of good server markup
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled textarea with clean client render
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled textarea with client render on top of good server markup
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled checkbox with clean client render
  • ReactDOMServerIntegrationUserInteraction > user interaction with controlled inputs › renders a controlled checkbox with client render on top of good server markup
  • ReactBrowserEventEmitter > should not invoke newly inserted handlers while bubbling
  • ReactDOMServerSelectiveHydration > hydrates at higher pri if sync did not work first time
  • ReactDOMServerSelectiveHydration > hydrates at higher pri for secondary discrete events
  • ReactES6Class > renders only once when setting state in componentWillMount
  • mixing responders with the heritage event system > should properly flush sync when the event systems are mixed with unstable_flushDiscreteUpdates
  • mixing responders with the heritage event system > mixing the Input and Press repsonders › is async for non-input events
  • ReactTypeScriptClass > renders only once when setting state in componentWillMount
  • ReactCoffeeScriptClass > renders only once when setting state in componentWillMount
  • ReactDOMHooks > should not bail out when an update is scheduled from within an event handler in Concurrent Mode
  • ReactIncrementalScheduling > can opt-out of batching using unbatchedUpdates
  • ReactCompositeComponent-state > should support setting state
  • ReactCompositeComponent-state > should treat assigning to this.state inside cWM as a replaceState, with a warning
  • ReactDOMComponentTree > finds a controlled instance from node and gets its current fiber props

This addresses an edge case where React currently does a no-op render and commits. This commit is unnecessary, and can confuse the DevTools Profiler.
@codesandbox-ci
Copy link

codesandbox-ci bot commented Nov 4, 2019

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit a14fdcf:

Sandbox Source
naughty-raman-gnspe Configuration

@sizebot
Copy link

sizebot commented Nov 4, 2019

Size changes (experimental)

ReactDOM: size: 0.0%, gzip: -0.0%

Details of bundled changes.

Comparing: 62ef250...a14fdcf

react-dom

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-dom.profiling.min.js +0.2% +0.1% 123.54 KB 123.85 KB 38.79 KB 38.84 KB NODE_PROFILING
react-dom-server.browser.development.js 0.0% -0.0% 140.37 KB 140.37 KB 36.87 KB 36.86 KB UMD_DEV
react-dom-unstable-flight-server.browser.development.js 0.0% +0.1% 4.45 KB 4.45 KB 1.79 KB 1.79 KB UMD_DEV
react-dom-server.browser.production.min.js 0.0% -0.0% 20.39 KB 20.39 KB 7.48 KB 7.48 KB UMD_PROD
react-dom-unstable-flight-server.browser.production.min.js 0.0% -0.3% 1.33 KB 1.33 KB 770 B 768 B UMD_PROD
react-dom-test-utils.development.js 0.0% -0.0% 56.27 KB 56.27 KB 15.58 KB 15.58 KB UMD_DEV
react-dom-unstable-fizz.browser.development.js 0.0% -0.1% 3.88 KB 3.88 KB 1.55 KB 1.55 KB UMD_DEV
react-dom-unstable-flight-client.development.js 0.0% -0.1% 4.84 KB 4.84 KB 1.6 KB 1.6 KB UMD_DEV
react-dom-test-utils.production.min.js 0.0% -0.0% 11.18 KB 11.18 KB 4.15 KB 4.15 KB UMD_PROD
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.3% 1.21 KB 1.21 KB 711 B 709 B UMD_PROD
react-dom-unstable-flight-client.production.min.js 0.0% -0.2% 1.79 KB 1.79 KB 875 B 873 B UMD_PROD
ReactDOMServer-dev.js 0.0% -0.0% 139.64 KB 139.64 KB 35.41 KB 35.41 KB FB_WWW_DEV
react-dom-test-utils.development.js 0.0% -0.0% 54.54 KB 54.54 KB 15.25 KB 15.25 KB NODE_DEV
ReactDOMServer-prod.js 0.0% -0.0% 48.79 KB 48.79 KB 11.13 KB 11.13 KB FB_WWW_PROD
react-dom-unstable-fizz.browser.development.js 0.0% -0.1% 3.71 KB 3.71 KB 1.5 KB 1.5 KB NODE_DEV
react-dom-unstable-flight-client.development.js 0.0% -0.1% 4.67 KB 4.67 KB 1.55 KB 1.55 KB NODE_DEV
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.2% 1.05 KB 1.05 KB 642 B 641 B NODE_PROD
react-dom-unstable-flight-client.production.min.js 0.0% -0.2% 1.63 KB 1.63 KB 802 B 800 B NODE_PROD
react-dom.development.js +0.1% +0.1% 951.45 KB 952.75 KB 215.02 KB 215.17 KB UMD_DEV
react-dom.production.min.js 🔺+0.3% 🔺+0.1% 119.57 KB 119.88 KB 38.35 KB 38.4 KB UMD_PROD
react-dom.profiling.min.js +0.2% +0.2% 123.25 KB 123.55 KB 39.45 KB 39.51 KB UMD_PROFILING
react-dom.development.js +0.1% +0.1% 945.55 KB 946.85 KB 213.43 KB 213.58 KB NODE_DEV
react-dom-server.node.development.js 0.0% -0.0% 137.41 KB 137.41 KB 36.09 KB 36.09 KB NODE_DEV
react-dom-unstable-flight-server.node.development.js 0.0% -0.2% 4.51 KB 4.51 KB 1.79 KB 1.78 KB NODE_DEV
react-dom.production.min.js 🔺+0.3% 🔺+0.1% 119.74 KB 120.05 KB 37.74 KB 37.77 KB NODE_PROD
react-dom-server.node.production.min.js 0.0% -0.0% 20.72 KB 20.72 KB 7.61 KB 7.61 KB NODE_PROD
react-dom-unstable-flight-server.node.production.min.js 0.0% -0.1% 1.2 KB 1.2 KB 722 B 721 B NODE_PROD
react-dom-server.browser.development.js 0.0% -0.0% 136.3 KB 136.3 KB 35.87 KB 35.87 KB NODE_DEV
react-dom-unstable-flight-server.browser.development.js 0.0% -0.1% 4.25 KB 4.25 KB 1.74 KB 1.74 KB NODE_DEV
react-dom-server.browser.production.min.js 0.0% -0.0% 20.31 KB 20.31 KB 7.46 KB 7.46 KB NODE_PROD
react-dom-unstable-flight-server.browser.production.min.js 0.0% -0.1% 1.13 KB 1.13 KB 688 B 687 B NODE_PROD
react-dom-unstable-native-dependencies.development.js 0.0% -0.0% 60.14 KB 60.14 KB 15.8 KB 15.8 KB UMD_DEV
react-dom-unstable-native-dependencies.production.min.js 0.0% -0.1% 10.73 KB 10.73 KB 3.67 KB 3.67 KB UMD_PROD
ReactDOM-dev.js +0.1% +0.1% 973.77 KB 975.2 KB 215.92 KB 216.08 KB FB_WWW_DEV
ReactDOM-prod.js 🔺+0.4% 🔺+0.2% 401.5 KB 402.99 KB 72.88 KB 73.01 KB FB_WWW_PROD
react-dom-unstable-native-dependencies.development.js 0.0% -0.0% 59.82 KB 59.82 KB 15.66 KB 15.66 KB NODE_DEV
react-dom-unstable-fizz.node.development.js 0.0% -0.1% 3.97 KB 3.97 KB 1.53 KB 1.53 KB NODE_DEV
ReactDOM-profiling.js +0.4% +0.2% 402.33 KB 403.91 KB 73.42 KB 73.56 KB FB_WWW_PROFILING
react-dom-unstable-native-dependencies.production.min.js 0.0% -0.0% 10.48 KB 10.48 KB 3.58 KB 3.57 KB NODE_PROD
react-dom-unstable-fizz.node.production.min.js 0.0% -0.1% 1.12 KB 1.12 KB 676 B 675 B NODE_PROD

react-native-renderer

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
ReactFabric-prod.js 🔺+0.6% 🔺+0.3% 268.89 KB 270.37 KB 45.93 KB 46.07 KB RN_FB_PROD
ReactNativeRenderer-dev.js +0.2% +0.1% 748.5 KB 749.93 KB 158.27 KB 158.43 KB RN_OSS_DEV
ReactFabric-profiling.js +0.5% +0.3% 279.02 KB 280.5 KB 47.8 KB 47.96 KB RN_FB_PROFILING
ReactNativeRenderer-prod.js 🔺+0.5% 🔺+0.1% 277.2 KB 278.68 KB 47.35 KB 47.42 KB RN_FB_PROD
ReactNativeRenderer-profiling.js +0.5% +0.2% 286.16 KB 287.64 KB 49.08 KB 49.18 KB RN_FB_PROFILING
ReactFabric-dev.js +0.2% +0.1% 753.99 KB 755.42 KB 159.11 KB 159.27 KB RN_OSS_DEV
ReactFabric-prod.js 🔺+0.6% 🔺+0.3% 268.89 KB 270.37 KB 45.91 KB 46.06 KB RN_OSS_PROD
ReactFabric-profiling.js +0.5% +0.3% 279.02 KB 280.5 KB 47.79 KB 47.95 KB RN_OSS_PROFILING
ReactFabric-dev.js +0.2% +0.1% 754.16 KB 755.59 KB 159.19 KB 159.34 KB RN_FB_DEV
ReactNativeRenderer-prod.js 🔺+0.5% 🔺+0.1% 277.2 KB 278.69 KB 47.34 KB 47.41 KB RN_OSS_PROD
ReactNativeRenderer-profiling.js +0.5% +0.2% 286.17 KB 287.65 KB 49.06 KB 49.17 KB RN_OSS_PROFILING
ReactNativeRenderer-dev.js +0.2% +0.1% 748.66 KB 750.09 KB 158.36 KB 158.52 KB RN_FB_DEV

react-test-renderer

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-test-renderer.development.js +0.2% +0.1% 617.95 KB 619.25 KB 131.56 KB 131.74 KB UMD_DEV
react-test-renderer.production.min.js 🔺+0.4% 🔺+0.3% 71.74 KB 72.05 KB 21.89 KB 21.96 KB UMD_PROD
ReactTestRenderer-dev.js +0.2% +0.1% 628.81 KB 630.25 KB 130.73 KB 130.91 KB FB_WWW_DEV
react-test-renderer-shallow.development.js 0.0% -0.0% 39.12 KB 39.12 KB 10.01 KB 10.01 KB UMD_DEV
react-test-renderer-shallow.production.min.js 0.0% -0.0% 11.62 KB 11.62 KB 3.58 KB 3.58 KB UMD_PROD
react-test-renderer-shallow.development.js 0.0% -0.0% 33.09 KB 33.09 KB 8.54 KB 8.53 KB NODE_DEV
react-test-renderer-shallow.production.min.js 0.0% -0.0% 11.75 KB 11.75 KB 3.68 KB 3.68 KB NODE_PROD
react-test-renderer.development.js +0.2% +0.1% 613.21 KB 614.52 KB 130.38 KB 130.55 KB NODE_DEV
react-test-renderer.production.min.js 🔺+0.4% 🔺+0.3% 71.44 KB 71.75 KB 21.57 KB 21.63 KB NODE_PROD

react-art

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
ReactART-dev.js +0.2% +0.2% 617.27 KB 618.7 KB 128.18 KB 128.38 KB FB_WWW_DEV
ReactART-prod.js 🔺+0.6% 🔺+0.2% 235.88 KB 237.4 KB 39.62 KB 39.69 KB FB_WWW_PROD
react-art.development.js +0.2% +0.1% 673.14 KB 674.44 KB 145.92 KB 146.09 KB UMD_DEV
react-art.production.min.js 🔺+0.3% 🔺+0.1% 106.73 KB 107.04 KB 32.35 KB 32.39 KB UMD_PROD
react-art.development.js +0.2% +0.1% 603.81 KB 605.11 KB 128.53 KB 128.7 KB NODE_DEV
react-art.production.min.js 🔺+0.4% 🔺+0.2% 71.73 KB 72.04 KB 21.48 KB 21.53 KB NODE_PROD

react-reconciler

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-reconciler-persistent.development.js +0.2% +0.1% 602.22 KB 603.53 KB 126.59 KB 126.74 KB NODE_DEV
react-reconciler-reflection.development.js 0.0% -0.0% 19.16 KB 19.16 KB 6.25 KB 6.25 KB NODE_DEV
react-reconciler-persistent.production.min.js 🔺+0.4% 🔺+0.3% 72.49 KB 72.8 KB 21.33 KB 21.39 KB NODE_PROD
react-reconciler-reflection.production.min.js 0.0% -0.2% 2.86 KB 2.86 KB 1.24 KB 1.24 KB NODE_PROD
react-reconciler.development.js +0.2% +0.1% 604.82 KB 606.12 KB 127.7 KB 127.86 KB NODE_DEV
react-reconciler.production.min.js 🔺+0.4% 🔺+0.2% 74.76 KB 75.07 KB 21.89 KB 21.94 KB NODE_PROD

Generated by 🚫 dangerJS against a14fdcf

@sizebot
Copy link

sizebot commented Nov 4, 2019

Size changes (stable)

ReactDOM: size: 0.0%, gzip: -0.2%

Details of bundled changes.

Comparing: 62ef250...a14fdcf

react-reconciler

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-reconciler.production.min.js 🔺+0.4% 🔺+0.3% 72.46 KB 72.77 KB 21.32 KB 21.37 KB NODE_PROD
react-reconciler-reflection.production.min.js 0.0% -0.1% 2.85 KB 2.85 KB 1.24 KB 1.24 KB NODE_PROD
react-reconciler-persistent.development.js +0.2% +0.1% 602.21 KB 603.51 KB 126.59 KB 126.74 KB NODE_DEV
react-reconciler-persistent.production.min.js 🔺+0.4% 🔺+0.3% 72.47 KB 72.78 KB 21.32 KB 21.38 KB NODE_PROD
react-reconciler.development.js +0.2% +0.1% 604.81 KB 606.11 KB 127.7 KB 127.85 KB NODE_DEV
react-reconciler-reflection.development.js 0.0% -0.0% 19.14 KB 19.14 KB 6.25 KB 6.25 KB NODE_DEV

react-dom

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-dom-unstable-native-dependencies.production.min.js 0.0% -0.0% 10.46 KB 10.46 KB 3.57 KB 3.57 KB NODE_PROD
react-dom-unstable-flight-server.browser.production.min.js 0.0% -0.1% 1.12 KB 1.12 KB 679 B 678 B NODE_PROD
react-dom-unstable-flight-client.development.js 0.0% -0.1% 4.83 KB 4.83 KB 1.59 KB 1.59 KB UMD_DEV
react-dom-unstable-flight-client.production.min.js 0.0% -0.2% 1.78 KB 1.78 KB 866 B 864 B UMD_PROD
react-dom-server.browser.development.js 0.0% -0.0% 136.28 KB 136.28 KB 35.86 KB 35.86 KB NODE_DEV
react-dom-unstable-flight-server.node.development.js 0.0% -0.1% 4.49 KB 4.49 KB 1.77 KB 1.77 KB NODE_DEV
react-dom.development.js +0.1% +0.1% 951.42 KB 952.73 KB 215 KB 215.15 KB UMD_DEV
react-dom-server.browser.production.min.js 0.0% -0.0% 19.85 KB 19.85 KB 7.38 KB 7.38 KB NODE_PROD
react-dom-unstable-fizz.browser.development.js 0.0% -0.1% 3.87 KB 3.87 KB 1.54 KB 1.54 KB UMD_DEV
react-dom-unstable-flight-server.node.production.min.js 0.0% -0.1% 1.18 KB 1.18 KB 712 B 711 B NODE_PROD
react-dom.production.min.js 🔺+0.3% 🔺+0.1% 116.16 KB 116.47 KB 37.43 KB 37.47 KB UMD_PROD
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.1% 1.2 KB 1.2 KB 703 B 702 B UMD_PROD
react-dom.profiling.min.js +0.3% +0.1% 119.73 KB 120.03 KB 38.49 KB 38.55 KB UMD_PROFILING
react-dom.development.js +0.1% +0.1% 945.53 KB 946.83 KB 213.41 KB 213.56 KB NODE_DEV
react-dom.production.min.js 🔺+0.3% 🔺+0.1% 116.3 KB 116.61 KB 36.79 KB 36.84 KB NODE_PROD
react-dom-unstable-native-dependencies.development.js 0.0% -0.0% 60.13 KB 60.13 KB 15.79 KB 15.79 KB UMD_DEV
react-dom-unstable-fizz.browser.production.min.js 0.0% -0.2% 1.04 KB 1.04 KB 634 B 633 B NODE_PROD
react-dom-unstable-flight-server.browser.development.js 0.0% -0.1% 4.44 KB 4.44 KB 1.79 KB 1.79 KB UMD_DEV
react-dom.profiling.min.js +0.3% +0.1% 119.99 KB 120.3 KB 37.84 KB 37.89 KB NODE_PROFILING
react-dom-unstable-native-dependencies.production.min.js 0.0% -0.0% 10.72 KB 10.72 KB 3.67 KB 3.67 KB UMD_PROD
react-dom-unstable-flight-server.browser.production.min.js 0.0% -0.1% 1.32 KB 1.32 KB 761 B 760 B UMD_PROD
react-dom-unstable-native-dependencies.development.js 0.0% -0.0% 59.8 KB 59.8 KB 15.66 KB 15.65 KB NODE_DEV
react-dom-unstable-flight-server.browser.development.js 0.0% +0.1% 4.23 KB 4.23 KB 1.73 KB 1.73 KB NODE_DEV
react-dom-server.node.development.js 0.0% -0.0% 137.39 KB 137.39 KB 36.09 KB 36.08 KB NODE_DEV
react-dom-unstable-flight-client.development.js 0.0% -0.1% 4.65 KB 4.65 KB 1.54 KB 1.54 KB NODE_DEV
react-dom-test-utils.development.js 0.0% -0.0% 56.26 KB 56.26 KB 15.58 KB 15.57 KB UMD_DEV
react-dom-server.node.production.min.js 0.0% -0.0% 20.26 KB 20.26 KB 7.53 KB 7.53 KB NODE_PROD
react-dom-unstable-flight-client.production.min.js 0.0% -0.3% 1.61 KB 1.61 KB 792 B 790 B NODE_PROD
react-dom-test-utils.production.min.js 0.0% -0.0% 11.17 KB 11.17 KB 4.14 KB 4.14 KB UMD_PROD
react-dom-test-utils.development.js 0.0% -0.0% 54.53 KB 54.53 KB 15.24 KB 15.24 KB NODE_DEV
react-dom-server.browser.development.js 0.0% -0.0% 140.35 KB 140.35 KB 36.87 KB 36.86 KB UMD_DEV
react-dom-unstable-fizz.node.production.min.js 0.0% -0.1% 1.11 KB 1.11 KB 668 B 667 B NODE_PROD
react-dom-server.browser.production.min.js 0.0% -0.0% 19.93 KB 19.93 KB 7.39 KB 7.38 KB UMD_PROD

react-art

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-art.development.js +0.2% +0.1% 673.12 KB 674.42 KB 145.91 KB 146.08 KB UMD_DEV
react-art.production.min.js 🔺+0.3% 🔺+0.1% 104.65 KB 104.96 KB 31.83 KB 31.87 KB UMD_PROD
react-art.development.js +0.2% +0.1% 603.79 KB 605.09 KB 128.52 KB 128.7 KB NODE_DEV
react-art.production.min.js 🔺+0.4% 🔺+0.3% 69.7 KB 70.01 KB 21.02 KB 21.08 KB NODE_PROD

react-test-renderer

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-test-renderer.development.js +0.2% +0.1% 617.92 KB 619.22 KB 131.55 KB 131.73 KB UMD_DEV
react-test-renderer.production.min.js 🔺+0.4% 🔺+0.3% 71.71 KB 72.02 KB 21.87 KB 21.94 KB UMD_PROD
react-test-renderer.development.js +0.2% +0.1% 613.19 KB 614.49 KB 130.36 KB 130.54 KB NODE_DEV
react-test-renderer.production.min.js 🔺+0.4% 🔺+0.3% 71.42 KB 71.73 KB 21.55 KB 21.61 KB NODE_PROD
react-test-renderer-shallow.development.js 0.0% -0.0% 39.11 KB 39.11 KB 10 KB 10 KB UMD_DEV
react-test-renderer-shallow.production.min.js 0.0% -0.1% 11.6 KB 11.6 KB 3.58 KB 3.58 KB UMD_PROD
react-test-renderer-shallow.development.js 0.0% -0.0% 33.08 KB 33.08 KB 8.53 KB 8.53 KB NODE_DEV
react-test-renderer-shallow.production.min.js 0.0% -0.0% 11.74 KB 11.74 KB 3.68 KB 3.67 KB NODE_PROD

react-native-renderer

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
ReactNativeRenderer-dev.js +0.2% +0.1% 748.65 KB 750.08 KB 158.35 KB 158.51 KB RN_FB_DEV
ReactNativeRenderer-prod.js 🔺+0.5% 🔺+0.1% 277.19 KB 278.67 KB 47.34 KB 47.42 KB RN_FB_PROD
ReactNativeRenderer-profiling.js +0.5% +0.2% 286.14 KB 287.62 KB 49.07 KB 49.17 KB RN_FB_PROFILING
ReactFabric-dev.js +0.2% +0.1% 754.14 KB 755.58 KB 159.18 KB 159.34 KB RN_FB_DEV
ReactFabric-prod.js 🔺+0.6% 🔺+0.3% 268.88 KB 270.36 KB 45.92 KB 46.06 KB RN_FB_PROD
ReactFabric-profiling.js +0.5% +0.3% 279.01 KB 280.49 KB 47.79 KB 47.95 KB RN_FB_PROFILING
ReactNativeRenderer-dev.js +0.2% +0.1% 748.48 KB 749.92 KB 158.27 KB 158.42 KB RN_OSS_DEV
ReactNativeRenderer-prod.js 🔺+0.5% 🔺+0.1% 277.19 KB 278.68 KB 47.33 KB 47.4 KB RN_OSS_PROD
ReactNativeRenderer-profiling.js +0.5% +0.2% 286.15 KB 287.63 KB 49.06 KB 49.16 KB RN_OSS_PROFILING
ReactFabric-dev.js +0.2% +0.1% 753.97 KB 755.41 KB 159.11 KB 159.26 KB RN_OSS_DEV
ReactFabric-prod.js 🔺+0.6% 🔺+0.3% 268.87 KB 270.36 KB 45.91 KB 46.05 KB RN_OSS_PROD
ReactFabric-profiling.js +0.5% +0.3% 279.01 KB 280.49 KB 47.79 KB 47.94 KB RN_OSS_PROFILING

Generated by 🚫 dangerJS against a14fdcf

@bvaughn
Copy link
Contributor Author

bvaughn commented Nov 10, 2019

Ping~

@necolas necolas added the React Core Team Opened by a member of the React Core Team label Jan 8, 2020
@bvaughn
Copy link
Contributor Author

bvaughn commented Jan 11, 2020

Ping @sebmarkbage / @acdlite Seems like this is still worth landing, no?

I'd be happy to rebase and fix conflicts, but are there any other blockers?

@bvaughn
Copy link
Contributor Author

bvaughn commented Jan 23, 2020

I think this PR should remain open until reviewed.

@RohovDmytro
Copy link

Let's merge this PR! React dev tools remains to be broken #16980

@bvaughn
Copy link
Contributor Author

bvaughn commented Nov 10, 2021

Closing as per this comment: #16980 (comment)

@bvaughn
Copy link
Contributor Author

bvaughn commented Nov 11, 2021

Alternate #22745

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants