Commit Graph

1703 Commits

Author SHA1 Message Date
Ananya Arun
2e87164152 First level of questions and redirection along with unit tests
Summary:
This diff is the first out of n for the troubleshooting guide for flipper.

What has been done -
- Defined a structure for the troubleshooting guide in TroubleshootingGuide.tsx (parent component ) to render children components or the individual questions from here.
- The initial screen of the trouble shooting guide along with the 3 sections of questions users face. Clicking them prompts to individual question screens that will be built in future diffs.
- Units tests in jest for the rendering of the screens and functions.

Reviewed By: mweststrate

Differential Revision: D30279739

fbshipit-source-id: 3e317b67e5ac461902c6779eaa584e1032741b85
2021-08-18 00:07:15 -07:00
Michel Weststrate
0cbe063c77 Move UnitializedClient to server
Summary: Move UnitializedClient interface to server namespace

Reviewed By: timur-valiev

Differential Revision: D30367328

fbshipit-source-id: 367a607fa2bb20dd140b1ad28946073ca764e517
2021-08-17 07:51:51 -07:00
Michel Weststrate
ea58f2b050 Decouple iOS devices from Store / core
Summary: Decouple iOS device detection from Redux

Reviewed By: timur-valiev

Differential Revision: D30309258

fbshipit-source-id: 74b4e3dd2e6b83fcefc75909794c39bfc8c987cf
2021-08-17 07:51:51 -07:00
Michel Weststrate
3736cbc480 Decouple JS device from Store
Summary: Made a start with decoupling JS device. Incomplete as there are still Electron deps.

Reviewed By: timur-valiev

Differential Revision: D30309257

fbshipit-source-id: b8002170cbbe8d68e1795ce7c12ffce4c8eac853
2021-08-17 07:51:51 -07:00
Michel Weststrate
4ae7d9c42b Decouple Metro device handling from Flipper core
Summary: Decoupled metro 'device' from Redux store. Extracting some commonalities with Android device management up into FlipperServer

Reviewed By: timur-valiev

Differential Revision: D30309256

fbshipit-source-id: 1a9ac01e3f21d2d08761554d3644a7ae8d00a93e
2021-08-17 04:46:37 -07:00
Michel Weststrate
03f2f95a31 Decouple android device management from Flipper core/store
Summary: See earlier diffs in the stack. This diff decouple android device management from the Redux store, replacing it with specific events.

Reviewed By: timur-valiev

Differential Revision: D30286345

fbshipit-source-id: 42f52056bf123b862e2fc087f2e7130c02bdd742
2021-08-17 04:46:37 -07:00
Michel Weststrate
bf65da0e72 Check if plugin status before opening
Summary:
This diff takes care of current plugin status when handling deeplinks. It checks:
1. if the plugin failed to load
2. if the plugin is behind GK
3. if the plugin is installable from bundle
4. if the plugin is installable from marketplace

Reviewed By: passy

Differential Revision: D29875483

fbshipit-source-id: 8dac1aab63822f43a0d002b10efa5b4a756fce41
2021-08-17 04:44:39 -07:00
Pascal Hartig
09107460a3 Filter duplicate requests
Summary:
Right now this is throwing an error, we instead gracefully
handle this. I'm not quite sure where this is coming from but as we're
not really doing anything with the requests before they're added here,
it must be coming from the network stack.

We can't really build another stable key on the client side because we
also need to match it up with the response. Open for ideas!

Changelog: Network requests with duplicate IDs are filtered out

Reviewed By: mweststrate

Differential Revision: D30337820

fbshipit-source-id: d312833727b383fa5f4d18a506ab581cd2151d13
2021-08-16 05:32:36 -07:00
Pascal Hartig
797007f367 Make error message unique
Summary: We're currently getting errors for every duplicate key and can't easily unify them, so we're adding the additional information to a warning instead.

Reviewed By: mweststrate

Differential Revision: D30337821

fbshipit-source-id: db9dc44d7d3424de169bed9b4447b482e411eb19
2021-08-16 05:32:36 -07:00
Pascal Hartig
e880059167 Use idb describe to enumerate devices
Summary:
This works for forwarded as well as local devices.

