Commit Graph

1050 Commits

Author SHA1 Message Date
Pritesh Nandgaonkar
a8f749b2e8 Update the UX of the mobilebuild download
Summary:
Update the UX of the mobilebuild download. When one clicks download one can see the the installation in progress in the main screen. Once its downloaded, you can open the finder pointed to the folder of download.

I didn't write the test for InstallSection as I was not able to test it through react-testing library. Seems like the data gets added to the document little late and not instantly.

Next work:
- Search in sidebar
- Persist downloaded app data for a session
- Show download data in the form of progress bar.

Reviewed By: mweststrate

Differential Revision: D21709229

fbshipit-source-id: e67db68ff16155230becf86c913dc6b1ec9d482c
2020-05-28 11:24:57 -07:00
Michel Weststrate
828385e246 Enable babel transformer for emotion
Summary: This diff enables the babel transformer for emotion. It is supposed to be a bit faster, but the most interesting thing is that it will show component names inside the dom tree, which, at least for me, will be a huge performance booster is it will make it much easier to find out to which component style changes need to be applied

Reviewed By: nikoant

Differential Revision: D21722021

fbshipit-source-id: cab1278046b1aa7f8b875c016d43dfafdbaa0a2d
2020-05-28 10:14:05 -07:00
Michel Weststrate
54162d480c Enable react hooks linting
Summary:
Enabled linting rules that help to signal making errors with effect dependencies and such.

Fixed all errors, left any warnings generated by the hooks untouched

Reviewed By: nikoant

Differential Revision: D21721497

