Commit Graph

730 Commits

Author SHA1 Message Date
Michel Weststrate
49c4e2f56d Remove Interaction tracker
Reviewed By: passy

Differential Revision: D27619537

fbshipit-source-id: 970a1661e2b4cafe5fb6a79082d04aa1f9644439
2021-04-07 07:55:13 -07:00
Michel Weststrate
53c557f923 Move DataInspector to flipper-plugin
Summary:
This diff moves the rest of the DataInspector jungle to flipper-plugin. No actual improvements are made yet, but the code is decoupled from Electron and the legacy theming. For example by using Antd based context menus.

Note that `ManagedDataInspector` is now rebranded `DataInspector`, as that is the only variation that should (and is) used publicly.

For the interactionTracker removal, see next diff.

SearchableDataInspector will be addressed in a next diff

Reviewed By: passy

Differential Revision: D27603125

fbshipit-source-id: 188bd000260e4e4704202ce02c7fc98319f0bc22
2021-04-07 07:55:13 -07:00
Michel Weststrate
9030a98c6e Move DataDescription utility to flipper-plugin
Summary:
Another utility component used by DataInspector.

Colors have been hardcoded for now, to decouple from the classic Flipper color palette. Will organize this better later in this stack, and when addressing / adding support for dark mode.

Buttons, checkboxes, selects have been replaced by Antd's counterpart.

Unlike ManagedDataTable, the DataInspector is primarily moved rather than copied & adapted, as the underlying abstraction / API won't change significantly. So the changes here will immediately affect all plugins in Flipper using this component.

Reviewed By: passy

Differential Revision: D27603126

fbshipit-source-id: bacd48c9af2b591033e7f2352627f11acb4df589
2021-04-07 07:55:13 -07:00
Michel Weststrate
b6674bf96b Move highlighter to flipper-plugin
Summary: This stack moves the DataInspector component to flipper-plugin. The first diffs will move some utility abstractions to turn this into smaller steps

Reviewed By: passy

Differential Revision: D27591890