There is a bunch more unification work that needs to be done here as we currently have three completely different ways of querying iOS devices. More on that next week.

Reviewed By: jknoxville

Differential Revision: D30308405

fbshipit-source-id: c58ac73e971ce2cc4da92e9508bc05dff9c1a95a
2021-08-16 05:27:29 -07:00
dependabot[bot]
83978f5989 Bump eslint-plugin-flowtype from 5.8.2 to 5.9.0 in /desktop (#2694)
Summary:
Bumps [eslint-plugin-flowtype](https://github.com/gajus/eslint-plugin-flowtype) from 5.8.2 to 5.9.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/gajus/eslint-plugin-flowtype/releases">eslint-plugin-flowtype's releases</a>.</em></p>
<blockquote>
<h2>v5.9.0</h2>
<h1><a href="https://github.com/gajus/eslint-plugin-flowtype/compare/v5.8.2...v5.9.0">5.9.0</a> (2021-08-02)</h1>
<h3>Features</h3>
<ul>
<li>Interface Id Match rule (<a href="https://github-redirect.dependabot.com/gajus/eslint-plugin-flowtype/issues/492">https://github.com/facebook/flipper/issues/492</a>) (<a href="d7abd9f68d">d7abd9f</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="d7abd9f68d"><code>d7abd9f</code></a> feat: Interface Id Match rule (<a href="https://github-redirect.dependabot.com/gajus/eslint-plugin-flowtype/issues/492">https://github.com/facebook/flipper/issues/492</a>)</li>
<li>See full diff in <a href="https://github.com/gajus/eslint-plugin-flowtype/compare/v5.8.2...v5.9.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-flowtype&package-manager=npm_and_yarn&previous-version=5.8.2&new-version=5.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/2694

Reviewed By: timur-valiev

Differential Revision: D30305796

Pulled By: passy

fbshipit-source-id: e1baa8cda27b1e9c9ad400d257ef90e13c8781f0
2021-08-14 11:55:09 -07:00
Pascal Hartig
781df776f2 Rename default branch references to main (#2689)
Summary:
I really hope I hit everything and didn't break anything that wasn't
referring to branch names.

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

Test Plan:
_eyes

CI

|[Site Preview: flipper](https://our.intern.facebook.com/intern/staticdocs/eph/D30305789/V2/flipper/)

Reviewed By: timur-valiev

Differential Revision: D30305789

Pulled By: passy

fbshipit-source-id: 5daaa09250bb96bb50be679fc01dae86c666eb73
2021-08-13 15:00:39 -07:00
Michel Weststrate
c0cd32564a Organise files per device
Summary:
Moved all logic per device type we support to its own dir, including tools and utilities around it, which makes it easier to consolidate logic and decouple in turn per device type.

Per type, all logic can be found in

`server/devices/(desktop|metro|android|ios|webapp)`

Reviewed By: timur-valiev

Differential Revision: D30277817

fbshipit-source-id: 2b5339c363d5d31ceeba07cec03826fc67cf3748
2021-08-13 04:02:32 -07:00
Michel Weststrate
6175424d16 separate action dispatch from server
Summary: This diff moves the first small pieces of getting device detection up and running to `server/`, and the wiring between FlipperServer and flipper core / redux is setting up specific events and dispatch actions from there.

Reviewed By: timur-valiev

Differential Revision: D30276776

fbshipit-source-id: b30b996d03c27459815bebeb97b05b5fe5d24bec
2021-08-13 04:02:32 -07:00
Pascal Hartig
0de8a2eeb0 Support idb/physical devices for screen record
Summary: Another thing that's now supported by idb.

Reviewed By: mweststrate

Differential Revision: D30283450

fbshipit-source-id: fd973571c551b0823ba9c539c795d4dd526415b1
2021-08-13 03:29:30 -07:00
Pascal Hartig
87e5e18c46 Support idb/physical devices for navigation
Summary: idb has a command for doing the same now.

Reviewed By: timur-valiev

Differential Revision: D30277192

fbshipit-source-id: eb46cdc7a7218077a7da90f6182d5f17bfcc758a
2021-08-12 07:59:45 -07:00
Michel Weststrate
dd47d08444 move device dispatchers to server
Summary: move_complexity

Reviewed By: passy, timur-valiev

Differential Revision: D30250314

fbshipit-source-id: 92510b0ed2555d039b75b6de1c14fc92d94fbb19
2021-08-12 05:43:44 -07:00
Michel Weststrate
5e8c968222 Move devices to server folder
Summary:
This is the first of many diffs that extracts the connection, device, client detection out of the flipper core, to create a reusable flipper-server library that can be used in e.g. flipper-dump.

To keep diffs a little smaller, the current connection logic is first moved to the `server/` directory, and decoupled manually from the rest of the core, before moving it over to a separate package.

This first diffs moves the `comms/`, `devices/` and certificate utilities to the `server` directory.

Further untangling will follow in next diffs

Reviewed By: timur-valiev

Differential Revision: D30246551

fbshipit-source-id: c84259bfb1239119b3267a51b015e30c3c080866
2021-08-12 05:43:43 -07:00
Pascal Hartig
6544e5a7a3 Fix large debugbutton numbers being cut off
Summary: One more.

Reviewed By: timur-valiev

Differential Revision: D30254356

fbshipit-source-id: 473532b1aeef00d95d1da0ca8f1ca047672bc432
2021-08-12 03:19:38 -07:00
Pascal Hartig
4d295fa261 Prevent NUX from being cut off in plugin bar
Summary: See test plan.

Reviewed By: timur-valiev

Differential Revision: D30253538

fbshipit-source-id: c98a9b3ddaa29d6ff11260ce5756fd85f120e749
2021-08-12 03:19:38 -07:00
Pascal Hartig
eb27796571 Fix Windows test (#2682)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/2682

Run path-specific tests only on Unix-like OSes. We could
easily change the path to Windows, but honestly it's enough
to confirm this on one platform.

Reviewed By: timur-valiev

Differential Revision: D30255014

fbshipit-source-id: 7db36bc1738d721625e3c86c210d46dfaf8f0ab8
2021-08-11 14:35:12 -07:00
Pascal Hartig
7df77e2620 Asyncify screenshot helper
Summary: Suggested by mweststrate. Much more readable now!

Reviewed By: mweststrate

Differential Revision: D30251322

fbshipit-source-id: 269fefce3f63fa4eababb4c541ff09a660cc5cc0
2021-08-11 11:03:45 -07:00
Pascal Hartig
757ba91bf6 Simplify bridge types
Summary: This turns the bridge type into a simpler struct with always-present methods so you don't need to add additional null check to the calling logic which are hard to deal with.

Reviewed By: mweststrate

Differential Revision: D30248628

fbshipit-source-id: cdaee44efcbb19dcbb301099b4a7d0eb0c350e67
2021-08-11 11:03:45 -07:00
Pascal Hartig
52b3edc5ad Move screenshot to iOSBridge
Summary:
In order to support IOS cloud devices, we need to abstract
over the direct uses of idb/xcrun so we can switch them
out based on more than the device type.

Note that there's a bit of a type weirdness in there. I'll
clean this up with the next diff.

Reviewed By: mweststrate

Differential Revision: D30248036

fbshipit-source-id: ec8571429e04abe059850ef334a6645ae4a5e034
2021-08-11 11:03:45 -07:00
Pascal Hartig
f515df1c01 Restructure iOS dispatcher initialization
Summary:
Avoid nested promises and log errors during initialization that were
previously thrown away.

Reviewed By: mweststrate

Differential Revision: D30247859

fbshipit-source-id: 1d9ef871d1861a25a64ed4e895978b04f5b51c7b
2021-08-11 11:03:45 -07:00
dependabot[bot]
4ca1227522 Bump path-parse from 1.0.6 to 1.0.7 in /desktop (#2681)
Summary:
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/jbgutierrez/path-parse/commits/v1.0.7">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=path-parse&package-manager=npm_and_yarn&previous-version=1.0.6&new-version=1.0.7)](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)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flipper/network/alerts).

</details>

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

Reviewed By: mweststrate

Differential Revision: D30246996

Pulled By: passy

fbshipit-source-id: 00e1e3a0a6530e4ac7dbc198a7a4b80ded11c054
2021-08-11 11:03:45 -07:00
Pascal Hartig
a630020ea0 Remove promisify use
Summary:
The results are often unpredictable, poorly typed and we have
dependencies that do the wrapping for us.

Listen, I'll get to writing some real code soon, I promise,
but I need to clean up my workspace first, okay?

Reviewed By: mweststrate

Differential Revision: D30247484

fbshipit-source-id: f5326ff71ff43af2dc64ab85ca1368f95fe87083
2021-08-11 11:03:45 -07:00
Pascal Hartig
4e17fb9c48 Extract temp path util
Summary:
`electron.remote` access is slow so we can cache this
like we do in other places. Also means one fewer `electron`
import which is gonna add up for Flipper Decap.

Reviewed By: mweststrate

Differential Revision: D30247431

fbshipit-source-id: 90f0e8df99af8bed40fbebcfd445abaca2965b7c
2021-08-11 11:03:45 -07:00
Pascal Hartig
11c1c39bdc Improve screen recording logging
Summary:
Error is handled, doesn't need a task. Also, prefix is wrong here
as it's used.

Reviewed By: mweststrate

Differential Revision: D30247416

fbshipit-source-id: 049490cb7e45b7ce6f433bf7366eb94893947625
2021-08-11 11:03:45 -07:00
Pascal Hartig
8223051905 Mute eslint rule
Summary:
A few drive-by changes ahead of the sustainathon.
(More to come.)

Reviewed By: mweststrate

Differential Revision: D30247395

fbshipit-source-id: e707377a1169eb634a42f08c3d27fe3e065b63bb
2021-08-11 11:03:45 -07:00
dependabot[bot]
bc4a998ac2 Bump jszip from 3.3.0 to 3.7.1 in /desktop (#2680)
Summary:
Bumps [jszip](https://github.com/Stuk/jszip) from 3.3.0 to 3.7.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/Stuk/jszip/blob/master/CHANGES.md">jszip's changelog</a>.</em></p>
<blockquote>
<h3>v3.7.1 2021-08-05</h3>
<ul>
<li>Fix build of <code>dist</code> files.
<ul>
<li>Note: this version ensures the changes from 3.7.0 are actually included in the <code>dist</code> files. Thanks to Evan W for reporting.</li>
</ul>
</li>
</ul>
<h3>v3.7.0 2021-07-23</h3>
<ul>
<li>Fix: Use a null prototype object for this.files  (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/766">https://github.com/facebook/flipper/issues/766</a>)
<ul>
<li>This change might break existing code if it uses prototype methods on the <code>.files</code> property of a zip object, for example <code>zip.files.toString()</code>. This approach is taken to prevent files in the zip overriding object methods that would exist on a normal object.</li>
</ul>
</li>
</ul>
<h3>v3.6.0 2021-02-09</h3>
<ul>
<li>Fix: redirect main to dist on browsers (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/742">https://github.com/facebook/flipper/issues/742</a>)</li>
<li>Fix duplicate require DataLengthProbe, utils (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/734">https://github.com/facebook/flipper/issues/734</a>)</li>
<li>Fix small error in read_zip.md (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/703">https://github.com/facebook/flipper/issues/703</a>)</li>
</ul>
<h3>v3.5.0 2020-05-31</h3>
<ul>
<li>Fix 'End of data reached' error when file extra field is invalid (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/544">https://github.com/facebook/flipper/issues/544</a>).</li>
<li>Typescript definitions: Add null to return types of functions that may return null (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/669">https://github.com/facebook/flipper/issues/669</a>).</li>
<li>Typescript definitions: Correct nodeStream's type (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/682">https://github.com/facebook/flipper/issues/682</a>)</li>
<li>Typescript definitions: Add string output type (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/666">https://github.com/facebook/flipper/issues/666</a>)</li>
</ul>
<h3>v3.4.0 2020-04-19</h3>
<ul>
<li>Add Typescript type definitions (see <a href="https://github-redirect.dependabot.com/Stuk/jszip/pull/601">https://github.com/facebook/flipper/issues/601</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="3f2f0da8b2"><code>3f2f0da</code></a> 3.7.1</li>
<li><a href="9f9c33b66b"><code>9f9c33b</code></a> Updates for 3.7.1</li>
<li><a href="5639745878"><code>5639745</code></a> Merge branch 'fix-build'</li>
<li><a href="e08003ec71"><code>e08003e</code></a> Fix lint</li>
<li><a href="79f7691e51"><code>79f7691</code></a> Revert &quot;Disable proto assert that fails in browsers&quot;</li>
<li><a href="89298b9f26"><code>89298b9</code></a> Update gitignore for Mac, and sort</li>
<li><a href="81cb5eb244"><code>81cb5eb</code></a> Temporarily update docs for building dist correctly</li>
<li><a href="e5b3f0ddaa"><code>e5b3f0d</code></a> 3.7.0</li>
<li><a href="e88ba4b367"><code>e88ba4b</code></a> Update for version 3.7.0</li>
<li><a href="90464873e3"><code>9046487</code></a> Disable proto assert that fails in browsers</li>
<li>Additional commits viewable in <a href="https://github.com/Stuk/jszip/compare/v3.3.0...v3.7.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=jszip&package-manager=npm_and_yarn&previous-version=3.3.0&new-version=3.7.1)](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)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flipper/network/alerts).

</details>

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

Reviewed By: mweststrate

Differential Revision: D30246994

Pulled By: passy

fbshipit-source-id: b507ab24054ebfe905b092f0ca9da0c43ea37d16
2021-08-11 11:03:45 -07:00
dependabot[bot]
5cf86a8f6e Bump eslint-plugin-import from 2.23.4 to 2.24.0 in /desktop (#2671)
Summary:
Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.23.4 to 2.24.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/import-js/eslint-plugin-import/blob/master/CHANGELOG.md">eslint-plugin-import's changelog</a>.</em></p>
<blockquote>
<h2>[2.24.0] - 2021-08-08</h2>
<h3>Added</h3>
<ul>
<li>[<code>no-dynamic-require</code>]: add option <code>esmodule</code> (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/1223">https://github.com/facebook/flipper/issues/1223</a>, thanks [<a href="https://github.com/vikr01"><code>@​vikr01</code></a>])</li>
<li>[<code>named</code>]: add <code>commonjs</code> option (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/1222">https://github.com/facebook/flipper/issues/1222</a>, thanks [<a href="https://github.com/vikr01"><code>@​vikr01</code></a>])</li>
<li>[<code>no-namespace</code>]: Add <code>ignore</code> option (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2112">https://github.com/facebook/flipper/issues/2112</a>, thanks [<a href="https://github.com/aberezkin"><code>@​aberezkin</code></a>])</li>
<li>[<code>max-dependencies</code>]: add option <code>ignoreTypeImports</code> (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/1847">https://github.com/facebook/flipper/issues/1847</a>, thanks [<a href="https://github.com/rfermann"><code>@​rfermann</code></a>])</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>[<code>no-duplicates</code>]: ensure autofix avoids excessive newlines (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2028">https://github.com/facebook/flipper/issues/2028</a>, thanks [<a href="https://github.com/ertrzyiks"><code>@​ertrzyiks</code></a>])</li>
<li>[<code>extensions</code>]: avoid crashing on partially typed import/export statements (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2118">https://github.com/facebook/flipper/issues/2118</a>, thanks [<a href="https://github.com/ljharb"><code>@​ljharb</code></a>])</li>
<li>[<code>no-extraneous-dependencies</code>]: add ESM intermediate package.json support] (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2121">https://github.com/facebook/flipper/issues/2121</a>, thanks [<a href="https://github.com/paztis"><code>@​paztis</code></a>])</li>
<li>Use <code>context.getPhysicalFilename()</code> when available (ESLint 7.28+) (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2160">https://github.com/facebook/flipper/issues/2160</a>, thanks [<a href="https://github.com/pmcelhaney"><code>@​pmcelhaney</code></a>])</li>
<li>[<code>extensions</code>]/<code>importType</code>: fix isScoped treating @/abc as scoped module (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2146">https://github.com/facebook/flipper/issues/2146</a>, thanks [<a href="https://github.com/rperello"><code>@​rperello</code></a>])</li>
</ul>
<h3>Changed</h3>
<ul>
<li>[Docs] [<code>extensions</code>]: removed incorrect cases (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2138">https://github.com/facebook/flipper/issues/2138</a>, thanks [<a href="https://github.com/wenfangdu"><code>@​wenfangdu</code></a>])</li>
<li>[Tests] [<code>order</code>]: add tests for <code>pathGroupsExcludedImportTypes: ['type']</code> (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2158">https://github.com/facebook/flipper/issues/2158</a>, thanks [<a href="https://github.com/atav32"><code>@​atav32</code></a>])</li>
<li>[Docs] [<code>order</code>]:  improve the documentation for the <code>pathGroupsExcludedImportTypes</code> option (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2156">https://github.com/facebook/flipper/issues/2156</a>, thanks [<a href="https://github.com/liby"><code>@​liby</code></a>])</li>
<li>[Tests] [<code>no-cycle</code>]: Restructure test files (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/1517">https://github.com/facebook/flipper/issues/1517</a>, thanks [<a href="https://github.com/soryy708"><code>@​soryy708</code></a>])</li>
<li>[Docs] add description how to use plugin with yarn berry (<a href="https://github-redirect.dependabot.com/import-js/eslint-plugin-import/issues/2179">https://github.com/facebook/flipper/issues/2179</a>, thanks [<a href="https://github.com/KostyaZgara"><code>@​KostyaZgara</code></a>])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="202e5e02db"><code>202e5e0</code></a> Bump to v2.24.0</li>
<li><a href="546f87f6c7"><code>546f87f</code></a> utils: v2.6.2</li>
<li><a href="74fa6c99cc"><code>74fa6c9</code></a> [resolvers/node] v0.3.5</li>
<li><a href="32bf645563"><code>32bf645</code></a> [Docs] add description how to use plugin with yarn berry</li>
<li><a href="794e869757"><code>794e869</code></a> [meta] update repo URLs</li>
<li><a href="429f3f6023"><code>429f3f6</code></a> [Tests] <code>no-cycle</code>: Restructure test files</li>
<li><a href="b743a650e9"><code>b743a65</code></a> [New] <code>max-dependencies</code>: add option <code>ignoreTypeImports</code></li>
<li><a href="bba59c4848"><code>bba59c4</code></a> [New] <code>no-namespace</code>: Add <code>ignore</code> option</li>
<li><a href="54d86c8a64"><code>54d86c8</code></a> [New] <code>named</code>: add <code>commonjs</code> option</li>
<li><a href="7626a14851"><code>7626a14</code></a> [Refactor] <code>named</code>: clean up formatting</li>
<li>Additional commits viewable in <a href="https://github.com/import-js/eslint-plugin-import/compare/v2.23.4...v2.24.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-import&package-manager=npm_and_yarn&previous-version=2.23.4&new-version=2.24.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/2671

Reviewed By: mweststrate

Differential Revision: D30226888

Pulled By: passy

fbshipit-source-id: 5245244f87de76a0d51acc90b0ff43a1cd98b085
2021-08-11 11:03:45 -07:00
Pascal Hartig
dd536b9d1a Gracefully handle socket closures
Summary:
Got my first auto-created crashbot task. {emoji:1f973}

We do have some pretty granular handling for errors during disconnects but this one has fallen through the cracks.

I'm not 100% sure if this is the right way to handle it which is why I added mweststrate. :)

Reviewed By: mweststrate

Differential Revision: D30218833

fbshipit-source-id: 2b4c9201ee7faf1c278b1cc5268ad2648dc4c820
2021-08-10 16:12:02 -07:00
Michel Weststrate
8d7caa9dd4 Introduce Dialog.alert
Summary: Introduce `Dialog.alert` to show users a FYI message, and be able to wait for it to be handled, as utility around several `Modal` utilities.

Reviewed By: jknoxville

Differential Revision: D29875484

fbshipit-source-id: 5d2ea83e486631ac18a81800b467f97dfaac6d34
2021-08-10 13:24:23 -07:00
Michel Weststrate
4b892e7373 Check Flipper version when handling deeplinks
Summary: Check if Flipper is up to date before handling deeplink.

Reviewed By: nikoant

Differential Revision: D29846236

fbshipit-source-id: 011d05958346c3d18c76cf0ae63c3cb087f5933c
2021-08-10 13:24:23 -07:00
Michel Weststrate
38473121ba Check connection & user login when entering deeplink [1/n]
Summary: First steps in smoother deeplink flow, where connection and login status is being checked before trying to handle the deeplink.

Reviewed By: lblasa

Differential Revision: D29790461

fbshipit-source-id: e1e42ceb5db59c695077f316e836f1f216c7204a
2021-08-10 13:24:23 -07:00
Pascal Hartig
47faeade61 Patch dep bump
Summary: Excluding `react-virtual` which seems to include a breaking change with the patch release.

Reviewed By: jknoxville

Differential Revision: D30189687

fbshipit-source-id: b40cb5edd407fd03009ee38c0af5202c8deaaa26
2021-08-10 11:08:22 -07:00
Pascal Hartig
fc73e0d4ec Revert "Improve protobuf support (#2513)" (#2665)
Summary:
This reverts commit efd75ea435.

Sorry hbmartin! We're running into Kotlin compatibility problems. Your latest library release isn't compatible with Kotlin 1.3 and we can't upgrade just yet because Litho hasn't been able to release in a while. :(

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

Test Plan: _eyes

Differential Revision: D30189360

Pulled By: passy

fbshipit-source-id: c1edbbc496742938579f4e2032a78debe08fcc26
2021-08-09 04:15:49 -07:00
Harold Martin
efd75ea435 Improve protobuf support (#2513)
Summary:
* Update protobuf library to support map types
* Improved usage messaging in UI
* Always attempt to decode requests with a protobuf definition
## Changelog
Improved protobuf support

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

Reviewed By: mweststrate

Differential Revision: D30162379

Pulled By: passy

fbshipit-source-id: 201fb06045822641be5840b121da180a201be974
2021-08-09 02:42:35 -07:00
Ananya Arun
025ca05d62 Enrich plugin metadata on what apps they support and add unit tests
Summary:
- This Diff is part 1 of 2 of milestone 1 of my internship project flipper self sufficiency. The task can be found here - https://www.internalfb.com/tasks?q=958574791613645&t=91334896

- I have extended the plugin package meta data format to support a "supportedApps" field that consists of appID (facebook, instagram, messenger etc) along with OS and type that were previously defined in supportedDevices as well.

- The diff also adds unit tests for this new format to ensure addition of the supportedApps field does not break anything.

Reviewed By: nikoant

Differential Revision: D30133225

fbshipit-source-id: 6ef0d1cadd61c0d69640cf61793322acb4cd65f4
2021-08-06 07:14:44 -07:00
Flipper Bot
7b577f77c8 Flipper Release: v0.102.0
Summary: Releasing version 0.102.0

Reviewed By: nikoant

Differential Revision: D30131831

fbshipit-source-id: 05ffa592f0ae9e123dffed6a3c8c5c0e22daacf4
2021-08-05 09:43:40 -07:00
Anton Nikolaev
cc4064ec9f Force Sec-Fetch-Site header to 'none'
Reviewed By: bartoszniemczura

Differential Revision: D30047497

fbshipit-source-id: 0d9376c09d63176031291f19bfe82a56d5677641
2021-08-05 02:40:41 -07:00
Chaiwat Ekkaewnumchai
b280f75b06 Fix Vulnerability
Summary:
per title

For `xmldom`, npm can't push the update as mentioned in https://github.com/xmldom/xmldom/releases/tag/0.7.0

Reviewed By: lblasa

Differential Revision: D30101848

fbshipit-source-id: 0d84a302b845708787d5cae01643dba9963f0330
2021-08-04 09:36:14 -07:00
Flipper Bot
5dbb0b7a24 Flipper Release: v0.101.0
Summary: Releasing version 0.101.0

Reviewed By: lblasa

Differential Revision: D30098058

fbshipit-source-id: f6e6ed1942a30e492e66ed42aec6dc35d1cddd24
2021-08-04 07:37:17 -07:00
Ananya Arun
a5b83dc148 Add tracking for usage statistics
Summary:
- This diff adds usage statistics for
    - How often was the troubleshooting button opened
    - What were its end states ( Problem solved or file a support request)

- I am using the tracked flipper plugin to obtain and analyse the stats on Infinity analytics events dev in Scuba backend.
(Since this is not yet productionized we are using the dev version now )

Reviewed By: nikoant

Differential Revision: D30098054

fbshipit-source-id: 871cc18872bccf70a829dc1dd173a337b02ec6e6
2021-08-04 04:16:52 -07:00
Ananya Arun
84ec5813b6 Add modal dialogue for the end screen
Summary:
- Added a dialogue with 2 possible end state buttons
    - Problem Solved
    - File Support Request
- This diff is the start of the implementation of the troubleshooting wizard.
- The previously implemented troubleshooting button (D29993355 (921a65bc17)) now links to a modal dialogue box.
- This is essentially the last screen of the troubleshooting guide to be implemented.
- We have options for a user to either select file a support request if the issue persists after navigating the guide or click on problem solved if the guide helped them solve it.
- Selecting option 2 (file support request) links to the pre-existing form

The modal has been implemented as an independent reusable component and can be easily extended.

Reviewed By: passy

Differential Revision: D30069270

fbshipit-source-id: f61bf8c03de786e11b7f06194328dbee703abf8b
2021-08-03 12:49:49 -07:00
Lorenzo Blasa
4e6b895fc9 WebSocket server GK
Summary:
This change enables a WebSocket server if the user is on the 'flipper_websocket_server' GK.

I don't expect this change to make it as the final product of the entire solution. Instead, it can be used to quickly enable/disable WebSocket during development/testing without requiring any code changes.

Reviewed By: passy

Differential Revision: D30069694

fbshipit-source-id: 75daac75e6dad7f63cf194d8287971c33d3abb61
2021-08-03 09:34:57 -07:00
Lorenzo Blasa
b76ce357eb Addresses an issue with Flipper message identifier
Summary:
This change addresses a problem with using data.id straight into the if statement.

If `data.id` is not undefined but has a value of 0 then the expression evaluates to false.

Right now, that wasn't the intended usage.

Using this change to also export some types from Client.

Reviewed By: passy

Differential Revision: D30069746

fbshipit-source-id: 04a8d161efceadf7a38ee556be70c15b45c11056
2021-08-03 09:30:47 -07:00
Pascal Hartig
6791b29e45 Big dep bump
Summary: The markdown bump required ignoring another prop, the rest was smooth.

Reviewed By: timur-valiev

Differential Revision: D30067682

fbshipit-source-id: 6038ffe29d2e0041c81bac132eed747cbfe40f54
2021-08-03 05:18:34 -07:00
Andrey
6349ebe05d Fixed plugin installer overflow (#2652)
Summary:
https://user-images.githubusercontent.com/33036510/127777930-34ede219-0fb9-4486-8f2e-3d73ff8cb84d.mov

Content of plugin installer modal has no scroll and it is overflowing

## Changelog

- Fixed PluginInstaller table overflow

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

Test Plan:
The video, demonstrating how the problem was fixed:
https://user-images.githubusercontent.com/33036510/127777930-34ede219-0fb9-4486-8f2e-3d73ff8cb84d.mov

Reviewed By: passy

Differential Revision: D30044703

Pulled By: cekkaewnumchai

fbshipit-source-id: 6d00ef766aaa295cc43fd944ca3b849371192a79
2021-08-02 14:30:46 -07:00