Summary: This is the new Mac artifact based on what's in the code. Still building the Linux one.,
Reviewed By: nikoant
Differential Revision: D26174670
fbshipit-source-id: a5364b45bcc8d6325a698633d0e1a076ef1080ad
Summary:
Note: Binary update will follow as separate diff.
Noticed that these weren't updated automatically.
Reviewed By: mweststrate
Differential Revision: D26150738
fbshipit-source-id: 05583a3d8c6425d41e985255e0281a90e5062dad
Summary:
Using our serialization utilities in the previous diff absolute destroyed the performance of serializing the device logs. Investigated a bit, and the root cause is that *every* object serialization would notify the UI.
This is not only pointless, since the UI won't be updated until the next tick anyway, it also is terribly expensive since React has to process and queue all these updates.
Exporting the device logs went down from **2 minutes to a few seconds** with this change. (Still a lot slower than JSON.stringify, but I think the flexibility for plugin devs is worth it).
This change does not only benefit devicelogs plugin, but all existing plugins as well, plugins like GraphQL should now export their data much quicker.
Before (practically all time of serialization is spend in React's setState):
{F366147730}
After (only a spike at the end of the idler tick):
{F366147779}
Reviewed By: priteshrnandgaonkar
Differential Revision: D26146420
fbshipit-source-id: 9bbeccf04701fd044e041956b7bb00f1e0622b63
Summary:
Unlike non-sandy plugins, non-sandy plugins weren't serialized using our serialization utility yet. This diff addresses that, meaning that users don't have to bother about how to serialize maps, sets and dates.
Unlike the old fashioned plugins, the `makeObjectSerialize` utility is used, rather than `serialize`. This normalizes the objects, but doesn't serialize them, which is done at the end of the export data process anyway for the whole tree. This avoids creating a double JSON serialization which is fully of ugly escape characters.
This makes the onImport / onExport definition of the logs plugin nicer.
Also improved the docs.
Reviewed By: nikoant
Differential Revision: D26146421
fbshipit-source-id: 6abfb6ee2e3312e2a13a11832ff103dc62fd844c
Summary:
While creating some other tests, discovered that our current date serialization uses `toString()` serialization, causing the amount of milliseconds to be lost. The serialization (see below) uses less bytes as well since the human readable timezone isn't included. This change only affects serialization and is backward compatible.
```
✓ test serialize and deserializeObject function for non Object input (1 ms)
✕ test makeObjectSerializable and deserializeObject function for Date input (2 ms)
✓ test makeObjectSerializable and deserializeObject function for Map of Sets
✓ test makeObjectSerializable and deserializeObject function for Map, Dates and Set with complex nesting (1 ms)
● test makeObjectSerializable and deserializeObject function for Date input
expect(received).toEqual(expected) // deep equality
Expected: 2021-03-01T10:31:07.205Z
Received: 2021-03-01T10:31:07.000Z
```
Reviewed By: priteshrnandgaonkar
Differential Revision: D26145941
fbshipit-source-id: dfd6607a4199ca46e2075027856138efb88a07f9
Summary:
Logs were stored hardcoded on the Device object first, this diff makes it normal plugin state.
This makes sure that we can use the same abstractions as in all plugins that store large data sets, and that we can leverage the upcoming DataSource abstraction.
Reviewed By: nikoant
Differential Revision: D26127243
fbshipit-source-id: 7c386a615fa7989f35ba0df5b7c1d218d37b57a2
Summary: Per title, this allows for pre-processing data after it is deserialized and before it is stored in the plugin
Reviewed By: nikoant
Differential Revision: D26126423
fbshipit-source-id: bc08a6ab205d2a0d551515563cd85a197595ddb2
Summary:
Sandy plugins can now set up an `onExport` handler to enable customizing the export format of a plugin: `client.onExport(callback: (idler, onStatusMessage) => Promise<state>)`
Import will be done in next diff
Reviewed By: nikoant
Differential Revision: D26124440
fbshipit-source-id: c787c79d929aa8fb484f15a9340d7c87545793cb
Summary: Sandy device plugins weren't exported till now (the only stateful plugin so far was Logs, but logs were stored hardcoded on the device rather than using the plugin export mechanisms). This diff makes sure that SandyDevicePlugins will be exported as well if they are persistable.
Reviewed By: nikoant
Differential Revision: D22724822
fbshipit-source-id: a10354a9c7e02f3e696d0cdda0f2c6be6f5ac61e
Summary:
While trying to change something, discovered we have 3 different mechanisms in our code base to compute active plugins; the plugin list component, support form, and export flipper trace form had all their own, subtly different implementations of computing which plugins are available to the user.
Also removed some hardcoded exceptions for e.g. Logs plugin, which in the next diff and onward will be just a vanilla plugin without special casing
Unified that, which some how went a bit deeper than hoped, trough some hoops in in circular deps. Also unified to use the same testing utils, to avoid some gobbling objects manually together, with resulted in a bunch of unexpected NPEs. Found out that we actually still have unit tests using Flow in the process :-P. Converted one to TS.
Reviewed By: nikoant
Differential Revision: D26103172
fbshipit-source-id: 2fce2577d97d98543cb9312b3d013f24faee43aa
Summary:
Provide a more robust technique for exporting the mocks to a file.
The current technique for exporting mocks to a file seems to fail under some scenarios. The correct format is an array of objects:
```
[
{
"requestUrl": "https://api.github.com/repos/facebook/yoga",
"requestMethod": "GET",
```
However, the following format is sometimes exported instead:
```
{
"10": {
"requestUrl": "https://demo9512366.mockable.io/SonarPost",
```
Using `Object.values` provides a more robust technique that has been successful during subsequent testing.
## Changelog
Network Plugin - new technique for exporting mocks
Pull Request resolved: https://github.com/facebook/flipper/pull/1872
Test Plan:
Create mocks in the network plugin
Export mocks
Manually examine file for correct format
Import mocks and verify that the file has been imported correctly
Reviewed By: nikoant
Differential Revision: D26172954
Pulled By: mweststrate
fbshipit-source-id: bdfa3ba7dfe656f30ef17df001fc83dd8ea18ece
Summary:
- Made `EnumMapping` support generic value type - `ImageView.ScaleType` is a Java enum; the scaleType api uses this instead of int types.
- Introduce descriptor for `ImageView` and allow getting/setting scaleType.
Reviewed By: mweststrate
Differential Revision: D26092725
fbshipit-source-id: ea3a4ee036b2b808f14277387d360318b7d25824
Summary:
Bumps [types/ws](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/ws) from 7.2.7 to 7.4.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/ws">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1869
Reviewed By: mweststrate
Differential Revision: D26149508
Pulled By: passy
fbshipit-source-id: 6bc9360d297bb9285e3c7515b4731f5c3478c97b
Summary:
Continue with cleanup of Network plugin mock screens. This mostly consists of replacing FlexColumn, FlexRow and FlexBox with equivalent Sandy components.
Here is the new screen:
- replace text buttons with Button
- add NUX info to "Copy Highlighted Calls" button
- add message when no calls have been highlighted
- in routes list remove padding on line items

Here is the prior screen:

## Changelog
Network Plugin - Additional cleanup of UI on mock screen
Pull Request resolved: https://github.com/facebook/flipper/pull/1873
Test Plan:
Create and modify mocks
Verify that the functionality has not been affected by UI changes
Reviewed By: passy
Differential Revision: D26172915
Pulled By: mweststrate
fbshipit-source-id: f0af143d8509b53585076737832657fb095e75a6
Summary:
Used this to find out that my 0.10 release was borked but this one works.
This doesn't require any code changes because we're already using the
equivalent of 0.10.1 internally through the mono repo.
Changelog: Update to SoLoader 0.10.1
Reviewed By: nikoant
Differential Revision: D26148652
fbshipit-source-id: 7d8c2bc8d8dfaca7118d240bd365be08948e4623
Summary:
Made UI fixes to Network Plugin (mostly to Route screens) to continue migration to the new design framework. This consisted mostly of replacing FlexColumn and FlexRow with Layout.Container and Layout.Horizontal.
Also, contains some cosmetic changes to "Mock Network Response" page.
Here is the screenshot with UI changes:

This was the old screen for comparison:

## Changelog
Network Plugin - UI changes to continue migration to Sandy design framework
Pull Request resolved: https://github.com/facebook/flipper/pull/1864
Test Plan: Manual testing to ensure that all data still displayed with new UI changes (especially the Data and Headers info in the "Route Info" section)
Reviewed By: passy
Differential Revision: D26125656
Pulled By: mweststrate
fbshipit-source-id: a25104274ed25788e5c0738ac0a9609f2cead751
Summary: Found out about this today.
Reviewed By: mweststrate
Differential Revision: D26129626
fbshipit-source-id: 82aa5d9fa536010b51fc1cf937f521e5ffa88015
Summary: let's make it easier for users to spot possiblity to jump to source code from flipper
Reviewed By: priteshrnandgaonkar
Differential Revision: D26147686
fbshipit-source-id: 6e248c10e73f3b8fcd937d915af6e91db1fe6abe
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1870
Reviewed By: mweststrate
Differential Revision: D26146167
Pulled By: nikoant
fbshipit-source-id: 3a5c1e8fd7cb5f39d5f96d9a299e54b535736839
Summary: Going to make more changes here soon and wanted to apply some small changes first.
Reviewed By: jknoxville
Differential Revision: D26078645
fbshipit-source-id: 3a2bcd593b893160b5a332c858a514ebe89d3f4d
Summary:
I found a `CFBundleURLTypes` in the .app. Turns out that Munki has
a bunch of hard-to-discover deeplinks: https://github.com/munki/munki/wiki/Munki-Links
Reviewed By: mweststrate
Differential Revision: D26125684
fbshipit-source-id: 3a470360e3df287bd9a07d2e587094cbf7879e33
Summary: Also removed a weird href on a paragraph.
Reviewed By: mweststrate
Differential Revision: D26125630
fbshipit-source-id: b3fab87cf295f8fdbfe142e8c0a32909ce828a57
Summary: Plugin metadata format extended to include type of each plugin (client / device) and list of supported devices (android/ios/..., emulator/physical, etc). This will allow to detect plugins supported by device even if they are not installed and only available on Marketplace.
Reviewed By: mweststrate
Differential Revision: D26073531
fbshipit-source-id: e331f1be1af1046cd4220a286a1d52378c26cc53
Summary: This diff fixes the issue when there is an error on checking GK for any of plugins and because of it the entire set of plugins failed to load. Each plugin should be loaded in isolation from others.
Reviewed By: passy
Differential Revision: D26099735
fbshipit-source-id: ba5475f4baf2d06f8922d345c9d401f5b15956ec
Summary:
This diff keeps the opensource integration of CK for Flipper at the same place. It moves the code which is referred internally to a different folder under Facebook directory.
The reason we are doing this is because, CK won't be publishing any more opensource releases to Cocoapods. Thus we would like to keep the code for opensource compatible to the latest one. Internally we would refer to the CK code from Facebook directory.
Reviewed By: fabiomassimo
Differential Revision: D26047510
fbshipit-source-id: 302890bcd36d3e4c4888577d821433f58fcab5c7
Summary:
In the network plugin, add features to import and export routes as described in issue https://github.com/facebook/flipper/issues/1651
Primary use case is that external testers (such as QA teams) would be able to create test data, convert it to mocks and save the mocks to make bug fixes easier for devs.
Here is a screenshot showing location of buttons to perform import/export (and clearing) of mock routes:

Here is another screenshot showing export dialog:

Changelog: [Network] Mock routes can now be imported and exported. Thanks bizzguy!
Pull Request resolved: https://github.com/facebook/flipper/pull/1855
Test Plan:
Performed manual testing
- create new mocks
- export mocks
- clear mocks
- import mocks
- verify that mocks still work by making GET/POST requests in sample app
Performed various permutations of above manual tests, including restarting Flipper at various points to ensure that test plan still worked. Also performed visual inspection of exported files to verify correctness.
Would be very interested in learning how to create automated tests for this functionality.
Reviewed By: passy
Differential Revision: D26072928
Pulled By: mweststrate
fbshipit-source-id: 51bd5e19e78d830b94add850d5dc9b9e45fa6fad
Summary: importing `antd` in a plugin that lives in the Flipper repo will give a int warning. This fixes that, antd is provided by the host package.
Reviewed By: nikoant
Differential Revision: D26073161
fbshipit-source-id: 897357fafce20129f7e12c035ff99cb4870cc814
Summary:
The support form currently has a search form to select a group, but unless the selection is cleared, it won't show you which groups is actually available, which makes it hard for people to select the right group if they don't know up front.
Since the scale of available groups doesn't justify needing a typeahead, converted it to an ordinary dropdown.
An added benefit is that this allows us to remove a large and complicated component we shouldn't be maintaining ourselves, but rather reuse from Ant.
Reviewed By: nikoant
Differential Revision: D26046131
fbshipit-source-id: f499e5848eec8b961b054104c8e3a01567e2801e
Summary:
Bumps [rsocket-flowable](https://github.com/rsocket/rsocket-js) from 0.0.14 to 0.0.22.
<details>
<summary>Commits</summary>
<ul>
<li><a href="08bef0b23b"><code>08bef0b</code></a> v0.0.22</li>
<li><a href="d82ac4d8ad"><code>d82ac4d</code></a> bumps version</li>
<li><a href="1eea785dee"><code>1eea785</code></a> adds RoutingMetadata and removes deprecation of CompositeMetadata to enable `...</li>
<li><a href="4de7bd9980"><code>4de7bd9</code></a> improves CompositeMetadataExample</li>
<li><a href="7f4b418dd7"><code>7f4b418</code></a> adds support for AuthMetadata</li>
<li><a href="d8f69c6499"><code>d8f69c6</code></a> adds RoutingMetadata support</li>
<li><a href="8586850e42"><code>8586850</code></a> refactors CompositeMetadata API</li>
<li><a href="045c150101"><code>045c150</code></a> improves LiteBuffer and RSocketBufferUtils</li>
<li><a href="a1190c84ab"><code>a1190c8</code></a> v0.0.20</li>
<li><a href="0e72e419e2"><code>0e72e41</code></a> Revert "v0.0.20"</li>
<li>Additional commits viewable in <a href="https://github.com/rsocket/rsocket-js/compare/v0.0.14...v0.0.22">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~shadowgun">shadowgun</a>, a new releaser for rsocket-flowable since your current version.</p>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1863
Reviewed By: passy
Differential Revision: D26047361
Pulled By: mweststrate
fbshipit-source-id: 7349245323311f8e161af385032847d996cef8e3
Summary:
Bumps [react-refresh](https://github.com/facebook/react/tree/HEAD/packages/react) from 0.8.3 to 0.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/react/releases">react-refresh's releases</a>.</em></p>
<blockquote>
<h2>v0.9.0</h2>
<h2>What’s New?</h2>
<p>This version includes better support for normalizing event properties across all supported browsers so that you need to worry even less about cross-browser differences. We've also made many improvements to error messages and have refactored the core to never rethrow errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly.</p>
<p>We've also added to the add-ons build <a href="https://github.com/facebook/react/tree/HEAD/packages/react/blob/HEAD/react/docs/test-utils.html">React.addons.TestUtils</a>, a set of new utilities to help you write unit tests for React components. You can now simulate events on your components, and several helpers are provided to help make assertions about the rendered DOM tree.</p>
<p>We've also made several other improvements and a few breaking changes; the full changelog is provided below.</p>
<h2>JSX Whitespace</h2>
<p>In addition to the changes to React core listed below, we've made a small change to the way JSX interprets whitespace to make things more consistent. With this release, space between two components on the same line will be preserved, while a newline separating a text node from a tag will be eliminated in the output. Consider the code:</p>
<pre lang="html"><code><div>
Monkeys:
{listOfMonkeys} {submitButton}
</div>
</code></pre>
<p>In v0.8 and below, it was transformed to the following:</p>
<pre lang="javascript"><code>React.DOM.div(null,
" Monkeys: ",
listOfMonkeys, submitButton
)
</code></pre>
<p>In v0.9, it will be transformed to this JS instead:</p>
<pre lang="javascript{2,3}"><code>React.DOM.div(null,
"Monkeys:",
listOfMonkeys, " ", submitButton
)
</code></pre>
<p>We believe this new behavior is more helpful and elimates cases where unwanted whitespace was previously added.</p>
<p>In cases where you want to preserve the space adjacent to a newline, you can write <code>{'Monkeys: '}</code> or <code>Monkeys:{' '}</code> in your JSX source. We've included a script to do an automated codemod of your JSX source tree that preserves the old whitespace behavior by adding and removing spaces appropriately. You can <a href="https://github.com/facebook/react/blob/master/npm-jsx_whitespace_transformer/README.md">install jsx_whitespace_transformer from npm</a> and run it over your source tree to modify files in place. The transformed JSX files will preserve your code's existing whitespace behavior.</p>
<h2>Changelog</h2>
<h3>React Core</h3>
<h4>Breaking Changes</h4>
<ul>
<li>The lifecycle methods <code>componentDidMount</code> and <code>componentDidUpdate</code> no longer receive the root node as a parameter; use <code>this.getDOMNode()</code> instead</li>
<li>Whenever a prop is equal to <code>undefined</code>, the default value returned by <code>getDefaultProps</code> will now be used instead</li>
<li><code>React.unmountAndReleaseReactRootNode</code> was previously deprecated and has now been removed</li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/facebook/react/blob/master/CHANGELOG.md">react-refresh's changelog</a>.</em></p>
<blockquote>
<h2>0.9.0 (February 20, 2014)</h2>
<h3>React Core</h3>
<h4>Breaking Changes</h4>
<ul>
<li>The lifecycle methods <code>componentDidMount</code> and <code>componentDidUpdate</code> no longer receive the root node as a parameter; use <code>this.getDOMNode()</code> instead</li>
<li>Whenever a prop is equal to <code>undefined</code>, the default value returned by <code>getDefaultProps</code> will now be used instead</li>
<li><code>React.unmountAndReleaseReactRootNode</code> was previously deprecated and has now been removed</li>
<li><code>React.renderComponentToString</code> is now synchronous and returns the generated HTML string</li>
<li>Full-page rendering (that is, rendering the <code><html></code> tag using React) is now supported only when starting with server-rendered markup</li>
<li>On mouse wheel events, <code>deltaY</code> is no longer negated</li>
<li>When prop types validation fails, a warning is logged instead of an error thrown (with the production build of React, type checks are now skipped for performance)</li>
<li>On <code>input</code>, <code>select</code>, and <code>textarea</code> elements, <code>.getValue()</code> is no longer supported; use <code>.getDOMNode().value</code> instead</li>
<li><code>this.context</code> on components is now reserved for internal use by React</li>
</ul>
<h4>New Features</h4>
<ul>
<li>React now never rethrows errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly</li>
<li>Added support for SVG tags <code>defs</code>, <code>linearGradient</code>, <code>polygon</code>, <code>radialGradient</code>, <code>stop</code></li>
<li>Added support for more attributes:
<ul>
<li><code>crossOrigin</code> for CORS requests</li>
<li><code>download</code> and <code>hrefLang</code> for <code><a></code> tags</li>
<li><code>mediaGroup</code> and <code>muted</code> for <code><audio></code> and <code><video></code> tags</li>
<li><code>noValidate</code> and <code>formNoValidate</code> for forms</li>
<li><code>property</code> for Open Graph <code><meta></code> tags</li>
<li><code>sandbox</code>, <code>seamless</code>, and <code>srcDoc</code> for <code><iframe></code> tags</li>
<li><code>scope</code> for screen readers</li>
<li><code>span</code> for <code><colgroup></code> tags</li>
</ul>
</li>
<li>Added support for defining <code>propTypes</code> in mixins</li>
<li>Added <code>any</code>, <code>arrayOf</code>, <code>component</code>, <code>oneOfType</code>, <code>renderable</code>, <code>shape</code> to <code>React.PropTypes</code></li>
<li>Added support for <code>statics</code> on component spec for static component methods</li>
<li>On all events, <code>.currentTarget</code> is now properly set</li>
<li>On keyboard events, <code>.key</code> is now polyfilled in all browsers for special (non-printable) keys</li>
<li>On clipboard events, <code>.clipboardData</code> is now polyfilled in IE</li>
<li>On drag events, <code>.dragTransfer</code> is now present</li>
<li>Added support for <code>onMouseOver</code> and <code>onMouseOut</code> in addition to the existing <code>onMouseEnter</code> and <code>onMouseLeave</code> events</li>
<li>Added support for <code>onLoad</code> and <code>onError</code> on <code><img></code> elements</li>
<li>Added support for <code>onReset</code> on <code><form></code> elements</li>
<li>The <code>autoFocus</code> attribute is now polyfilled consistently on <code>input</code>, <code>select</code>, and <code>textarea</code></li>
</ul>
<h4>Bug Fixes</h4>
<ul>
<li>React no longer adds an <code>__owner__</code> property to each component's <code>props</code> object; passed-in props are now never mutated</li>
<li>When nesting top-level components (e.g., calling <code>React.renderComponent</code> within <code>componentDidMount</code>), events now properly bubble to the parent component</li>
<li>Fixed a case where nesting top-level components would throw an error when updating</li>
<li>Passing an invalid or misspelled propTypes type now throws an error</li>
<li>On mouse enter/leave events, <code>.target</code>, <code>.relatedTarget</code>, and <code>.type</code> are now set properly</li>
<li>On composition events, <code>.data</code> is now properly normalized in IE9 and IE10</li>
<li>CSS property values no longer have <code>px</code> appended for the unitless properties <code>columnCount</code>, <code>flex</code>, <code>flexGrow</code>, <code>flexShrink</code>, <code>lineClamp</code>, <code>order</code>, <code>widows</code></li>
</ul>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/facebook/react/commits/v0.9.0/packages/react">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1861
Reviewed By: passy
Differential Revision: D26047350
Pulled By: mweststrate
fbshipit-source-id: ee94f7e41970ac8b01eeb4719b7a9dd0ac556398
Summary:
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.119 to 1.0.122.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p>
<blockquote>
<h2>v1.0.122</h2>
<ul>
<li>
<p>Add IntoDeserializer impl for &[u8] (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1898">#1898</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</p>
</li>
<li>
<p>Handle unrecognized numeric field keys during deserialization of a field_identifier, equivalently to string field keys (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1914">#1914</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</p>
</li>
<li>
<p>Add attribute to override default deserialization failure expectation message (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1916">#1916</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</p>
<pre lang="rust"><code>#[derive(Deserialize)]
#[serde(untagged, expecting = "single version or array of versions")]
struct VersionSpec {
One(Version),
Many(Vec<Version>),
}
</code></pre>
</li>
<li>
<p>Improve <code>serde_test</code> handling of map entries and error message construction (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1918">#1918</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</p>
</li>
<li>
<p>Produce more accurate location information on test failures from <code>serde_test</code> crate (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1920">#1920</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</p>
</li>
<li>
<p>Improve diagnostic on failure to parse a <code>rename_all</code> attribute (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1960">#1960</a>, <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1961">#1961</a>)</p>
</li>
<li>
<p>Eliminate unnecessary trait bounds on some value Deserializer impls (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1963">#1963</a>)</p>
</li>
</ul>
<h2>v1.0.121</h2>
<ul>
<li>Support borrowed data during deserialization of a field identifier (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1917">#1917</a>, thanks <a href="https://github.com/Mingun"><code>Mingun</code></a>)</li>
<li>Fix panic when deserializing <code>Duration</code> with nanoseconds that cause the seconds counter to overflow (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1958">#1958</a>, thanks <a href="https://github.com/jonasbb"><code>jonasbb</code></a>)</li>
</ul>
<h2>v1.0.120</h2>
<ul>
<li>Fix deserialization of ignored fields containing 128-bit integer (<a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1955">#1955</a>, thanks <a href="https://github.com/TheJokr"><code>TheJokr</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ffed19243d"><code>ffed192</code></a> Release 1.0.122</li>
<li><a href="bb7f94df84"><code>bb7f94d</code></a> Add serde_derive_internals to clippy CI job</li>
<li><a href="ff0f467e25"><code>ff0f467</code></a> Opt in to pedantic clippy lints in serde_derive_internals</li>
<li><a href="d1975f3661"><code>d1975f3</code></a> Update serde_derive_internals to tool attrs</li>
<li><a href="b91713e824"><code>b91713e</code></a> Suppress clippy should_implement_trait lint</li>
<li><a href="6ea446fb4b"><code>6ea446f</code></a> Suppress clippy unused_self pedantic lint</li>
<li><a href="85c6904a93"><code>85c6904</code></a> Remove dependency on syn/visit feature</li>
<li><a href="2fd5212204"><code>2fd5212</code></a> Remove unused trait impls on private MapAsEnum</li>
<li><a href="7d1bc1f0fc"><code>7d1bc1f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/serde-rs/serde/issues/1963">#1963</a> from serde-rs/valuedebug</li>
<li><a href="cdc2fa1b9f"><code>cdc2fa1</code></a> Eliminate inferred bound on error type of value deserializer Debug impls</li>
<li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.119...v1.0.122">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1856
Reviewed By: passy
Differential Revision: D26047330
Pulled By: mweststrate
fbshipit-source-id: 4d919076204e74458c8a98a87a52ecbf11d7f09d
Summary:
Bumps [console-feed](https://github.com/samdenty99/console-feed) from 3.1.10 to 3.2.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/samdenty99/console-feed/commits">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1862
Reviewed By: passy
Differential Revision: D26047359
Pulled By: mweststrate
fbshipit-source-id: de6735949589ea7d319dd2f48f78d3d89bb4ab47
Summary:
Bumps [types/which](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/which) from 1.3.2 to 2.0.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/which">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1860
Reviewed By: passy
Differential Revision: D26047347
Pulled By: mweststrate
fbshipit-source-id: 7a9549468273f69112ca5986e1dedc65c5e43068
Summary:
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 7.1.0 to 7.2.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md">eslint-config-prettier's changelog</a>.</em></p>
<blockquote>
<h3>Version 7.2.0 (2021-01-18)</h3>
<ul>
<li>Added: [typescript-eslint/object-curly-spacing].</li>
<li>Added: [react/jsx-newline].</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="aca15b5860"><code>aca15b5</code></a> eslint-config-prettier v7.2.0</li>
<li><a href="5a0c4a9379"><code>5a0c4a9</code></a> Update npm packages and add new rules</li>
<li><a href="6b4625e165"><code>6b4625e</code></a> Bump node-notifier from 8.0.0 to 8.0.1 (<a href="https://github-redirect.dependabot.com/prettier/eslint-config-prettier/issues/170">https://github.com/facebook/flipper/issues/170</a>)</li>
<li>See full diff in <a href="https://github.com/prettier/eslint-config-prettier/compare/v7.1.0...v7.2.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1857
Reviewed By: passy
Differential Revision: D26047334
Pulled By: mweststrate
fbshipit-source-id: 286f12ca4c3c5585711e740c113001258ba18e25
Summary: This is useful when your emulator freezes.
Reviewed By: mweststrate
Differential Revision: D25998579
fbshipit-source-id: 236c16c3008f0e33d62e4c486b5a04383b1a59ba
Summary: Changelog: Submitting a bug report to Flipper itself no longer requires to have an app connected
Reviewed By: jknoxville
Differential Revision: D26046284
fbshipit-source-id: d86ba7668c4187629752a9c27d63209af61bda13
Summary: Button fills out by default in Ant design if used in a flex container. Dropdown.Button doesn't do so. With this change
Reviewed By: jknoxville
Differential Revision: D26045409
fbshipit-source-id: 593b767aa7e38a98c8887b426f36fe41cb41bfd3
Summary:
This removes the Non-Sandy UI from the Flipper codebase. It is a pretty rough scan for unused components, over time when converting more advanced components to Ant design probably even more code can be removed.
Partially used `npx ts-purge` to reveal never imported source files.
Changelog: It is no longer possible to opt out of the new Sandy UI
Reviewed By: jknoxville
Differential Revision: D25825282
fbshipit-source-id: 9041dbc7e03bce0760c9a0a34f1877851b5f06cf
Summary: Make it easier to identify which version a release was packed with.
Reviewed By: mweststrate
Differential Revision: D26019107
fbshipit-source-id: 69e85d0988f6ca1a10a9b540d1ebf2a7b28b8325