fbshipit-source-id: d0285ca31b6c9b334000dd15c722b9bda7638d73
2021-04-07 07:55:12 -07:00
Michel Weststrate
07c4470ab9 Stricter types for DataDescription
Summary: Made datatypes used by DataInspector more strictly typed (in the hope to be able to drop some, but all are still in use, although the distinction between different elements isn't always clear).

Reviewed By: passy

Differential Revision: D27266825

fbshipit-source-id: 6a1c74b0ae3daff6299ca598b18a205d17c42e22
2021-04-07 07:55:12 -07:00
Anton Nikolaev
eabf0fc340 Fix native window objects leak after refreshes
Summary:
It looks like electron creates new native window object after each window refresh, but we hold previous objects because of listeners attached to them. In dev mode, Electron signalises about that in console log each time when window is focused / blured after refresh:
```
Attempting to call a function in a renderer window that has been closed or released.
Function provided here: init-fast-refresh.bundle?platform=web&dev=true&minify=false:800356:19
```

Reviewed By: passy

Differential Revision: D27619305

fbshipit-source-id: 51d1590903a37dba721fb7a711fdebb9f0034b98
2021-04-07 05:52:27 -07:00
Mykyta Sikriier
c9b6f6c7d9 ANDROID_SDK_ROOT support (#2106)
Summary:
According to Google, ANDROID_HOME is deprecated.
This means, that having only ANDROID_SDK_ROOT as environment variable leading to Android SDK is enough.
Flipper supports only ANDROID_HOME, so I would like to add ANDROID_SDK_ROOT support.
However, there is a set of rules of ANDROID_HOME and ANDROID_SDK_ROOT priority.
Everything is mentioned on a this page: https://developer.android.com/studio/command-line/variables

## Changelog
Added ANDROID_SDK_ROOT environment variable support

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

Test Plan: Probably I would need a help with this

Reviewed By: mweststrate

Differential Revision: D27505024

Pulled By: passy

fbshipit-source-id: 8bdc66a9652c673fd44944d87af1efc9e93d0f1b
2021-04-07 03:19:34 -07:00
dependabot[bot]
9ce16354f6 Bump rsocket-types from 0.0.16 to 0.0.25 in /desktop (#2159)
Summary:
Bumps [rsocket-types](https://github.com/rsocket/rsocket-js) from 0.0.16 to 0.0.25.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a85a4db041"><code>a85a4db</code></a> v0.0.25</li>
<li><a href="b279d67569"><code>b279d67</code></a> ammend versions</li>
<li><a href="1e15f3c975"><code>1e15f3c</code></a> v0.0.24</li>
<li><a href="a4b7a93dc0"><code>a4b7a93</code></a> provides a temporary fix for <a href="https://github-redirect.dependabot.com/rsocket/rsocket-js/issues/110">https://github.com/facebook/flipper/issues/110</a></li>
<li><a href="c271a37128"><code>c271a37</code></a> exports missing TlsClient</li>
<li><a href="844b10b35b"><code>844b10b</code></a> updates docs</li>
<li><a href="39a86dfa5f"><code>39a86df</code></a> updates docs</li>
<li><a href="97e1e9f922"><code>97e1e9f</code></a> updates versions</li>
<li><a href="90e70580d1"><code>90e7058</code></a> fixes RSocketMachine leak on the server-side (<a href="https://github-redirect.dependabot.com/rsocket/rsocket-js/issues/120">https://github.com/facebook/flipper/issues/120</a>)</li>
<li><a href="f665cd1038"><code>f665cd1</code></a> adds METADATA_PUSH support (<a href="https://github-redirect.dependabot.com/rsocket/rsocket-js/issues/119">https://github.com/facebook/flipper/issues/119</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rsocket/rsocket-js/compare/v0.0.16...v0.0.25">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-types since your current version.</p>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rsocket-types&package-manager=npm_and_yarn&previous-version=0.0.16&new-version=0.0.25)](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/2159

Reviewed By: nikoant

Differential Revision: D27589269

Pulled By: mweststrate

fbshipit-source-id: 11b728374a2ab39faf7cbaba9f27dfeb23ef9a5e
2021-04-06 06:30:35 -07:00
dependabot[bot]
c26963de41 Bump query-string from 6.13.5 to 7.0.0 in /desktop (#2160)
Summary:
Bumps [query-string](https://github.com/sindresorhus/query-string) from 6.13.5 to 7.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/sindresorhus/query-string/releases">query-string's releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h3>Breaking</h3>
<ul>
<li>Implement skips for stringify array format comma (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/304">https://github.com/facebook/flipper/issues/304</a>)  828f032
<ul>
<li>This is a breaking change to the default functionality of <code>.stringify()</code> for <code>comma</code> and <code>separator</code> array modes given that <code>skipNull</code> and <code>skipEmptyString</code> are default false but the original functionality of <code>.stringify()</code> for these 2 modes behaved as though <code>skipNull</code> and <code>skipEmptyString</code> were true.</li>
</ul>
</li>
</ul>
<h3>Improvements</h3>
<ul>
<li>Add support for <code>arrayFormat: &amp;[https://github.com/facebook/flipper/issues/39](https://github.com/sindresorhus/query-string/issues/39);bracket-separator&amp;[https://github.com/facebook/flipper/issues/39](https://github.com/sindresorhus/query-string/issues/39);</code> (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/276">https://github.com/facebook/flipper/issues/276</a>)  b10bc19</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.14.1...v7.0.0">https://github.com/sindresorhus/query-string/compare/v6.14.1...v7.0.0</a></p>
<h2>v6.14.1</h2>
<ul>
<li>Fix TypeScript type for <code>stringifyUrl()</code>  a6d4a3f</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.14.0...v6.14.1">https://github.com/sindresorhus/query-string/compare/v6.14.0...v6.14.1</a></p>
<h2>v6.14.0</h2>
<ul>
<li>Add <a href="https://github.com/sindresorhus/query-string#pickurl-keys-options"><code>.pick()</code></a> and <a href="https://github.com/sindresorhus/query-string#excludeurl-keys-options"><code>.exclude()</code></a> (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/282">https://github.com/facebook/flipper/issues/282</a>)  6ed5cb3</li>
<li>Ignore ending ampersand when parsing (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/306">#306</a>)  667c9e9</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.13.8...v6.14.0">https://github.com/sindresorhus/query-string/compare/v6.13.8...v6.14.0</a></p>
<h2>v6.13.8</h2>
<ul>
<li>Work around TypeScript bug  94ebcd4</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.13.7...v6.13.8">https://github.com/sindresorhus/query-string/compare/v6.13.7...v6.13.8</a></p>
<h2>v6.13.7</h2>
<ul>
<li>Allow readonly <code>Stringifiable[]</code> in <code>StringifiableRecord</code> (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/291">https://github.com/facebook/flipper/issues/291</a>)  71d84b7</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.13.6...v6.13.7">https://github.com/sindresorhus/query-string/compare/v6.13.6...v6.13.7</a></p>
<h2>v6.13.6</h2>
<ul>
<li>When only receiving values with encoded array value, decode values (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/287">https://github.com/facebook/flipper/issues/287</a>)  b38f06c</li>
</ul>
<p><a href="https://github.com/sindresorhus/query-string/compare/v6.13.5...v6.13.6">https://github.com/sindresorhus/query-string/compare/v6.13.5...v6.13.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2099277275"><code>2099277</code></a> 7.0.0</li>
<li><a href="b10bc19699"><code>b10bc19</code></a> Add support for <code>arrayFormat: 'bracket-separator'</code> (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/276">https://github.com/facebook/flipper/issues/276</a>)</li>
<li><a href="828f032306"><code>828f032</code></a> Implement skips for stringify array format comma (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/304">https://github.com/facebook/flipper/issues/304</a>)</li>
<li><a href="44abc66628"><code>44abc66</code></a> Meta tweaks</li>
<li><a href="0090a34182"><code>0090a34</code></a> 6.14.1</li>
<li><a href="a6d4a3f480"><code>a6d4a3f</code></a> Fix TypeScript type for <code>stringifyUrl()</code></li>
<li><a href="2a178815cf"><code>2a17881</code></a> 6.14.0</li>
<li><a href="6ed5cb3d36"><code>6ed5cb3</code></a> Add <code>.pick()</code> and <code>.exclude()</code> (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/282">https://github.com/facebook/flipper/issues/282</a>)</li>
<li><a href="667c9e9d29"><code>667c9e9</code></a> Ignore ending ampersand when parsing (<a href="https://github-redirect.dependabot.com/sindresorhus/query-string/issues/306">#306</a>)</li>
<li><a href="39aef91646"><code>39aef91</code></a> Update a link</li>
<li>Additional commits viewable in <a href="https://github.com/sindresorhus/query-string/compare/v6.13.5...v7.0.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=query-string&package-manager=npm_and_yarn&previous-version=6.13.5&new-version=7.0.0)](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/2160

Reviewed By: nikoant

Differential Revision: D27589266

Pulled By: mweststrate

fbshipit-source-id: efc5be91d19b8555a50b2bbb414ded6da10751b4
2021-04-06 06:30:34 -07:00
Michel Weststrate
7a45941973 Fixed null pointer handling in login / QPL flow
Summary: Found an NPE during testing a prod build that I encountered a few times before, which occurs when the user isn't logged in. Maked types stricter and this probably fixes an old bug where login status icon could be out of sync as well.

Reviewed By: nikoant

Differential Revision: D27589740

fbshipit-source-id: 419aaca77a997e01e8d9b0067e604a8dad019551
2021-04-06 04:37:12 -07:00
Michel Weststrate
220ebbc601 Make autoScrolling explicit
Summary:
Changelog: Added an explicit autoscroll indicator in logs and fixed snapping

We got several reports that auto scrolling was to aggressive, so revisited the implementation and the new one is a lot more reliable. Also added an explicit indicator / button to toggle tailing.

Exposed ant's active color as well in our theme, as it gives better contrast on the buttons than Flipper purple.

Reviewed By: passy

Differential Revision: D27397506

fbshipit-source-id: 5e82939de4b2f8b89380bd55009e3fa2a7c10ec9
2021-03-31 03:44:34 -07:00
Mathis Gardon
f25d189aa5 Support custom metro ports (#2050)
Summary:
Based on issue https://github.com/facebook/flipper/issues/1509 I needed a custom port for the metro server to pass to flipper.

## Changelog

introduce `METRO_SERVER_PORT` env variable to be able to customize default 8081 port on startup.

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

Test Plan:
Tested with a locally built linux desktop app, this seems to work OK pour hermes debugging & RN logging.

React DevTools don't seem to find the running app, maybe there's a mapping to handle there too ?

Reviewed By: jknoxville

Differential Revision: D27339006

Pulled By: passy

fbshipit-source-id: b1700c4fe73f14bf4617e23583b2954012e0a5aa
2021-03-31 03:30:14 -07:00
Michel Weststrate
238374f4db Fix uncaught exception in adb logging
Summary:
Found some random unhandled rejection. Added error catching / logging to adb logcat setup.
{F558587842}

Reviewed By: passy

Differential Revision: D27429914

fbshipit-source-id: faca682819a2f1a3f924ee176cc9f8c9f92f5ae9
2021-03-31 01:40:16 -07:00
dependabot[bot]
d31847be1e Bump open from 7.4.2 to 8.0.4 in /desktop (#2128)
Summary:
Bumps [open](https://github.com/sindresorhus/open) from 7.4.2 to 8.0.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/sindresorhus/open/releases">open's releases</a>.</em></p>
<blockquote>
<h2>v8.0.4</h2>
<ul>
<li>Fix the <code>app.argument</code> option (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/237">https://github.com/facebook/flipper/issues/237</a>)  e127ae8</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v8.0.3...v8.0.4">https://github.com/sindresorhus/open/compare/v8.0.3...v8.0.4</a></p>
<h2>v8.0.3</h2>
<ul>
<li>Hide PowerShell window on Windows (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/235">https://github.com/facebook/flipper/issues/235</a>)  53faf7f</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v8.0.2...v8.0.3">https://github.com/sindresorhus/open/compare/v8.0.2...v8.0.3</a></p>
<h2>v8.0.2</h2>
<ul>
<li>Fix a regression in v8.0.0 (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/232">https://github.com/facebook/flipper/issues/232</a>)  26ee3d2</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v8.0.1...v8.0.2">https://github.com/sindresorhus/open/compare/v8.0.1...v8.0.2</a></p>
<h2>v8.0.1</h2>
<ul>
<li>Fix Node.js 12 compatibility (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/229">https://github.com/facebook/flipper/issues/229</a>)  71777b1</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v8.0.0...v8.0.1">https://github.com/sindresorhus/open/compare/v8.0.0...v8.0.1</a></p>
<h2>v8.0.0</h2>
<h3>Breaking</h3>
<ul>
<li>Require Node.js 12  cde5c79</li>
<li>Removed deprecated <code>url</code> option</li>
<li>The <code>app</code> option now accepts an object instead of a string/array:</li>
</ul>
<pre lang="diff"><code> await open('https://sindresorhus.com', {
-	app: 'firefox'
+	app: {name: 'firefox'}
 });
</code></pre>
<pre lang="diff"><code> await open('https://sindresorhus.com', {
-	app: ['chrome', '--incognito']
+	app: {name: 'google chrome', arguments: '--incognito'}
 });
</code></pre>
<h3>Improvements</h3>
<ul>
<li>Add <a href="https://github.com/sindresorhus/open#openapps"><code>open.apps</code></a> constants, which lets easily open Chrome and Firefox without cross-platform issues</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v7.4.2...v8.0.0">https://github.com/sindresorhus/open/compare/v7.4.2...v8.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8881dab330"><code>8881dab</code></a> 8.0.4</li>
<li><a href="e127ae8518"><code>e127ae8</code></a> Fix the <code>app.argument</code> option (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/237">https://github.com/facebook/flipper/issues/237</a>)</li>
<li><a href="14daa34927"><code>14daa34</code></a> 8.0.3</li>
<li><a href="53faf7f459"><code>53faf7f</code></a> Hide PowerShell window on Windows (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/235">https://github.com/facebook/flipper/issues/235</a>)</li>
<li><a href="b7a5729ff0"><code>b7a5729</code></a> 8.0.2</li>
<li><a href="26ee3d20cb"><code>26ee3d2</code></a> Memoize getting <code>mountPoint</code> (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/232">https://github.com/facebook/flipper/issues/232</a>)</li>
<li><a href="bc83b32a12"><code>bc83b32</code></a> Meta tweaks (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/233">https://github.com/facebook/flipper/issues/233</a>)</li>
<li><a href="180c2ab6c5"><code>180c2ab</code></a> 8.0.1</li>
<li><a href="59df90f1d8"><code>59df90f</code></a> Meta tweaks</li>
<li><a href="71777b169d"><code>71777b1</code></a> Fix Node.js 12 compatibility (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/229">https://github.com/facebook/flipper/issues/229</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/sindresorhus/open/compare/v7.4.2...v8.0.4">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=open&package-manager=npm_and_yarn&previous-version=7.4.2&new-version=8.0.4)](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/2128

Reviewed By: passy

Differential Revision: D27396035

Pulled By: mweststrate

fbshipit-source-id: fefce4429f5a6378a640ff5992abd0fc7c45481f
2021-03-29 10:49:18 -07:00
Michel Weststrate
1b0d01ef38 Give clear messages on how to connect to physical devices
Summary:
Give clearer instructions when connection to (physical) device fails, rather than just logging errors.

Fixes https://github.com/facebook/flipper/issues/1942

Also removed throwing errors for known problems, as they can be remediated by users.

Reviewed By: passy

Differential Revision: D27360575

fbshipit-source-id: 311d27178d4d205dff725201c7c60f116f0eb319
2021-03-29 07:00:47 -07:00
Michel Weststrate
d5fbe9a5b9 Support physical device logging
Summary:
Changelog: Logs plugin now supports physical iOS devices

As reported in https://github.com/facebook/flipper/issues/262 and linked papercut.

This diff adds support for iOS device logs through idb. Since idb doesn't respect `--json` flag at the moment, we perform the parsing in Flipper itself.

Reviewed By: passy

Differential Revision: D27346262

fbshipit-source-id: 3b314716f48bb9a7fe709370303396a51893359c
2021-03-29 07:00:47 -07:00
Pritesh Nandgaonkar
2132163d20 Add native tree information in sidebar
Summary: This diff adds the native tree information in the side bar. It reuses the the Layout Plugins Inspector Sidebar UI.

Reviewed By: timur-valiev

Differential Revision: D27387714

fbshipit-source-id: 46941fdaaaf9fea78dab32f0f8bf7b3dec8286c6
2021-03-29 05:10:00 -07:00
Pascal Hartig
e4a814502a Mass bump deps
Summary:
Bumping everything that's just a patch version behind or safe-looking minor change.

Just hoping to get ahead of dependabot's next run.

Reviewed By: fabiomassimo

Differential Revision: D27367567

fbshipit-source-id: 1bf8bad02e5a9f07f5982466254f9906581230cf
2021-03-27 04:25:57 -07:00
Pascal Hartig
8c85da5bc8 Bump deps
Summary: Just trying to get ahead of dependabot and bump some easy dependencies all at once.

Reviewed By: fabiomassimo

Differential Revision: D27326687

fbshipit-source-id: 0c724c8e3a688aa9777945fcd46061284fd77969
2021-03-25 12:28:29 -07:00
dependabot[bot]
5f082d9267 Bump react-player from 1.15.3 to 2.9.0 in /desktop (#2015)
Summary:
Bumps [react-player](https://github.com/CookPete/react-player) from 1.15.3 to 2.9.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/cookpete/react-player/blob/master/CHANGELOG.md">react-player's changelog</a>.</em></p>
<blockquote>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.8.2...v2.9.0">v2.9.0</a></h4>
<ul>
<li>Adds previewTabIndex property to light mode <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1169"><code>[https://github.com/facebook/flipper/issues/1169](https://github.com/CookPete/react-player/issues/1169)</code></a></li>
<li>Update YouTube URL pattern (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1170">https://github.com/facebook/flipper/issues/1170</a>) <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1171"><code>[https://github.com/facebook/flipper/issues/1171](https://github.com/CookPete/react-player/issues/1171)</code></a></li>
<li>Support Kaltura's HTML5 player <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1082"><code>[https://github.com/facebook/flipper/issues/1082](https://github.com/CookPete/react-player/issues/1082)</code></a></li>
<li>Fix suspense check for nextjs <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1165"><code>[https://github.com/facebook/flipper/issues/1165](https://github.com/CookPete/react-player/issues/1165)</code></a></li>
<li>Add kaltura player types <a href="b1e105342f"><code>b1e1053</code></a></li>
</ul>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.8.1...v2.8.2">v2.8.2</a></h4>
<blockquote>
<p>26 January 2021</p>
</blockquote>
<ul>
<li>fix: ensure lazy typedefs mirror defaults <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1153"><code>[https://github.com/facebook/flipper/issues/1153](https://github.com/CookPete/react-player/issues/1153)</code></a></li>
<li>fix: nullify srcObject instead of calling removeAttribute <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1145"><code>[https://github.com/facebook/flipper/issues/1145](https://github.com/CookPete/react-player/issues/1145)</code></a></li>
<li>updated basic types with fallback <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1144"><code>[https://github.com/facebook/flipper/issues/1144](https://github.com/CookPete/react-player/issues/1144)</code></a></li>
<li>Update wistia url pattern <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1149"><code>[https://github.com/facebook/flipper/issues/1149](https://github.com/CookPete/react-player/issues/1149)</code></a></li>
<li>fix: ensure lazy typedefs mirror defaults (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1153">https://github.com/facebook/flipper/issues/1153</a>) <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1146"><code>[https://github.com/facebook/flipper/issues/1146](https://github.com/CookPete/react-player/issues/1146)</code></a></li>
</ul>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.8.0...v2.8.1">v2.8.1</a></h4>
<blockquote>
<p>20 January 2021</p>
</blockquote>
<ul>
<li>Fix clean script <a href="9a448b1315"><code>9a448b1</code></a></li>
</ul>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.7.2...v2.8.0">v2.8.0</a></h4>
<blockquote>
<p>20 January 2021</p>
</blockquote>
<ul>
<li>fix: remove srcObject attribute if next uri is not a MediaStream <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1121"><code>[https://github.com/facebook/flipper/issues/1121](https://github.com/CookPete/react-player/issues/1121)</code></a></li>
<li>added soundcloud playlist preview button for demo page so developers can know it also supports sc playlists <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1113"><code>[https://github.com/facebook/flipper/issues/1113](https://github.com/CookPete/react-player/issues/1113)</code></a></li>
<li>Add missing FLV props to TS defs <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1122"><code>[https://github.com/facebook/flipper/issues/1122](https://github.com/CookPete/react-player/issues/1122)</code></a></li>
<li>FEAT: customize fallback through props for lazy loading <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1133"><code>[https://github.com/facebook/flipper/issues/1133](https://github.com/CookPete/react-player/issues/1133)</code></a></li>
<li>Add onClickPreview <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1131"><code>[https://github.com/facebook/flipper/issues/1131](https://github.com/CookPete/react-player/issues/1131)</code></a></li>
<li>Added types for single players <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/953"><code>[https://github.com/facebook/flipper/issues/953](https://github.com/CookPete/react-player/issues/953)</code></a></li>
<li>Add custom control support to Wistia <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1125"><code>[https://github.com/facebook/flipper/issues/1125](https://github.com/CookPete/react-player/issues/1125)</code></a></li>
<li>Fix facebook muted logic <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1127"><code>[https://github.com/facebook/flipper/issues/1127](https://github.com/CookPete/react-player/issues/1127)</code></a></li>
<li>yarn upgrade <a href="0c7dd4a787"><code>0c7dd4a</code></a></li>
</ul>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.7.1...v2.7.2">v2.7.2</a></h4>
<blockquote>
<p>16 December 2020</p>
</blockquote>
<ul>
<li>fix: add playIcon prop to TS declaration <a href="https://github-redirect.dependabot.com/cookpete/react-player/pull/1084"><code>[https://github.com/facebook/flipper/issues/1084](https://github.com/CookPete/react-player/issues/1084)</code></a></li>
</ul>
<h4><a href="https://github.com/cookpete/react-player/compare/v2.7.0...v2.7.1">v2.7.1</a></h4>
<blockquote>
<p>16 December 2020</p>
</blockquote>
<ul>
<li>Improve youtube playlist regex <a href="https://github-redirect.dependabot.com/cookpete/react-player/issues/1088"><code>[https://github.com/facebook/flipper/issues/1088](https://github.com/CookPete/react-player/issues/1088)</code></a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="5d38f882b2"><code>5d38f88</code></a> 2.9.0</li>
<li><a href="a41e3c791f"><code>a41e3c7</code></a> Fix suspense check for nextjs</li>
<li><a href="b1e105342f"><code>b1e1053</code></a> Add kaltura player types</li>
<li><a href="994820ee53"><code>994820e</code></a> Adds previewTabIndex property to light mode (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1169">https://github.com/facebook/flipper/issues/1169</a>)</li>
<li><a href="53e4aede5d"><code>53e4aed</code></a> Update YouTube URL pattern (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1170">https://github.com/facebook/flipper/issues/1170</a>) (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1171">https://github.com/facebook/flipper/issues/1171</a>)</li>
<li><a href="264cb10767"><code>264cb10</code></a> Support Kaltura's HTML5 player (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1082">https://github.com/facebook/flipper/issues/1082</a>)</li>
<li><a href="e1e99a1fee"><code>e1e99a1</code></a> 2.8.2</li>
<li><a href="61a27023ee"><code>61a2702</code></a> Update wistia url pattern</li>
<li><a href="0cc1b39b4e"><code>0cc1b39</code></a> fix: ensure lazy typedefs mirror defaults (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1153">https://github.com/facebook/flipper/issues/1153</a>)</li>
<li><a href="22bf8586a8"><code>22bf858</code></a> fix: nullify srcObject instead of calling removeAttribute (<a href="https://github-redirect.dependabot.com/CookPete/react-player/issues/1145">https://github.com/facebook/flipper/issues/1145</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/CookPete/react-player/compare/v1.15.3...v2.9.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=react-player&package-manager=npm_and_yarn&previous-version=1.15.3&new-version=2.9.0)](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/2015

Reviewed By: passy

Differential Revision: D27326596

Pulled By: mweststrate

fbshipit-source-id: 6a08e7aaab483a65749cc286db9751f51782b04c
2021-03-25 11:48:05 -07:00
Michel Weststrate
740fbe57fd Fix release build issue
Summary:
D24358369 (8a31e984b3) introduced a dependency outside the `sonar/` dir, which probably should not have happened. D27324576 finally broke this, by adding a dep to QPL core, which will never be installed in our CI.

This diff unbreaks that rewriting the require to a locally provided version of crc32, however this is a stop gap, and it would be great if someone would look into a sustainable solution :)

Reviewed By: passy

Differential Revision: D27327272

fbshipit-source-id: 70cdf21c7ecf081ef804d6338ec11e498e3cb7cf
2021-03-25 08:42:08 -07:00
Michel Weststrate
ba8232f30d Move DetailSidebar to flipper-plugin
Summary: This moves `<DetailSidebar>` component to `flipper-plugin` and documents it. No semantic changes.

Reviewed By: passy

Differential Revision: D27234575

fbshipit-source-id: 74640602d718f84ad999f5dac0420089796ed7fb
2021-03-23 12:56:17 -07:00
Michel Weststrate
dd1f2fdeaa Move Sidebar to flipper-plugin
Summary:
This diff deprecates the Sidebar concept, and copies the implementation to Sandy (tried moving first, but since existing plugins use the Sidebar in non-flex (Layout) contexts, that the layout of several plugins, so rather deprecated the old implementation.

Instead of exposing `Sidebar` explicitly, one can now put the `resizable` flag on a Layout.Top/Left/Bottom/Right, which makes building layouts even simpler, see demo.

The gutter logic was moved to the new implementation, since that was only used by the Sandy chrome anyway.

Changelog: Layout.Top / Left / Bottom / Right now support a resizable option

Reviewed By: passy

Differential Revision: D27233899

fbshipit-source-id: fbbdeb2ebf30d49d0837705a00ea86bb07fc2ba2
2021-03-23 12:56:17 -07:00
dependabot[bot]
256b025630 Bump rsocket-flowable from 0.0.23 to 0.0.25 in /desktop (#2069)
Summary:
Bumps [rsocket-flowable](https://github.com/rsocket/rsocket-js) from 0.0.23 to 0.0.25.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a85a4db041"><code>a85a4db</code></a> v0.0.25</li>
<li><a href="b279d67569"><code>b279d67</code></a> ammend versions</li>
<li><a href="1e15f3c975"><code>1e15f3c</code></a> v0.0.24</li>
<li><a href="a4b7a93dc0"><code>a4b7a93</code></a> provides a temporary fix for <a href="https://github.com/rsocket/rsocket-js/issues/110">https://github.com/facebook/flipper/issues/110</a></li>
<li><a href="c271a37128"><code>c271a37</code></a> exports missing TlsClient</li>
<li><a href="844b10b35b"><code>844b10b</code></a> updates docs</li>
<li><a href="39a86dfa5f"><code>39a86df</code></a> updates docs</li>
<li><a href="97e1e9f922"><code>97e1e9f</code></a> updates versions</li>
<li><a href="90e70580d1"><code>90e7058</code></a> fixes RSocketMachine leak on the server-side (<a href="https://github.com/rsocket/rsocket-js/issues/120">https://github.com/facebook/flipper/issues/120</a>)</li>
<li><a href="f665cd1038"><code>f665cd1</code></a> adds METADATA_PUSH support (<a href="https://github.com/rsocket/rsocket-js/issues/119">https://github.com/facebook/flipper/issues/119</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/rsocket/rsocket-js/compare/v0.0.23...v0.0.25">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rsocket-flowable&package-manager=npm_and_yarn&previous-version=0.0.23&new-version=0.0.25)](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/2069

Reviewed By: passy

Differential Revision: D27230118

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 814a094dabdffae71b26abd8b8ef0d6691ef94ee
2021-03-23 10:01:23 -07:00
Pascal Hartig
d19eeb2a53 Demote android emulator "errors"
Summary:
Really not errors at all. I'm getting warnings here about my Vulkan
support not working. That shouldn't be logged as a Flipper error.

Reviewed By: mweststrate

Differential Revision: D27260607

fbshipit-source-id: 6f9d2ab0da3fe37bb5c8c185ad627ef0d581e5d5
2021-03-23 09:52:44 -07:00
dependabot[bot]
6589aee6f1 Bump @emotion/styled from 11.0.0 to 11.1.5 in /desktop (#2067)
Summary:
Bumps [emotion/styled](https://github.com/emotion-js/emotion) from 11.0.0 to 11.1.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/emotion-js/emotion/releases"><code>@​emotion/styled's releases</code></a>.</em></p>
<blockquote>
<h2>emotion/styled@11.1.5</h2>
<h3>Patch Changes</h3>
<ul>
<li>
<p><a href="d029350801"><code>d0293508</code></a> <a href="https://github.com/emotion-js/emotion/pull/2240">#2240</a> Thanks <a href="https://github.com/wolszczak96"><code>@​wolszczak96</code></a>! - <code>as</code> prop has been removed from TypeScript declarations for composite components. This prop has not actually been handled by default by <code>styled</code> for those components - to make <code>styled</code> handle it you need to provide a custom <code>shouldForwardProp</code> that doesn't forward the <code>as</code> prop.</p>
</li>
<li>
<p>Updated dependencies [<a href="f3c2e81d10"><code>f3c2e81d</code></a>]:</p>
<ul>
<li>emotion/is-prop-valid@1.1.0</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="2fe9e0e945"><code>2fe9e0e</code></a> Version Packages (<a href="https://github.com/emotion-js/emotion/issues/2207">#2207</a>)</li>
<li><a href="d029350801"><code>d029350</code></a> Removed type for <code>as</code> prop for composite components (<a href="https://github.com/emotion-js/emotion/issues/2240">#2240</a>)</li>
<li><a href="f3c2e81d10"><code>f3c2e81</code></a> Added <code>option</code> &amp; <code>fallback</code> AMP props to the list of valid props (<a href="https://github.com/emotion-js/emotion/issues/2232">#2232</a>)</li>
<li><a href="b62647e8f5"><code>b62647e</code></a> Fix regex to comply with no-useless-escape ESLint rule</li>
<li><a href="400c6f7290"><code>400c6f7</code></a> Update slack link</li>
<li><a href="00cb6141a7"><code>00cb614</code></a> Update example describing how one can provide a library theme type using inte...</li>
<li><a href="4d2e732e9f"><code>4d2e732</code></a> Added export for <code>SerializedStyles</code> Flow type from <code>emotion/react</code> (<a href="https://github.com/emotion-js/emotion/issues/2206">#2206</a>)</li>
<li><a href="a89d4257b0"><code>a89d425</code></a> Lift Emotion 11 codemod instructions to the earlier spot in the docs (<a href="https://github.com/emotion-js/emotion/issues/2194">#2194</a>)</li>
<li><a href="a1e44aa56b"><code>a1e44aa</code></a> Version Packages (<a href="https://github.com/emotion-js/emotion/issues/2187">#2187</a>)</li>
<li><a href="71ca9be336"><code>71ca9be</code></a> Fix TypeScript support for custom components with non-standard declarations (...</li>
<li>Additional commits viewable in <a href="https://github.com/emotion-js/emotion/compare/emotion/styled@11.0.0...@emotion/styled@11.1.5">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@emotion/styled&package-manager=npm_and_yarn&previous-version=11.0.0&new-version=11.1.5)](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/2067

Reviewed By: passy

Differential Revision: D27230129

Pulled By: priteshrnandgaonkar

fbshipit-source-id: fcd95fb0db6b160df165189b6841ce5a42694459
2021-03-23 09:16:58 -07:00
Michel Weststrate
ea0cc7f15b Update to Immer 9 for better type inference
Summary: Per title

Reviewed By: passy

Differential Revision: D27202660

fbshipit-source-id: 074c44275a93c3fb35d2f491b51d82aa9792dd70
2021-03-22 06:25:04 -07:00
Pascal Hartig
2ae7d13a64 Strip application path from stack traces
Summary:
Stacktraces right now always contain the `/home/$USER/.cache/flipper-launcher/v1.2.3/...` (or equivalent)
which makes deduping and reading harder. This strips the paths.

Reviewed By: mweststrate

Differential Revision: D27130251

fbshipit-source-id: c0e8d5eb1575c6269d49a6aee0e8a5e93996d223
2021-03-19 07:31:34 -07:00
Rubén Norte
28480ac891 Format Metro log messages using printf format
Summary:
In browsers and Node.js, console methods accept a printf format string as a first argument:

```
console.log('Hello %s', 'world');
//> Hello world
```

This is not currently supported in Flipper, which just renders the log messages as they come from Metro (as an array of values, most often strings).

This adds support for it in Flipper by using the `util.format` function from Node.js (which is the same method used by the console under the hood).

It is implemented in Flipper and not in Metro so we have the flexibility to format the values as we want in the future (e.g.: numbers with a specific color).

Reviewed By: yungsters, mweststrate

Differential Revision: D27154864

fbshipit-source-id: e807b67900ddaf3a7e8cd86795589bed088beecd
2021-03-19 04:01:56 -07:00
Anton Nikolaev
bb827f14ea Normalize import path
Summary: Just a small fix to normalise import path to make typescript happy when this code is located in "flipper" folder (e.g. after installing "flipper" package as dependency) rather than "app" folder.

Reviewed By: jknoxville

Differential Revision: D27156167

fbshipit-source-id: 24495d6b1a756b20fadf62eec18bfe6665eb78e2
2021-03-18 08:17:12 -07:00
Pascal Hartig
9b44305f1c Remove logger dependency
Summary:
Found that one of the parameters wasn't used for anything making
it harder to make sense of the construct and test it.

Reviewed By: nikoant

Differential Revision: D27117591

fbshipit-source-id: f4c796dd37b0bd75497710fb9f88c923181f90e1
2021-03-18 05:45:28 -07:00
Anton Nikolaev
f468f0e07d Produce tsc typings for "flipper" package
Summary: This diffs refactors tsc projects structure and structure of our custom typings to allow producing typescript typings for "flipper" package. In next diffs I'm going to use the produced typings to check compatibility of plugins with certain versions of Flipper, e.g. to check whether plugin is compatible with current "stable" and "insiders" version.

Reviewed By: passy

Differential Revision: D26997158

fbshipit-source-id: a0416c7139bf08ec9d175730da4c4c2a8768eeb7
2021-03-17 14:03:38 -07:00
Michel Weststrate
4f70219a47 Dispose iOS logs if logs plugin is not connected
Summary: See D27047041 (d293b2b0e5) for more details. This diff makes sure the log listener is disposed if the Logs plugin is disabled / the logging is paused, rather than keeping the connection open all time.

Reviewed By: nikoant

Differential Revision: D27083966

fbshipit-source-id: 6f157c237519a0fde9591f1c2033621858863de0
2021-03-16 20:11:12 -07:00
Michel Weststrate
d293b2b0e5 Dispose adb logcat connection if there are no listeners
Summary:
Flipper used to always subscribe to the adb logs. This change makes the log subscription lazy, which means if there are no plugins listening to the logs, we don't subscribe to the adb logs at all. As you can see in the recording (prod build) this lowers CPU usage significantly: without logs plugin disabled it is now ~5-8 %, with the plugin enabled ~12-18%. Before this change we would never stop listening to the log output, even when the plugins were disabled, causing a constant background noise which people complain regularly about.

The pause / resume button in the new log plugin will now cleanup the connection as well, so that a simple 'pause' click will already boost performance, without needing to disable the logs plugin (if crash reporter is not enabled)

In this diff we also will clear the logs when reconnected. Previously we didn't reset the logs after connecting, we means Flipper would try to gets up with all past logs first, which could be a few 100 K entries.

Further future optimizations could involve using logcat smarter; by actually passing filters on app or loglevel to the command (not sure if that is actually faster, or just a convenience api that does the same filtering as we do)

Changelog: Flipper will now use less CPU if logs & crash reporter plugins are disabled by no longer tailing adb logcat.

Reviewed By: nikoant

Differential Revision: D27047041

fbshipit-source-id: 251a04dcc6f488f220cb56fe50a26788d795e38c
2021-03-16 15:03:48 -07:00
Michel Weststrate
6a30899803 Kill onRegisterDevice
Summary: `onRegisterDevice` device abstraction was only used by the CrashReporterPlugin, and since with Sandy plugin lifecycles every plugin can do 'on-load' logic, we don't need it anymore.

Reviewed By: priteshrnandgaonkar

Differential Revision: D27046711

fbshipit-source-id: 16c567c60ed29a50017d525a2b707ee696a99e62
2021-03-16 15:03:48 -07:00
Michel Weststrate
87c5fab607 Convert crash reporter plugin to Sandy (non UI only)
Summary:
This diff converts the CrashReporter plugin to Sandy. The main driver is that it allows us to fix the connection management of logs in a next diff.

There are few changes to highlight:
* A bunch of the old unit tests are removed, as they primarily verified that persistedState abstraction works, a concept that doesn't exist anymore with Sandy (as a result all the logic in error handling and crash reporter plugin has become a lot more trivial as well)
* Added additional unit tests to verify that the integration with notifications from Sandy, and the integration of crashes in combination with CrashReporter plugin works (this wasn't the case before)
* Plugin errors were always suppressed in production builds of Flipper. However, that makes error reporting pretty pointless in the first place, so enabled it by default, but made it a setting in case this results in too many errors suddenly.
* The integration with clicking OS crash notification -> bringing the user to a sensible place _doesn't_ work, but it didn't work before this diff either, so will address that later
* This doesn't upgrade the Crash reporter UI to sandy yet, will do that later in a separate diff

Changelog: Crash reporter will now report errors triggered from the device / client plugins by default. This can be disabled in settings.

Reviewed By: priteshrnandgaonkar

Differential Revision: D27044507

fbshipit-source-id: 8233798f5cce668d61460c948c24bdf92ed7c834
2021-03-16 15:03:48 -07:00
Michel Weststrate
4e2383cdb0 Introduce showNotification API
Summary: Introduced `showNotifcation` to the Sandy API.

Reviewed By: jknoxville

Differential Revision: D27012001

fbshipit-source-id: d3f237910a478400b0f925f0362af485c96072bb
2021-03-16 15:03:47 -07:00
Michel Weststrate
2ca52f81d2 Introduce pluginKey
Summary: Exposed the `pluginKey` to sandy plugins (which we will use later for storing table preferences per plugin). And a little moving code around because circular deps problem roared its ugly head again.

Reviewed By: nikoant

Differential Revision: D27009721

fbshipit-source-id: 7ad29e72ff8028c9daae270c4749b657bd8ff049
2021-03-16 15:03:47 -07:00
Michel Weststrate
55981b5259 Introduce pause button
Summary: ..and some earlier reviews comments has been processed + some fine tuning on the ui

Reviewed By: priteshrnandgaonkar

Differential Revision: D26816559

fbshipit-source-id: adf2586763be185ee8e7cc22b2827ecefe4e4cab
2021-03-16 15:03:45 -07:00
Michel Weststrate
525e079284 Implement deeplink, creating pastes, log deduplication
Summary:
This diff implements the remaining features in the logs plugin:

- deeplinking
- merging duplicate rows

The logs plugin source code has now been reduced from originally `935` to `285` LoC. All optimisation code has been removed from the plugin:

* debouncing data processing
* pre-rendering (and storing!) all rows

Finally applied some further styling tweaks and applied some renames to DataTable / DataSource + types finetuning. Some more will follow.
Fixed a emotion warning in unit tests which was pretty annoying.

Reviewed By: passy

Differential Revision: D26666190

fbshipit-source-id: e45e289b4422ebeb46cad927cfc0cfcc9566834f
2021-03-16 15:03:45 -07:00
Michel Weststrate
5c3a8742ef Introduce context menu
Summary:
Introduced a context menu for DataTable with some default options. Opted to put it under a visible hovered dropdown instead of on right-click, since this better alings with Ant's design guides (we don't have context clicks anywhere else I think), but if it isn't convincing we can still change it.

Included some default actions, to set up quick filters, and to copy values. For copying rows, implemented it to by default take the JSON from a row, rather than space separated values like in ManagedTable, as many existing plugins customize the onCopy handler to just do that, so it seemed like a better default since it is a richer format. If there are good use cases for the previous behavior, we'll probably find out after the old release :)

Introduced utility to copy text to clipboard in FlipperLib, but decoupled it from Electron.

Didn't include multi select yet, that will be done in a next diff.

Reviewed By: nikoant

Differential Revision: D26513161

fbshipit-source-id: b2b1b20b0a6f4ada9de2566bf6b02171f722c4aa
2021-03-16 15:03:44 -07:00
Michel Weststrate
11eb19da4c Introduce column filters
Summary:
Beyond a search across all columns, it is now possible to specific columns for specific values:

* for a row to be visible, all active column filters need to be matched (e.g. both a filter on time and app has to be satisfied)
* if multiple values within a column are filtered for, these are -or-ed.
* if no value at all within a column is checked, even when they are defined, the column won't take part in filtering
* if there is a general search and column filters, a row has to satisfy both

Filters can be preconfigured, pre-configured filters cannot be removed.

Reseting will reset the filters back to their original

Move `useMemoize` to flipper-plugin

Merged the `ui/utils` and `utils` folder inside `flipper-plugin`

Reviewed By: nikoant

Differential Revision: D26450260

fbshipit-source-id: 11693d5d140cea03cad91c1e0f3438d7b129cf29
2021-03-16 15:03:44 -07:00
Michel Weststrate
44bb5b1beb Introduced sorting, column visibility and column resizing
Summary:
Add support for resizable columns, column sorting, and hiding / showing columns

Moved some utilities from Flipper to flipper-plugin, such as Interactive and LowPassFilter

Split DataTable into two components; DataSourceRenderer which takes care of purely rendering the virtualization, and DataTable that has the Chrome around that, such as column headers, search bar, etc.

Reviewed By: nikoant

Differential Revision: D26321105

fbshipit-source-id: 32b8fc03b4fb97b3af52b23e273c3e5b8cbc4498
2021-03-16 15:03:43 -07:00
Pritesh Nandgaonkar
5df0fd6e52 Update the device name for DummyDevice type
Summary: This diff updates the device display name in the drop down for DummyDevice

Reviewed By: mweststrate

Differential Revision: D26945724

fbshipit-source-id: 6a82c6353f6d8dfe6d3a60e06f0f78d00c39ff59
2021-03-10 06:34:37 -08:00
Pritesh Nandgaonkar
50f31f9fe0 Update the device plugins supported devices arguments
Summary:
Device plugins won't work for DummyDevice type as the device id is a fake one for this.

This diff updates the "supportedDevices" for the plugins.

Reviewed By: mweststrate

Differential Revision: D26944601

fbshipit-source-id: a29acc288f8f0c564f52db02914e7b0491b211d2
2021-03-10 06:34:36 -08:00
Pritesh Nandgaonkar
60994bd41f Rename ClientDevice to DummyDevice
Summary: Rename ClientDevice to DummyDevice. It is being currently used in the case when we do cert exchange through WWW/Distillery. In this mode we are not able to figure out the exact device id(instead we create a fake one) and thus we would not like to use Android or IOSDevice for such cases.

Reviewed By: mweststrate

Differential Revision: D26944415

fbshipit-source-id: f9f76e8997cf5402ba5627ae1959f5a11e078bb1
2021-03-10 06:34:36 -08:00
dependabot[bot]
6531b1ff5c Bump @ant-design/icons from 4.4.0 to 4.5.0 in /desktop (#2019)
Summary:
Bumps [ant-design/icons](https://github.com/ant-design/ant-design-icons) from 4.4.0 to 4.5.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/ant-design/ant-design-icons/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@ant-design/icons&package-manager=npm_and_yarn&previous-version=4.4.0&new-version=4.5.0)](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/2019

Reviewed By: mweststrate

Differential Revision: D26889248

Pulled By: passy

fbshipit-source-id: 753cc63b9417b5e33eb0593122b248fc0c69b0f7
2021-03-10 04:39:03 -08:00
dependabot[bot]
6ac66a0d2d Bump @types/archiver from 3.1.1 to 5.1.0 in /desktop (#2020)
Summary:
Bumps [types/archiver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/archiver) from 3.1.1 to 5.1.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/archiver">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/archiver&package-manager=npm_and_yarn&previous-version=3.1.1&new-version=5.1.0)](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/2020

Reviewed By: mweststrate

Differential Revision: D26889183

Pulled By: passy

fbshipit-source-id: 60ab86160e29ebf53d8291bac14ef25da9c99e2e
2021-03-10 03:51:55 -08:00
Pritesh Nandgaonkar
226e042e1d Fix the broken xcode detection due to space
Summary: Due to the space in the path, `fs.pathExists` returned false even if the path was existent. Thus added `.trim()` to fix it.

Reviewed By: passy

Differential Revision: D26869404

fbshipit-source-id: 146a96262353177e786f5100a1dad9af7c7d398b
2021-03-08 04:59:42 -08:00
Pritesh Nandgaonkar
a2d559c8c0 Detect Physical iOS device without Xcode
Summary:
This diff adds the support of detecting physical device in Flipper even if the xcode is not installed and there is no cli tool installed.

See the demo.

Reviewed By: timur-valiev

Differential Revision: D26816588

fbshipit-source-id: 5f052998fcbe5c51385222d16df0e1855177b552
2021-03-05 11:36:20 -08:00