fbshipit-source-id: 9548453443fa7b663dc4d4289132f388c6697283
2020-05-28 10:14:05 -07:00
Pascal Hartig
9d88469063 Fix public version check (#1203)
Summary:
Relied too much on TSC and not enough on my brain.

![image](https://user-images.githubusercontent.com/9906/83158023-2f0ff880-a0fc-11ea-8f1b-bff89ec7934a.png)
Pull Request resolved: https://github.com/facebook/flipper/pull/1203

Test Plan:
![Screenshot 2020-05-28 15 51 49](https://user-images.githubusercontent.com/9906/83158051-38996080-a0fc-11ea-8e59-9bb6cd88d832.png)

Endpoint is getting hit on startup now for public builds.

Reviewed By: mweststrate

Differential Revision: D21764325

Pulled By: passy

fbshipit-source-id: 771c4e430717f4eae5eab36f279ca3eff9e9bcf7
2020-05-28 09:04:54 -07:00
Chaiwat Ekkaewnumchai
dec5045fca Fix Unwanted Highlight in ManagedTable
Summary: Previously, rows got highlighted after switching between data for `ManagedTable` even though `highlightableRows` was set to false. This diff forces the highlighting not to happen when the value is set to false

Reviewed By: mweststrate

Differential Revision: D21720266

fbshipit-source-id: 534944fe03ad1561bc2109468ae6c4c5f3fc947d
2020-05-26 05:50:12 -07:00
Timur Valiev
2283bbd313 vscode integration helper
Summary: VSCode integration helpers to call extensions

Reviewed By: passy

Differential Revision: D21641284

fbshipit-source-id: dd978520ea541dbd6a96b8398ce28744a0fc97ad
2020-05-26 05:03:05 -07:00
Michel Weststrate
0da766f27b Make sure inefficient or chatty plugins don't churn too much CPU
Summary:
While profiling the high CPU load of the Analytics plugin, I noticed that most of the time is spend in rendering React. This makes sense as the component sends data very frequently, although it is definitely less efficient than it could be.

As shown in the following profile picture, it is clear that all the cpu churns up due to the amounts of re-renderings caused (every new incoming messages causes the plugin to analyse and process all it's data).

With background plugins, we already made sure that non-active plugins don't eat up all the CPU in React components if they process data inefficiently. Before:

{F238020503}

This change debounces how often we give new state to plugins, so that multiple updates get collapsed if the load becomes to high. After (note that not every 'emit' causes in an expensive render anymore, but that the rendering is now in a separate stack, the only remaining renderer is the debouncer component). After:

{F238020481}

Render stack happens now after a bunch of emits:
{F238021694}

This drops ~130% cpu to 70% cpu in the case of the analytics plugin, see below

Reviewed By: passy

Differential Revision: D21690494

fbshipit-source-id: 299c49c95f20af01e6ee3110b0c39478b3135c43
2020-05-26 04:50:52 -07:00
Chaiwat Ekkaewnumchai
8d8ed5e2ed Add Unit Test to ToolbarIcon
Summary: per title

Reviewed By: mweststrate

Differential Revision: D21663253

fbshipit-source-id: de1eff5a3500473082973a27d0b72479407cbebe
2020-05-25 10:40:39 -07:00
generatedunixname89002005306973
b538cead7a Flipper Release: v0.44.0
Summary: Releasing version 0.44.0

Reviewed By: passy

Differential Revision: D21686080

fbshipit-source-id: 83a8d997e99361e3fcc4472d484d3759f73ed964
2020-05-21 11:31:56 -07:00
Chaiwat Ekkaewnumchai
27dd08e546 Add Tooltip to ToolbarIcon in Layout Plugin
Summary: Trying to add tooltip to some components to promote tooltip itself and make it clearer what they do

Reviewed By: mweststrate

Differential Revision: D21649207

fbshipit-source-id: 4763ae9a99d687e6624c07bb636c5f4e869cafc9
2020-05-21 07:56:46 -07:00
Chaiwat Ekkaewnumchai
b8a989214d Change Tooltip Position
Summary: Change some offset to make it point more direct to an element

Reviewed By: mweststrate

Differential Revision: D21649206

fbshipit-source-id: 64b4a3851e713baa6095d819a16cd207bebdf46f
2020-05-21 07:56:46 -07:00
Pascal Hartig
3723e08b50 Make message drops a warning
Reviewed By: jknoxville

Differential Revision: D21684530

fbshipit-source-id: f918c39562eaf6c5fd61af76e68d3e4cfe561a90
2020-05-21 04:24:06 -07:00
Michel Weststrate
ed2bcea906 Fix horizontal scrolling issue
Summary: Fixed a layout issue in the list items of GraphQL, background style / line didn't tend to continue when scrolling, because flexbox doesn't grow all lines similarly. Tables do.

Reviewed By: jonathoma

Differential Revision: D21662000

fbshipit-source-id: 767d2d7ffd7e5dacf2c49aa67babbb47a331282c
2020-05-21 03:36:35 -07:00
Michel Weststrate
cdd0026e83 fix issue where row backgrounds are not continued when scrolling horizontally
Summary:
We used flexbox to layout rows in the element inspector. The problem with that is that flexbox cannot nicely grow all its childrens to the largest one. Although we could still see contents thanks to the `overflow: visible` hack, this means that the backgrounds didn't continue when scrolling.

In contrast, tables do grow their children width :)

Also fixed an issue where the AX details tree wasn't scrollable

Reviewed By: cekkaewnumchai

Differential Revision: D21661766

fbshipit-source-id: 6b1d16c7aded8beebdd8a50f3e8ab0d9b8633e02
2020-05-21 03:36:35 -07:00
Michel Weststrate
b0ab9b9b98 Fix Height for Main Layout Inspector
Summary:
in Layout plugin, scrollbars where often not visible, for example to see the vertical scrollbar, one had to scroll to the horizontal end first.

Also introduced the `Scrollable` component to simplify this in the feature and separate the concepts of rendering something large and making it scrollable.

This diff cleans up the layout structure and fixes the problem

changelog: Fixed several minor layout issues in the Layout plugin

Reviewed By: cekkaewnumchai

Differential Revision: D21283157

fbshipit-source-id: 81849151475165796c65001616f038a9d6cbdfb2
2020-05-21 03:36:34 -07:00
Pritesh Nandgaonkar
22dfc33da0 Fetch recommended and all builds types in Sidebar
Summary:
This diff updates the sidebar to show the recommended and all build types.

Also there is error handling in place along with tests. Right now the download happens by opening browser and the build gets downloaded in the download folder. But later in the diffs I will improve this flow to do that in the Flipper with a UX showing status updates.

Reviewed By: mweststrate

Differential Revision: D21556383

fbshipit-source-id: 6de9a00fe416c22cae7bacf91828a2221644eac7
2020-05-20 08:14:25 -07:00
Chaiwat Ekkaewnumchai
a5cd79ea8b Export FileSelector
Summary: FileSelector was added in D19743998, but it was not exported to be used by other. This diff exports it so that developers can use.

Reviewed By: mweststrate

Differential Revision: D21653870

fbshipit-source-id: 062247fa7a14c7ddf87c927205880a695598928d
2020-05-20 06:58:37 -07:00
dependabot-preview[bot]
74ce4f1e5b Bump ts-jest from 25.4.0 to 26.0.0 in /desktop (#1172)
Summary:
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 25.4.0 to 26.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/kulshekhar/ts-jest/blob/master/CHANGELOG.md">ts-jest's changelog</a>.</em></p>
<blockquote>
<h1><a href="https://github.com/kulshekhar/ts-jest/compare/v25.5.1...v26.0.0">26.0.0</a> (2020-05-15)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> return <code>undefined</code> for <code>getScriptVersion</code> when a file doesn't exist in memory cache (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1641">#1641</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/6851b8e">6851b8e</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li>support Jest v26 (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1602">#1602</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/23b7741">23b7741</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Requires a minimum of TypeScript v3.8</li>
<li>Drop support for Node 8</li>
</ul>
<p><a name="25.5.1"></a></p>
<h2><a href="https://github.com/kulshekhar/ts-jest/compare/v25.5.0...v25.5.1">25.5.1</a> (2020-05-09)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> don't resolve files from build folder for <code>projectReferences</code> (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1614">#1614</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/74b92d3">74b92d3</a>)</li>
<li><strong>config:</strong> don't set <code>include</code> value of <code>tsconfig</code> to empty array (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1606">#1606</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/8a29aaa">8a29aaa</a>)</li>
</ul>
<p><a name="25.5.0"></a></p>
<h1><a href="https://github.com/kulshekhar/ts-jest/compare/v25.4.0...v25.5.0">25.5.0</a> (2020-05-05)</h1>
<h3>Bug Fixes</h3>
<ul>
<li><strong>compiler:</strong> make <code>projectReferences</code> work with <code>isolatedModules: false</code> (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1541">#1541</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/3e8efbe">3e8efbe</a>)</li>
<li><strong>compiler:</strong> allow using <code>files</code> provided by <code>tsconfig</code> (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1562">#1562</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/a9f02bd">a9f02bd</a>)</li>
<li><strong>config:</strong> verify <code>testMatchPatterns</code> contain RegExp instance or string type values (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1569">#1569</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/7f85bab">7f85bab</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>config:</strong> add <code>tsconfig</code> alias to <code>tsConfig</code> option (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1565">#1565</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/c10eb6d">c10eb6d</a>)</li>
<li><strong>config:</strong> define 'ts-jest' on <code>ConfigGlobals</code> interface of <code>jest/types</code> (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1592">#1592</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/4526392">4526392</a>)</li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li><strong>compiler:</strong> don’t write compile output to file system but rely on jest cache (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1561">#1561</a>) (<a href="https://github.com/kulshekhar/ts-jest/commit/d11a4ea">d11a4ea</a>)</li>
</ul>
</tr></table> ... (truncated)
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="bcf26974c4"><code>bcf2697</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1649">#1649</a> from kulshekhar/dependabot/npm_and_yarn/types/fs-ext...</li>
<li><a href="497f5c994f"><code>497f5c9</code></a> build(deps-dev): bump types/fs-extra from 8.1.0 to 9.0.0</li>
<li><a href="35001a2c7c"><code>35001a2</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1646">#1646</a> from ahnpnl/v26.0.0</li>
<li><a href="1db8be5ec4"><code>1db8be5</code></a> chore(release): 26.0.0</li>
<li><a href="47007f13ff"><code>47007f1</code></a> build(deps-dev): bump types/js-yaml from 3.12.3 to 3.12.4 (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1644">#1644</a>)</li>
<li><a href="9741de4c2a"><code>9741de4</code></a> build(deps-dev): bump types/cross-spawn from 6.0.1 to 6.0.2 (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1643">#1643</a>)</li>
<li><a href="6851b8eae8"><code>6851b8e</code></a> fix(compiler): return <code>undefined</code> for <code>getScriptVersion</code> when a file doesn't ...</li>
<li><a href="6b22e08833"><code>6b22e08</code></a> build(deps-dev): bump types/yargs from 15.0.4 to 15.0.5 (<a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1638">#1638</a>)</li>
<li><a href="b58064c4c7"><code>b58064c</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/kulshekhar/ts-jest/issues/1637">#1637</a> from kulshekhar/dependabot/npm_and_yarn/types/jest-2...</li>
<li><a href="5fc19c06ff"><code>5fc19c0</code></a> build(deps-dev): bump types/jest from 25.2.1 to 25.2.2</li>
<li>Additional commits viewable in <a href="https://github.com/kulshekhar/ts-jest/compare/v25.4.0...v26.0.0">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/~tsjest">tsjest</a>, a new releaser for ts-jest since your current version.</p>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=ts-jest&package-manager=npm_and_yarn&previous-version=25.4.0&new-version=26.0.0)](https://dependabot.com/compatibility-score/?dependency-name=ts-jest&package-manager=npm_and_yarn&previous-version=25.4.0&new-version=26.0.0)

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)

 ---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<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)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1172

Reviewed By: mweststrate

Differential Revision: D21625494

Pulled By: cekkaewnumchai

fbshipit-source-id: 21d7efa62672469024509ecd939fdf0636486053
2020-05-20 06:58:37 -07:00
dependabot-preview[bot]
717dc170b7 Bump react-color from 2.18.0 to 2.18.1 in /desktop (#1175)
Summary:
Bumps [react-color](https://github.com/casesandberg/react-color) from 2.18.0 to 2.18.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/casesandberg/react-color/releases">react-color's releases</a>.</em></p>
<blockquote>
<h2>v2.18.1</h2>
<h3>Patches</h3>
<ul>
<li>(BlockPicker): fixes blockpicker input not working: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/616">https://github.com/facebook/flipper/issues/616</a></li>
<li>Default chrome view picker: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/665">https://github.com/facebook/flipper/issues/665</a></li>
<li>Remove cWRP from ColorWrap: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/662">https://github.com/facebook/flipper/issues/662</a></li>
<li>Remove cWRP from ChromeFields: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/661">https://github.com/facebook/flipper/issues/661</a></li>
<li>Remove wWRP from EdibleInput: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/635">https://github.com/facebook/flipper/issues/635</a></li>
<li>Fixes Corners Jumping in Saturation Field: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/670">https://github.com/facebook/flipper/issues/670</a></li>
<li>[Example] With Portals: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/617">https://github.com/facebook/flipper/issues/617</a></li>
<li>Fix duplicated % symbols in Chrome Picker: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/704">https://github.com/facebook/flipper/issues/704</a></li>
<li>Passing children to Checkboard component: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/703">https://github.com/facebook/flipper/issues/703</a></li>
<li>Example with hooks: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/700">https://github.com/facebook/flipper/issues/700</a></li>
<li>Fix Duplicate Percentage in EdibleInput: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/708">https://github.com/facebook/flipper/issues/708</a></li>
<li>Fix EdibleInput from rejecting 0% and 1%: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/709">https://github.com/facebook/flipper/issues/709</a></li>
<li>Fix CirclePicker white pixel bug: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/710">https://github.com/facebook/flipper/issues/710</a></li>
<li>Remove isValidHex validation from Swatches: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/688">https://github.com/facebook/flipper/issues/688</a></li>
<li>Fix Color Source Bug on Saturation and Hue: <a href="https://github-redirect.dependabot.com/casesandberg/react-color/issues/671">https://github.com/facebook/flipper/issues/671</a></li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a href="https://github.com/erkkaha">erkkaha</a>, <a href="https://github.com/DarrenBangsund">DarrenBangsund</a>, <a href="https://github.com/mfix22">mfix22</a>, <a href="https://github.com/blimusiek">blimusiek</a>, <a href="https://github.com/pizza3">pizza3</a>, <a href="https://github.com/saikatbhattacharya">saikatbhattacharya</a>, and <a href="https://github.com/kriscarle">kriscarle</a> for helping!</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/casesandberg/react-color/commits/v2.18.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=react-color&package-manager=npm_and_yarn&previous-version=2.18.0&new-version=2.18.1)](https://dependabot.com/compatibility-score/?dependency-name=react-color&package-manager=npm_and_yarn&previous-version=2.18.0&new-version=2.18.1)

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)

 ---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<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)
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in the `.dependabot/config.yml` file in this repo:
- Update frequency
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1175

Reviewed By: mweststrate

Differential Revision: D21625532

Pulled By: cekkaewnumchai

fbshipit-source-id: 9d401583e0735c4622fa9bd571802f6fb9d1369d
2020-05-19 12:46:01 -07:00
Michel Weststrate
55b6b021f1 Fix QPL layout regeression
Summary:
Fixed the layout usage in QPL, the `horizontal` was correct, but the elements where swapped (the table was supposed to take all remaining size, and sidebar it's needed space, rather than the reverse).

Made this more explicit in the Layout component, by splitting it up in `Layout.(Top|Left|Right|Bottom)`, so that one has to make an explicit choice here, making it less error prone.

Reviewed By: passy

Differential Revision: D21572438

fbshipit-source-id: 29aa3462a3c96d048825be3157730e26182cb2fa
2020-05-19 11:51:21 -07:00
Chaiwat Ekkaewnumchai
11b233b516 Allow Long Text to Be Shown in The Sidebar
Summary:
This allows long text to be seen on the sidebar in database plugin. Also, remove weird padding in the sidebar and separate sidebar component to a new file

Refactoring is in the next diff

Reviewed By: mweststrate

Differential Revision: D21550672

fbshipit-source-id: 3e80be16783719e18392fe3d8f8068caf9283f8f
2020-05-19 09:12:56 -07:00
generatedunixname89002005306973
4e618198cb Flipper Release: v0.43.0
Summary: Releasing version 0.43.0

Reviewed By: cekkaewnumchai

Differential Revision: D21639652

fbshipit-source-id: 5a775f6361283b2e9b2540b054afad497dab2a22
2020-05-19 08:00:52 -07:00
Chaiwat Ekkaewnumchai
8fa03789d1 Add Coverage Test for MultipleSelectorSection
Summary:
To comply with recent agreement, coverage test for MultipleSelectorSection is added.

Also, add undefined check in `elements.tsx` found while adding the test

Reviewed By: mweststrate

Differential Revision: D21554782

fbshipit-source-id: 7cd868bf16f6105d6f523048f29bdaa052837f45
2020-05-15 12:49:28 -07:00
Pascal Hartig
a65b6025c1 Report failures on snapshot taking
Summary: Suggested in D21571294.

Reviewed By: jknoxville

Differential Revision: D21594146

fbshipit-source-id: 1dcc310343788aecced724282d74e0cf08688220
2020-05-15 07:09:53 -07:00
Rick Hanlon
e23acc6f04 Switch flipper-out-of-contents-container to absolute position
Summary:
This diff updated the `flipper-out-of-contents` container to render with absolute position, which allows it to cover up all of the content in the plugin. This fixes an issue where content that exists in the plugin can be broken.

For example, the banner in the next diff would look like this:

{F237034745}

Reviewed By: mweststrate

Differential Revision: D21556849

fbshipit-source-id: 95ec4aac24ac995bd1c558123ef5da6087a40d0a
2020-05-15 05:19:01 -07:00
Pascal Hartig
d6844faebb Restore open behavior on screenshot capture
Summary: The effect of opening the screenshot after capturing was removed in D19765926.

Reviewed By: mweststrate

Differential Revision: D21571294

fbshipit-source-id: f3308d80e066cc01786c17323e4ff5f97c092de9
2020-05-15 04:54:24 -07:00
Pascal Hartig
7492e781d3 Change LowPassFilter invariant use
Summary:
Ugh, lockdown brain. This was supposed to be included in the test I added before
to get to 100% coverage. Well, it's here now.

Reviewed By: mweststrate

Differential Revision: D21550904

fbshipit-source-id: 044a11d38e211c6f57cce220adc8c42241a2043a
2020-05-15 04:43:56 -07:00
Pascal Hartig
c54028981f Fix tmp usage in crash reporter setup
Summary:
This happened during startup:
{F237135281}

From `tmp` docs:

> IMPORTANT NOTE: template no longer accepts a path. Use the dir option instead if you require tmp to create your temporary filesystem object in a different place than the default tmp.tmpdir.

Reviewed By: mweststrate

Differential Revision: D21570416

fbshipit-source-id: 170886d0fda5e21cb23fe836fcde33eb457a4c1b
2020-05-15 04:40:57 -07:00
dependabot-preview[bot]
50666e9296 Bump promisify-child-process from 3.1.4 to 4.1.0 in /desktop (#1155)
Summary:
Quite keen on this as it removes a babel runtime dependency.

Pull Request resolved: https://github.com/facebook/flipper/pull/1155

Reviewed By: nikoant

Differential Revision: D21522869

Pulled By: passy

fbshipit-source-id: 66e272e1b6a6eb78a51038f20a1717ba0196ec2c
2020-05-13 10:22:02 -07:00
Pascal Hartig
5fe3e9a44a Add test for LowPassFilter
Summary: Eating my own dogfood.

Reviewed By: mweststrate

Differential Revision: D21545655

fbshipit-source-id: 1e2690478ad8a986915a98a8275a168fa4c3a23f
2020-05-13 07:48:37 -07:00
Pritesh Nandgaonkar
dcaff4babc @allow-large-files Upgrade typescript
Summary: This diff updates the typescript version and it fixes `yarn lint:tsc`. It also successfully pointed out fes of the problems in our codebase. I have fixed those problems

Reviewed By: mweststrate

Differential Revision: D21548003

fbshipit-source-id: e69c986ee3c763588d9e1e290dad08d1cf1976a8
2020-05-13 06:57:28 -07:00
generatedunixname89002005306973
9bead5e05c Flipper Release: v0.42.0
Summary: Releasing version 0.42.0

Reviewed By: passy

Differential Revision: D21520625

fbshipit-source-id: 9f3ce5739a0856de84b18df3c640e5218fd3182e
2020-05-13 02:16:13 -07:00
dependabot-preview[bot]
258b0314f5 Bump tmp from 0.2.0 to 0.2.1 in /desktop (#1127)
Summary:
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.0 to 0.2.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md">tmp's changelog</a>.</em></p>
<blockquote>
<h2>v0.2.1 (2020-04-28)</h2>
<h4>🚀 Enhancement</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/raszi/node-tmp/pull/252">https://github.com/facebook/flipper/issues/252</a> Closes <a href="https://github-redirect.dependabot.com/raszi/node-tmp/issues/250">https://github.com/facebook/flipper/issues/250</a>: introduce tmpdir option for overriding the system tmp dir (<a href="https://github.com/silkentrance">silkentrance</a>)</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><a href="https://github-redirect.dependabot.com/raszi/node-tmp/pull/253">https://github.com/facebook/flipper/issues/253</a> Closes <a href="https://github-redirect.dependabot.com/raszi/node-tmp/issues/191">https://github.com/facebook/flipper/issues/191</a>: generate changelog from pull requests using lerna-changelog (<a href="https://github.com/silkentrance">silkentrance</a>)</li>
</ul>
<h4>Committers: 1</h4>
<ul>
<li>Carsten Klein (<a href="https://github.com/silkentrance">silkentrance</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/raszi/node-tmp/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://api.dependabot.com/badges/compatibility_score?dependency-name=tmp&package-manager=npm_and_yarn&previous-version=0.2.0&new-version=0.2.1)](https://dependabot.com/compatibility-score/?dependency-name=tmp&package-manager=npm_and_yarn&previous-version=0.2.0&new-version=0.2.1)

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)

 ---

**Note:** This repo was added to Dependabot recently, so you'll receive a maximum of 5 PRs for your first few update runs. Once an update run creates fewer than 5 PRs we'll remove that limit.

You can always request more updates by clicking `Bump now` in your [Dependabot dashboard](https://app.dependabot.com).

<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)
- `dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
- `dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme

Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com):
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)

</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1127

Reviewed By: nikoant

Differential Revision: D21475580

Pulled By: passy

fbshipit-source-id: 5ddd73368b4178cd7a4b431e1661f9509f080635
2020-05-12 05:17:02 -07:00
Timur Valiev
596e11a463 searchable data inspector
Summary: Naive implementation of searchable data inspector: matching of search term agains first level keys of data

Reviewed By: cgrushko

Differential Revision: D21510073

fbshipit-source-id: 2010e584248a64fb3351c95a5646b1935445a13b
2020-05-12 01:04:47 -07:00
Pascal Hartig
3ddfdcbff1 Remove unused supportRequestFormUtils
Summary: This was for V1 (D16990925) and is no longer referenced anywhere.

Reviewed By: nikoant

Differential Revision: D21501270

fbshipit-source-id: fef30f38c917afcd3d4150a0165cd0a59ad42b6a
2020-05-11 09:13:05 -07:00
borisdamato
d5cb0e907f Fix pencil icon visible for non-editable fields (#1002)
Summary:
DataDescriptor currently shows a pencil icon next to text values starting with http/https. This is because otherwise it wouldn't be possible to edit them as a click would open the link in a web browser instead of triggering the edit mode.
Because of how this logic is implemented, it doesn't take into account whether editmode is enabled or not, thus it shows the pencil icon even when there's no need for it (custom plugins with no edit mode).

## Changelog

Fixed pencil icon visible in DataInspector for non-editable text fields
Pull Request resolved: https://github.com/facebook/flipper/pull/1002

Test Plan:
I tested this locally with LayoutInspector and my own custom plugin. The pencil still appears and works in the LayoutInspector but doesn't show up anymore in my custom plugin as the data there is not editable

## Result after the fix:
**Editable (LayoutInspector)**
![image](https://user-images.githubusercontent.com/1525460/79031299-c1345f80-7b95-11ea-8807-247794554524.png)

**Non-Editable (Custom Plugin)**
![image](https://user-images.githubusercontent.com/1525460/79031336-f771df00-7b95-11ea-8608-936495153fc2.png)

Reviewed By: passy

Differential Revision: D21400359

Pulled By: mweststrate

fbshipit-source-id: 62b18f3f6c75c1b07440d51fca363d7e6fc60c6a
2020-05-11 09:13:04 -07:00
Scott Kyle
c7ff6f6266 Improve props for ToolbarIcon
Summary: This allows props like `style` to be passed through (so it can be further styled), and makes `active` optional.

Reviewed By: jknoxville

Differential Revision: D21438791

fbshipit-source-id: bbab4a7768fce5de56e4deff67e50ff69914d123
2020-05-07 11:14:00 -07:00
John Knox
9534cafb17 Fix type of params in client.send and client.call
Summary:
Fixes https://github.com/facebook/flipper/issues/1142

When using `client.call(methodName, params)`, params has to be an object, not, for example a string.

It may work on some client implementations, e.g. iOS, but this is a coincidence and not to be relied on. If this gives you new type errors, the plugin should continue to run in the short term but has no guarantees, please adapt it to conform. You can do this by preserving backwards compatibility by doing a typecheck in your client plugin if necessary.

CHANGELOG: Calling `client.call()` or `client.send()` now fails to type-check if params is not an object, to match client implementations.

Reviewed By: nikoant

Differential Revision: D21450694

fbshipit-source-id: 53db49f874838769e39a94b1c4bd4c0b30ecdbc7
2020-05-07 10:19:38 -07:00
Chaiwat Ekkaewnumchai
5ccc392135 Temporary Fix When Element Is Null
Summary:
a bug found while trying to use multiple selector on Wilde. The data returned from specific call is not in the form that we expect. This caused an exception on layout plugin when using the selector

Specifically in WIlde, when we try to get data from node by calling client side to return it, sometimes the node has been invalidated or not saved. Hence, data returned are null or undefined. However, in previous implementation, this didn't take into consideration because we assumed that we always got correct data from client.

Reviewed By: mweststrate

Differential Revision: D21410989

fbshipit-source-id: 5135578606678973b504c9be897cb48fca547555
2020-05-07 06:18:38 -07:00
João Vieira
64deaee5a7 Normalize export to fle and share link behaviour.
Summary:
Both export methods behaved slightly differently:
* Export to file returned earlier when running in background, which skiped the tracking of export termination;
* Share link always showed notification, even when on foreground;
* Share link status "hanged" - the share was never unset.

This change makes both consistent:
* Always track export finish - whether its in foreground or background;
* Only show notificaiton if running in background;
* Always reset the share/status.

On top of this it also:
* Normalizes the screenshot status to terminate in '...' as all the others;
* Only copies export URL to clipboard when exporting link if running in the background.

Reviewed By: passy

Differential Revision: D21425095

fbshipit-source-id: 9864a63269df6bd05ab065ff0e5d9f17b9ac6db6
2020-05-07 04:05:27 -07:00
João Vieira
a2d7297bbb Rename Flipper trace to Flipper export.
Summary: Rename visual references from Flipper trace to Flipper export.

Reviewed By: passy

Differential Revision: D21408566

fbshipit-source-id: 1021fec095f2f2f3e5394e7ea2f7d49fee186050
2020-05-07 04:05:27 -07:00
John Knox
77ca337011 Fix Searchable token capitalization bug
Summary:
There's an issue with the Searchable component, where the keys in manually typed filters (key=value) are case sensitive, but you would never know that because even after creating a filter by clicking on a cell, the new one looks capitalized "Tag=..." where really it is "tag=...".

This changes the blue filter tokens to show what you would have to type to recreate it.

I haven't made the key case insensitive because there may be some capitalized uses of it out in the world and that would break them.
Also, it would be nice, as the capitalized key tends to be equal to the column name you see in the header, but that column name can actually be anything, so that could be a bit misleading.

Context: https://fb.workplace.com/groups/flippersupport/permalink/869112616902731/

Reviewed By: mweststrate

Differential Revision: D21448087

fbshipit-source-id: 8b28e3b890f024bbad03ffd0809e9e1e888075f0
2020-05-07 04:02:33 -07:00
Michel Weststrate
7ba94248ae Performance optimizations
Summary:
This diff removes a bunch of performance bottlenecks of `DataInspector`, mostly by making sure that non new data structures are send to children during rendering. For example, before this diff, fields like `expanded`, `ancestry` and `path` would always be freshly constructed, resulting in new data structures send down, causing the full json tree to always re-render.

By migrating to hooks this became a lot easy to manage.

Also fixed some other minor component reuse issues

Fixed rendering of recursive trees which was broken in the past, and added regression test

Fixed issue with uppercase search string causing unnecessary re-filtering

Make sure changing expand / collapse resets the filter

Reviewed By: passy

Differential Revision: D21381647

fbshipit-source-id: 72834e15088432f55b4b9c88f182ffc9908d4e49
2020-05-07 03:53:49 -07:00
Chaiwat Ekkaewnumchai
83a2203751 (server) Multiple Selector on Layout Inspector
Summary:
This diff adds multiple selector UI on layout plugin, which shows up when there are more than one component at a touch.

This UI allows user to do similar thing to element inspector. Expanding functionality on main component will be added in next diffs.

Reviewed By: mweststrate

Differential Revision: D21214899

fbshipit-source-id: 5c9cae93122cc4f7c326ccd0878d2b9dddebf62b
2020-05-07 03:41:00 -07:00
Chaiwat Ekkaewnumchai
9962b1c687 Calculate Roots And Seeds If Root Is Not Given
Summary:
The component will show nothing if root element if not provided. In my case, I just want to reuse it without root specified due to elements are separated

## Explanation for seed and root
`flatElements` is the representation of component tree expressed in an array form. It is derived from an object `props.elements` where id (key) is corresponding to its information about a component (value). This includes children ids of a component. `flatElements` allows visual indentation to be easily done at render process; we can use level directly as the number of spaces we need to make.

`FlatElements` can be evaluated to tree by:
- the lowest number is the root of a tree (in this case, it is 1)
- a node with `i+1` level is a child of a closest previous node with level `i`

`seed` is the function trying to derive elements in object form to array form. First, it is given that there is one id to be a root node.

However, This component will not be rendered if a root node id is not given, while a root node id can be null or undefined, which doesn't make sense to me. In addition, if I want to reuse this component, this component should render without root node id given. That's the reason why there's this diff.

The implementation is as followed:
1. Set every node to be root (level 1)
2. Iterate through elements
 2.1. Remove nodes that are children of elements because they cannot be roots

Assumed that there is no cycle, in the end we get all root nodes. Then, we do `seed` for all root nodes to get all trees in `FlatElements` structure

Even though to cover my feature the removal of ids are not needed because we know that all elements will be roots of themselves, I want to cover the case that a user wants tree-like (or forest-like) hierarchy view without given root id.

(Disclaimer: this is written from what I have observed while investigating this. I am not a person who have initially designed this, so apologize in advance in this is not correct)

Reviewed By: mweststrate

Differential Revision: D21214897

fbshipit-source-id: 7657d0ea8607e07e97be968ef927f17c2bc8990e
2020-05-07 03:40:59 -07:00
greenkeeper[bot]
ca3be97393 Update uuid in group static to the latest version � (#1079)
Summary:
***
� **Important announcement:** Greenkeeper will be saying goodbye � and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The dependency [uuid](https://github.com/uuidjs/uuid) was updated from `7.0.3` to `8.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

 ---

**Publisher:** [ctavan](https://www.npmjs.com/~ctavan)
**License:** MIT

[Find out more about this release](https://github.com/uuidjs/uuid).

 ---

<details>
  <summary>FAQ and help</summary>

  There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>

 ---

Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/1079

Reviewed By: passy

Differential Revision: D21324797

Pulled By: nikoant

fbshipit-source-id: aa1883120472229827021cbbd121a9a40a30002d
2020-05-06 08:23:51 -07:00
John Knox
171b049a81 Fix Panel overflow
Summary: Panels need to let their content overflow, for example the color picker.

Reviewed By: priteshrnandgaonkar

Differential Revision: D21404621

fbshipit-source-id: 70498e335c9fcb3767aaef2bbd2ce22324adc8e5
2020-05-05 09:29:22 -07:00
generatedunixname89002005306973
96d5949c19 Flipper Release: v0.41.0
Summary: Releasing version 0.41.0

Reviewed By: jknoxville

Differential Revision: D21402376

fbshipit-source-id: c2b5194afbb8f086097eb1c6fb337b950b4dffe7
2020-05-05 08:31:29 -07:00
Michel Weststrate
acc0e7c2e0 Preserve manual selection after filtering
Summary:
Before this diff filtering and manual expanding / collapsing could not be combined, this diff fixes that
{F236120000}

Reviewed By: jonathoma

Differential Revision: D21381515

fbshipit-source-id: b0662fcbad3b0dfcb0bfe846e3c05a3a78294dde
2020-05-05 07:58:27 -07:00
Pascal Hartig
13a8c4c7e6 Clean up datainspector test (#1101)
Summary:
Remove some unnecessary `await`s. Requires https://github.com/facebook/flipper/issues/1100.
Pull Request resolved: https://github.com/facebook/flipper/pull/1101

Test Plan: yarn test

Reviewed By: mweststrate

Differential Revision: D21401237

Pulled By: passy

fbshipit-source-id: 09d68964e8519612d643b83ea61d1cd231b7d169
2020-05-05 06:58:40 -07:00