Commit Graph

792 Commits

Author SHA1 Message Date
Pascal Hartig
adf183f65d Dep bump
Summary:
allow-large-files

The semi-regular bumps are back!

Reviewed By: mweststrate

Differential Revision: D29427165

fbshipit-source-id: 0d23487f807e67cccb62cfb3717245a122db8f6e
2021-06-28 06:31:54 -07:00
Anton Nikolaev
bbf1aeaa55 Delay app loading until persisted state loaded
Summary: This diff fixes the issue when some Flipper persisted state is required just after startup, but is loaded too late. This is easy to notice with a flag indicating whether Welcome window should be shown. Even if the flag is disabled, Flipper will still show the window on the next launch because it loads the state later than needed.

Differential Revision: D29426004

fbshipit-source-id: 011b5890034a6e254ce9ab834f098f1a2ab62a70
2021-06-28 04:02:29 -07:00
dwwr
2b0ce88c22 Fix Typo In Setup Doctor (#2506)
Summary:
Simple fix for a minor typo

## Changelog
SetupDoctorScreen.tsx:55: discoverd -> discovered

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

Test Plan:
### Visual diff:
|Before: |
|---|
| <img width="566" alt="Screen Shot 2021-06-24 at 10 59 14 AM" src="https://user-images.githubusercontent.com/68758506/123316824-24cc5380-d4e2-11eb-8337-1e7fa0dbf838.png"> |
|After:|
| <img width="562" alt="Screen Shot 2021-06-24 at 11 54 32 AM" src="https://user-images.githubusercontent.com/68758506/123317505-f3a05300-d4e2-11eb-89a5-e9903279836f.png"> |

Reviewed By: passy

Differential Revision: D29390183

Pulled By: cekkaewnumchai

fbshipit-source-id: 56869dc778bbce0ab98dda1645e2ac883a139184
2021-06-25 05:26:27 -07:00
Michel Weststrate
5b4179d482 Move plugin installer away from immutable
Summary: Trying to get rid of immutable_table, which is used in only 3 places. One of them being the plugin installer.

Reviewed By: jknoxville

Differential Revision: D29295534

fbshipit-source-id: dfae9476635c3a8ebba9f1439905bae693fdfd57
2021-06-25 04:35:13 -07:00
Michel Weststrate
729922e8ad clean up createTablePlugin abstraction
Summary:
createTablePlugin isn't used anymore, since all FB plugins now use flipper-plugin's, version.

Verified that no public OSS plugins use the abstraction either.

This is part of a bigger stack to clean up immutable js usage / managed table duplication and export performance speed

Reviewed By: jknoxville

Differential Revision: D29265565

fbshipit-source-id: dd6671f0b3af857db1a512c6658e1ff75c49358d
2021-06-25 04:35:13 -07:00
Michel Weststrate
603cd08767 Stop printing false positive debug message
Summary: Per title. Deserves a more coherent solution.

Reviewed By: passy

Differential Revision: D29296206

fbshipit-source-id: b8547ebc1f99c24282f79f4b98a8a5fa1d1947cd
2021-06-22 05:20:44 -07:00
dependabot[bot]
143a0da280 Bump pretty-format from 26.6.2 to 27.0.2 in /desktop (#2491)
Summary:
Bumps [pretty-format](https://github.com/facebook/jest/tree/HEAD/packages/pretty-format) from 26.6.2 to 27.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/jest/releases">pretty-format's releases</a>.</em></p>
<blockquote>
<h2>27.0.2</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-circus]</code> Add some APIs to make it easier to build your own test runner</li>
<li><code>[jest-reporters]</code> Expose the <code>getResultHeader</code> util (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11460">#11460</a>)</li>
<li><code>[jest-resolver]</code> Export <code>resolve*</code> utils for different Jest modules (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest/test-result]</code> Export <code>Test</code>, <code>TestEvents</code> and <code>TestFileEvent</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-circus]</code> Add missing <code>slash</code> dependency (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11465">#11465</a>)</li>
<li><code>[jest-circus, jest/test-sequencer]</code> Remove dependency on <code>jest-runner</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest-config]</code> Resolve <code>config.runner</code> to absolute path (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11465">#11465</a>)</li>
<li><code>[jest-config]</code> Make sure to support functions as config (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11475">#11475</a>)</li>
<li><code>[jest-core]</code> Do not warn about <code>DNSCHANNEL</code> handles when using the <code>--detectOpenHandles</code> option (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11470">#11470</a>)</li>
<li><code>[jest-runner]</code> Remove dependency on <code>jest-config</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest-worker]</code> Loosen engine requirement to <code>&gt;= 10.13.0</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11451">#11451</a>)</li>
</ul>
<h2>27.0.1</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-environment-jsdom]</code> Bump version of JSDOM to avoid deprecated <code>request</code> package (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11442">#11442</a>)</li>
</ul>
<h2>27.0.0</h2>
<p><a href="https://jestjs.io/blog/2021/03/09/jest-website-upgrade">Blog post</a></p>
<h3>Features</h3>
<ul>
<li><code>[babel-jest]</code> Add async transformation (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11192">#11192</a>)</li>
<li><code>[jest-changed-files]</code> Use '--' to separate paths from revisions (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11160">#11160</a>)</li>
<li><code>[jest-circus]</code> [<strong>BREAKING</strong>] Fail tests when multiple <code>done()</code> calls are made (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10624">#10624</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> [<strong>BREAKING</strong>] Fail the test instead of just warning when describe returns a value (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10947">#10947</a>)</li>
<li><code>[jest-config]</code> [<strong>BREAKING</strong>] Default to Node testing environment instead of browser (JSDOM) (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/9874">#9874</a>)</li>
<li><code>[jest-config]</code> [<strong>BREAKING</strong>] Use <code>jest-circus</code> as default test runner (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10686">#10686</a>)</li>
<li><code>[jest-config]</code> Add support for <code>preset</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11200">#11200</a>)</li>
<li><code>[jest-config, jest-runtime]</code> Support ESM for files other than <code>.js</code> and <code>.mjs</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10823">#10823</a>)</li>
<li><code>[jest-config, jest-runtime]</code> [<strong>BREAKING</strong>] Use &quot;modern&quot; implementation as default for fake timers (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10874">#10874</a> &amp; <a href="https://github-redirect.dependabot.com/facebook/jest/pull/11197">#11197</a>)</li>
<li><code>[jest-config</code> Allow passing <code>forceNodeFilesystemAPI</code> through to <code>jest-haste-map</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11264">#11264</a>)</li>
<li><code>[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]</code> [<strong>BREAKING</strong>] Add custom HasteMap class implementation config option (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11107">#11107</a>)</li>
<li><code>[jest-core]</code> make <code>TestWatcher</code> extend <code>emittery</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10324">#10324</a>)</li>
<li><code>[jest-core]</code> Run failed tests interactively the same way we do with snapshots (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10858">#10858</a>)</li>
<li><code>[jest-core]</code> more <code>TestSequencer</code> methods can be async (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10980">#10980</a>)</li>
<li><code>[jest-core]</code> Add support for <code>testSequencer</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11207">#11207</a>)</li>
<li><code>[jest-core]</code> Add support for <code>globalSetup</code> and <code>globalTeardown</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11267">#11267</a>)</li>
<li><code>[jest-core]</code> Add support for <code>watchPlugins</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11315">#11315</a>)</li>
<li><code>[jest-core]</code> Add support for <code>runner</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11232">#11232</a>)</li>
<li><code>[jest-core]</code> Add support for <code>reporters</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11427">#11427</a>)</li>
<li><code>[jest-each]</code> Add support for interpolation with object properties (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11388">#11388</a>)</li>
<li><code>[jest-environment-node]</code> Add AbortController to globals (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11182">#11182</a>)</li>
<li><code>[jest/fake-timers]</code> Update to <code>sinonjs/fake-timers</code> to v7 (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11198">#11198</a>)</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/facebook/jest/blob/master/CHANGELOG.md">pretty-format's changelog</a>.</em></p>
<blockquote>
<h2>27.0.2</h2>
<h3>Features</h3>
<ul>
<li><code>[jest-circus]</code> Add some APIs to make it easier to build your own test runner</li>
<li><code>[jest-reporters]</code> Expose the <code>getResultHeader</code> util (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11460">#11460</a>)</li>
<li><code>[jest-resolver]</code> Export <code>resolve*</code> utils for different Jest modules (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest/test-result]</code> Export <code>Test</code>, <code>TestEvents</code> and <code>TestFileEvent</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
</ul>
<h3>Fixes</h3>
<ul>
<li><code>[jest-circus]</code> Add missing <code>slash</code> dependency (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11465">#11465</a>)</li>
<li><code>[jest-circus, jest/test-sequencer]</code> Remove dependency on <code>jest-runner</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest-config]</code> Resolve <code>config.runner</code> to absolute path (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11465">#11465</a>)</li>
<li><code>[jest-config]</code> Make sure to support functions as config (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11475">#11475</a>)</li>
<li><code>[jest-core]</code> Do not warn about <code>DNSCHANNEL</code> handles when using the <code>--detectOpenHandles</code> option (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11470">#11470</a>)</li>
<li><code>[jest-runner]</code> Remove dependency on <code>jest-config</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11466">#11466</a>)</li>
<li><code>[jest-worker]</code> Loosen engine requirement to <code>&gt;= 10.13.0</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11451">#11451</a>)</li>
</ul>
<h2>27.0.1</h2>
<h3>Fixes</h3>
<ul>
<li><code>[jest-environment-jsdom]</code> Bump version of JSDOM to avoid deprecated <code>request</code> package (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11442">#11442</a>)</li>
</ul>
<h2>27.0.0</h2>
<h3>Features</h3>
<ul>
<li><code>[babel-jest]</code> Add async transformation (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11192">#11192</a>)</li>
<li><code>[jest-changed-files]</code> Use '--' to separate paths from revisions (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11160">#11160</a>)</li>
<li><code>[jest-circus]</code> [<strong>BREAKING</strong>] Fail tests when multiple <code>done()</code> calls are made (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10624">#10624</a>)</li>
<li><code>[jest-circus, jest-jasmine2]</code> [<strong>BREAKING</strong>] Fail the test instead of just warning when describe returns a value (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10947">#10947</a>)</li>
<li><code>[jest-config]</code> [<strong>BREAKING</strong>] Default to Node testing environment instead of browser (JSDOM) (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/9874">#9874</a>)</li>
<li><code>[jest-config]</code> [<strong>BREAKING</strong>] Use <code>jest-circus</code> as default test runner (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10686">#10686</a>)</li>
<li><code>[jest-config]</code> Add support for <code>preset</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11200">#11200</a>)</li>
<li><code>[jest-config, jest-runtime]</code> Support ESM for files other than <code>.js</code> and <code>.mjs</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10823">#10823</a>)</li>
<li><code>[jest-config, jest-runtime]</code> [<strong>BREAKING</strong>] Use &quot;modern&quot; implementation as default for fake timers (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10874">#10874</a> &amp; <a href="https://github-redirect.dependabot.com/facebook/jest/pull/11197">#11197</a>)</li>
<li><code>[jest-config</code> Allow passing <code>forceNodeFilesystemAPI</code> through to <code>jest-haste-map</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11264">#11264</a>)</li>
<li><code>[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]</code> [<strong>BREAKING</strong>] Add custom HasteMap class implementation config option (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11107">#11107</a>)</li>
<li><code>[jest-core]</code> make <code>TestWatcher</code> extend <code>emittery</code> (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10324">#10324</a>)</li>
<li><code>[jest-core]</code> Run failed tests interactively the same way we do with snapshots (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10858">#10858</a>)</li>
<li><code>[jest-core]</code> more <code>TestSequencer</code> methods can be async (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/10980">#10980</a>)</li>
<li><code>[jest-core]</code> Add support for <code>testSequencer</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11207">#11207</a>)</li>
<li><code>[jest-core]</code> Add support for <code>globalSetup</code> and <code>globalTeardown</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11267">#11267</a>)</li>
<li><code>[jest-core]</code> Add support for <code>watchPlugins</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11315">#11315</a>)</li>
<li><code>[jest-core]</code> Add support for <code>runner</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11232">#11232</a>)</li>
<li><code>[jest-core]</code> Add support for <code>reporters</code> written in ESM (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11427">#11427</a>)</li>
<li><code>[jest-each]</code> Add support for interpolation with object properties (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11388">#11388</a>)</li>
<li><code>[jest-environment-node]</code> Add AbortController to globals (<a href="https://github-redirect.dependabot.com/facebook/jest/pull/11182">#11182</a>)</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="7ca8a22b84"><code>7ca8a22</code></a> v27.0.2</li>
<li><a href="2cb20e945a"><code>2cb20e9</code></a> v27.0.1</li>
<li><a href="be16e47afc"><code>be16e47</code></a> v27.0.0</li>
<li><a href="b68d91b59a"><code>b68d91b</code></a> feat(pretty-print): add option <code>printBasicPrototype</code> (<a href="https://github.com/facebook/jest/tree/HEAD/packages/pretty-format/issues/11441">#11441</a>)</li>
<li><a href="e2eb9aeee8"><code>e2eb9ae</code></a> v27.0.0-next.11</li>
<li><a href="6f44529270"><code>6f44529</code></a> v27.0.0-next.10</li>
<li><a href="0a902e10e0"><code>0a902e1</code></a> chore: update prettier to 2.3 (<a href="https://github.com/facebook/jest/tree/HEAD/packages/pretty-format/issues/11397">#11397</a>)</li>
<li><a href="d836f33f98"><code>d836f33</code></a> v27.0.0-next.9</li>
<li><a href="c5e2a59b41"><code>c5e2a59</code></a> feat(pretty-format): Export Printer type (<a href="https://github.com/facebook/jest/tree/HEAD/packages/pretty-format/issues/11342">#11342</a>)</li>
<li><a href="7028265743"><code>7028265</code></a> feat: Better print for sparse arrays (<a href="https://github.com/facebook/jest/tree/HEAD/packages/pretty-format/issues/11326">#11326</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/jest/commits/v27.0.2/packages/pretty-format">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: nikoant

Differential Revision: D29264234

Pulled By: mweststrate

fbshipit-source-id: 7f29dbc431ca24ce3eabdce0215759e45c2ebe9f
2021-06-22 03:02:28 -07:00
dependabot[bot]
ccc2a9392b Bump open from 8.2.0 to 8.2.1 in /desktop (#2489)
Summary:
Bumps [open](https://github.com/sindresorhus/open) from 8.2.0 to 8.2.1.
<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.2.1</h2>
<ul>
<li>Gracefully handle reused array being passed in (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/255">https://github.com/facebook/flipper/issues/255</a>)  492445a</li>
</ul>
<p><a href="https://github.com/sindresorhus/open/compare/v8.2.0...v8.2.1">https://github.com/sindresorhus/open/compare/v8.2.0...v8.2.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="ce40e85de3"><code>ce40e85</code></a> 8.2.1</li>
<li><a href="71a6dbcf7b"><code>71a6dbc</code></a> Fix linting</li>
<li><a href="492445a767"><code>492445a</code></a> Gracefully handle reused array being passed in (<a href="https://github-redirect.dependabot.com/sindresorhus/open/issues/255">https://github.com/facebook/flipper/issues/255</a>)</li>
<li><a href="86b1709aea"><code>86b1709</code></a> Remove outdate caveat in readme</li>
<li>See full diff in <a href="https://github.com/sindresorhus/open/compare/v8.2.0...v8.2.1">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=8.2.0&new-version=8.2.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)

</details>

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

Reviewed By: nikoant

Differential Revision: D29264227

Pulled By: mweststrate

fbshipit-source-id: feac03120426d37a47c3cfed092dd05d612fe311
2021-06-22 03:02:28 -07:00
dependabot[bot]
55166598c7 Bump ws from 7.4.6 to 7.5.0 in /desktop (#2487)
Summary:
Bumps [ws](https://github.com/websockets/ws) from 7.4.6 to 7.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>7.5.0</h2>
<h1>Features</h1>
<ul>
<li>Some errors now have a <code>code</code> property describing the specific type of error
that has occurred (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1901">https://github.com/facebook/flipper/issues/1901</a>).</li>
</ul>
<h1>Bug fixes</h1>
<ul>
<li>A close frame is now sent to the remote peer if an error (such as a data
framing error) occurs (8806aa9a).</li>
<li>The close code is now always 1006 if no close frame is received, even if the
connection is closed due to an error (8806aa9a).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="e3f0c1720a"><code>e3f0c17</code></a> [dist] 7.5.0</li>
<li><a href="1d3f4cbb0e"><code>1d3f4cb</code></a> [doc] Fix anchor tags for error codes</li>
<li><a href="6eea0d466b"><code>6eea0d4</code></a> [doc] Fix typo</li>
<li><a href="bb5d44b118"><code>bb5d44b</code></a> [doc] Sort error codes alphabetically</li>
<li><a href="c6e3080670"><code>c6e3080</code></a> [minor] Attach error codes to all receiver errors (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1901">https://github.com/facebook/flipper/issues/1901</a>)</li>
<li><a href="074e6a8be7"><code>074e6a8</code></a> [fix] Don't call <code>ws.terminate()</code> unconditionally in <code>duplex._destroy()</code></li>
<li><a href="8806aa9a83"><code>8806aa9</code></a> [fix] Close the connection cleanly when an error occurs</li>
<li><a href="05b8ccd639"><code>05b8ccd</code></a> [doc] Fix broken link (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1897">https://github.com/facebook/flipper/issues/1897</a>)</li>
<li><a href="03a707884c"><code>03a7078</code></a> [doc] Remove unsafe regex from code snippet</li>
<li><a href="7ee31157d7"><code>7ee3115</code></a> [doc] Add logo to coverage badge</li>
<li>Additional commits viewable in <a href="https://github.com/websockets/ws/compare/7.4.6...7.5.0">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: nikoant

Differential Revision: D29264222

Pulled By: mweststrate

fbshipit-source-id: 2c7eebd793c6ea9f28543a2808f387399043e59f
2021-06-22 03:02:28 -07:00
Michel Weststrate
640e06f130 Update tests to use the sandyLegacy wrapper by default
Summary: Changed unit test infra to wrap legacy plugins by default in Sandy, and adapted tests where needed.

Reviewed By: nikoant

Differential Revision: D29264660

fbshipit-source-id: fe7cbc8af826afac5f945103586b3cb9647e7fbd
2021-06-21 08:37:21 -07:00
Michel Weststrate
00e2c803ef Add wrapper support for getActiveNotifications
Summary: Add support for getActive notifications in Sandy wrapped legacy plugins

Reviewed By: passy

Differential Revision: D29234071

fbshipit-source-id: e05861e27426a592756645441c934b2c76154d44
2021-06-21 08:37:21 -07:00
Michel Weststrate
6fb28df855 Make Store initialization independent of module order
Summary: Changed some imports, and again the Flipper initialisation broke. Refactored the store initialization to create nowhere module local constants, which prevents generally against module loading issues, making it possible to load all code first, and then intialise things through the `init()` method, which should make Flipper initialisation a lot more robust to changes

Reviewed By: passy

Differential Revision: D29233603

fbshipit-source-id: 322cb87cba23228b1d7a88634b7b3995e27cc277
2021-06-21 08:37:20 -07:00
Michel Weststrate
806dd63f68 Add wrapper support for import / export states
Summary: Make sure custom export handlers of classic plugins wrapped in Sandy are respected

Reviewed By: passy

Differential Revision: D29233604

fbshipit-source-id: 7bab33af3422e0b59697438577906ce8580a28ad
2021-06-21 08:37:20 -07:00
Michel Weststrate
e40faaef3f Add keyboard support to Sandy plugin wrapper
Summary: Per title / see rest of the stack

Reviewed By: passy

Differential Revision: D29196711

fbshipit-source-id: 63ea52a07b61a11c1ad4013985c5b005045dcf0a
2021-06-21 08:37:20 -07:00
Michel Weststrate
c1860ec19c Introduce Sandy wrapper for legacy plugins
Summary:
This diff introduces loading classic Flipper plugins in a Sandy container. By wrapping plugins into Sandy we will be able to remove a lot of code / logic duplication related to state, queue processing, serialization etc. This will allow us to remove most or all of the complex plugin logic from the old system, only keeping onto the legacy components which have a lower maintenance burden. Until all plugins are Sandy.

This diff is not feature complete but only implements the core mechanisms for (persisted) state and communication.

Keyboard support, serialization, and rewiring tests etc will be added in next diff.

The feature is introduced behind GK flipper_use_sandy_plugin_wrapper to have kill switch.

Tests will be added later in this diff by redirection a part of the current mechanisms to wrapped plugins. (Will land the stack as a whole)

Reviewed By: passy

Differential Revision: D29165866

fbshipit-source-id: 57f84794a4a5f898bf765ce2de13cc759267fbc6
2021-06-21 08:37:20 -07:00
Michel Weststrate
07199323d1 Remove Newsfeed Story Inspector and native plugin mechanism
Summary: Changelog: The 'nativeplugins' on Android are no longer supported

Reviewed By: jknoxville

Differential Revision: D29163281

fbshipit-source-id: fb4032f240fc306608fe57479f3124d4e7a3400f
2021-06-21 05:39:26 -07:00
Michel Weststrate
068b00c156 Improved Flipper update message message
Summary: In support group telling users to merely "pull" seemed to be a bit too vague instruction.

Reviewed By: passy

Differential Revision: D29225726

fbshipit-source-id: 5c0db1b2d3afd2a398d28caf3438f2959e5d46f1
2021-06-18 04:10:37 -07:00
Anton Nikolaev
ac9ef7620a Refactor plugin lists computations
Summary: This is purely refactoring change. Before that we computed plugin lists in-place in PluginList component. Now we will be re-computing them as side effect and will keep computed lists in redux. This makes it easier to re-use plugin lists in other places outside of PluginList component, e.g. in the upcoming Marketplace UI.

Reviewed By: mweststrate

Differential Revision: D29161719

fbshipit-source-id: 5cb06d4d8a553aa856101c78b2311fbc078c6bd7
2021-06-17 07:39:43 -07:00
Michel Weststrate
e708b2b693 Fix links not always opening outside Electron
Summary:
Changelog: Fix links not always openening in the Browser

As reported in https://fb.workplace.com/groups/flippersupport/permalink/1154240895056567/, in some cases links would open inside Flipper itself, and as a result the user would be stick as he can't navigate away.

This happened only when a `Link` was being deconstructed from `Typography` by a module that was loaded before `Link.tsx`, which fixes `Typography.Link` to do that automatically. For example:

```
import {Typograph} from "antd"
const {Link} = Typography;
```

Addressed this issue by patching the antd package directly during build, rather than during application start.

Reviewed By: passy

Differential Revision: D29193899

fbshipit-source-id: b291018406e343c0f7de1d1d899924902159d8c7
2021-06-17 03:44:27 -07:00
Michel Weststrate
c83bd7900f Deprecate Native plugins
Reviewed By: fabiomassimo

Differential Revision: D29163280

fbshipit-source-id: 368e966bf86cc0de1ee0125a6b1166811ef6d2f0
2021-06-17 03:17:54 -07:00
Pascal Hartig
f2e67c8055 Disable flaky sideEffect test
Summary: See T93353978

Reviewed By: mweststrate

Differential Revision: D29160508

fbshipit-source-id: 79ac5247e7fd1b4b0a2903b1a40833e2870e299c
2021-06-16 08:26:35 -07:00
Pascal Hartig
34c862d5f2 Wednesday dep bump
Summary:
Includes most of the PRs currently open.

allow-large-files for antd

Reviewed By: mweststrate

Differential Revision: D29160385

fbshipit-source-id: b9e6d3b16a806cf615b7b0e24ba3395f3ed44822
2021-06-16 06:38:03 -07:00
Pascal Hartig
15d052af52 Monday dep bump
Summary: All patch bumps.

Reviewed By: muraziz

Differential Revision: D29098776

fbshipit-source-id: 7cfb9774ddebaa6b1c61c597869bf0f9cf0c2687
2021-06-15 08:41:18 -07:00
Michel Weststrate
42c4bfcb47 Better error for ports in use
Summary:
If port 8088 / 8089 are in use, devices will not be able to connect to Flipper. We have checks for this in place, however it turns out that users can miss them. Potentially this can be caused for mulltiple reasons:

1. The notification is shown fairly short (in my testing it disappeared sometimes in < 2 secs
2. The notification is shown outside of the Flipper area
3. Flipper might not have permissions to show notifs in the first place.

Changed the notification to show inside Flipper, not hide automatically, and added clearer instructions. Including mentioning the port number (since there are multiple)

Changelog: [Flipper] Provide clearer error if Flipper ports are already in use, making device connections impossible

Differential Revision: D29128014

fbshipit-source-id: 16d9b451aa84281744155bfa1042429911a7b774
2021-06-15 06:28:48 -07:00
Pascal Hartig
53e612ff6f Fix adb path interpolation on Windows
Summary:
Concatenating strings is not a great idea for paths. This isn't actually Windows-specific (I think) but maybe more common there. If you have a space as part of your ADB path, you're in for a world of pain.

This addressed a couple of issues but I'm sure there are more when you use it for more detailed use cases.

Closes https://github.com/facebook/flipper/issues/2438

Reviewed By: mweststrate

Differential Revision: D29061367

fbshipit-source-id: 001e498ac42bd8df6e6852be9b42fb5f38379c2e
2021-06-11 06:31:59 -07:00
Michel Weststrate
df7941e2bc deprecated Searchable abstraction
Summary: Since the functionality is now available as part of DataTable, the HoC doesn't seem to be needed as generic abstraction. it is used in handful places outside datatable / datalist, but those can be localized in the future or should datatable / datalist.

Reviewed By: fabiomassimo

Differential Revision: D28993836

fbshipit-source-id: 3e6da7c7b48348faa0c4f7281868196f5585a065
2021-06-10 04:45:18 -07:00
Pascal Hartig
ce7b709908 Monday dep bump
Summary:
More safe bumps.

allow-large-files

Reviewed By: cekkaewnumchai

Differential Revision: D28929951

fbshipit-source-id: ade2919e2968446692fc88d6b6ae24644c30c137
2021-06-08 11:01:02 -07:00
Anton Nikolaev
9a2677fc24 Cleanup global notifications UI
Summary: We don't need to show plugin-related details and button "open globalError" (which anyway doesn't work) when showing global notifications.

Reviewed By: passy

Differential Revision: D28900468

fbshipit-source-id: 54347ede4f1e4dbfb0e41be5c50374fda35c1223
2021-06-07 05:53:44 -07:00
Anton Nikolaev
90d40ac385 More actionable notification message in case of www cert exchange failed
Summary: Improved message a bit to make it clear that VPN/Lighthouse is required on both sides - computer and mobile device. Also it will now show login link in case user is not signed in yet, because login is also required for www cert exchange.

Reviewed By: passy

Differential Revision: D28899558

fbshipit-source-id: 89de776f602a9f27a2c068efd8e3f08c28ec5f57
2021-06-07 05:53:43 -07:00
Pascal Hartig
edbb41b49b Upgrade prettier
Summary: ohsopretty

Reviewed By: fabiomassimo

Differential Revision: D28930276

fbshipit-source-id: faaca8cc53c2fe42a8e010d5c1b1d79e89190858
2021-06-07 04:59:17 -07:00
Pascal Hartig
baf38809e6 Dep bump
Summary:
Bump a day, doctor away, etc.

allow-large-files

Reviewed By: nikoant

Differential Revision: D28897147

fbshipit-source-id: be2473462b566ec02575d06d10c1a191dfda4d77
2021-06-04 11:48:39 -07:00
Pascal Hartig
5b59ae099f Dep bump
Summary: You know the drill.

Reviewed By: nikoant

Differential Revision: D28867596

fbshipit-source-id: dd3487a918dd75ffd47947a32f0f22f511a5f3d4
2021-06-04 08:41:16 -07:00
Anton Nikolaev
cc4bc293c6 More actionable notification on plugin download failure
Summary: More actionable notification on plugin download failure.

Reviewed By: priteshrnandgaonkar

Differential Revision: D28856728

fbshipit-source-id: bd4a41af8812168949d83e2e0923ca7976485fa7
2021-06-03 08:36:23 -07:00
Anton Nikolaev
fa74502a8a Show disconnected status in plugin list
Summary: Connectivity indicator on plugin panel.

Reviewed By: passy

Differential Revision: D28843182

fbshipit-source-id: 49130e6b40c1bfcc4449b8a98b092d44dbda78bf
2021-06-03 06:37:29 -07:00
Anton Nikolaev
b7d7326bae Differentiate connectivity and auth related errors
Summary: Cleaning up login session and connectivity handling.

Reviewed By: passy

Differential Revision: D28795342

fbshipit-source-id: ddc659d681f730c7183f364d8924e5c680f8a418
2021-06-02 11:30:37 -07:00
Anton Nikolaev
fff489091e Paste oauth token using deeplink
Reviewed By: passy

Differential Revision: D28790868

fbshipit-source-id: 6a22809444462af15915fa4f06e76e64ebb7f590
2021-06-02 11:30:37 -07:00
Anton Nikolaev
cf14f0808f SignInSheet refactored to use hooks
Reviewed By: passy

Differential Revision: D28788914

fbshipit-source-id: 5b000bff57d0fec7b8fafa4f5efd1c3e15caa766
2021-06-02 11:30:37 -07:00
Anton Nikolaev
bb0271a1a0 Persisted logged out state
Reviewed By: passy

Differential Revision: D28788916

fbshipit-source-id: 88ca6a069d4915e71cd7c271b6bbbea37838f4f5
2021-06-02 11:30:36 -07:00
Anton Nikolaev
48b0eb8f18 Show login dialog on Flipper startup if user is not logged
Reviewed By: passy

Differential Revision: D28780529

fbshipit-source-id: 7f4c38d8461619fe5995654e23dc5739fc852ccc
2021-06-02 11:30:36 -07:00
Anton Nikolaev
c1f161045c Move sign-in sheet under fb folder
Summary: SignInSheet and "dispatcher/user" are not used in public build, so it doesn't make sense to keep them on github.

Reviewed By: passy

Differential Revision: D28789384

fbshipit-source-id: aa1ab0fc70f2211260017be42762714b753ea877
2021-06-02 11:30:36 -07:00
dependabot[bot]
ef1434db75 Bump react-transition-group from 4.4.1 to 4.4.2 in /desktop (#2397)
Summary:
Bumps [react-transition-group](https://github.com/reactjs/react-transition-group) from 4.4.1 to 4.4.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/reactjs/react-transition-group/releases">react-transition-group's releases</a>.</em></p>
<blockquote>
<h2>v4.4.2</h2>
<h2><a href="https://github.com/reactjs/react-transition-group/compare/v4.4.1...v4.4.2">4.4.2</a> (2021-05-29)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><code>nodeRef</code> prop type for cross-realm elements (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/732">https://github.com/facebook/flipper/issues/732</a>) (<a href="8710c01549">8710c01</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/reactjs/react-transition-group/blob/master/CHANGELOG.md">react-transition-group's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/reactjs/react-transition-group/compare/v4.4.1...v4.4.2">4.4.2</a> (2021-05-29)</h2>
<h3>Bug Fixes</h3>
<ul>
<li><code>nodeRef</code> prop type for cross-realm elements (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/732">https://github.com/facebook/flipper/issues/732</a>) (<a href="8710c01549">8710c01</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="8dc9ad8d94"><code>8dc9ad8</code></a> chore(release): 4.4.2 [skip ci]</li>
<li><a href="8710c01549"><code>8710c01</code></a> fix: <code>nodeRef</code> prop type for cross-realm elements (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/732">https://github.com/facebook/flipper/issues/732</a>)</li>
<li><a href="7b2360382d"><code>7b23603</code></a> build(deps): bump ws from 7.2.3 to 7.4.6 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/733">https://github.com/facebook/flipper/issues/733</a>)</li>
<li><a href="5a9aeecc61"><code>5a9aeec</code></a> build(deps): bump dns-packet from 1.3.1 to 1.3.4 in /www (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/731">https://github.com/facebook/flipper/issues/731</a>)</li>
<li><a href="ffa33d2c61"><code>ffa33d2</code></a> build(deps): bump browserslist from 4.16.3 to 4.16.6 in /www (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/728">#728</a>)</li>
<li><a href="bbd913b5a1"><code>bbd913b</code></a> build(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/722">https://github.com/facebook/flipper/issues/722</a>)</li>
<li><a href="5de4da59ad"><code>5de4da5</code></a> build(deps): bump lodash from 4.17.19 to 4.17.21 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/721">https://github.com/facebook/flipper/issues/721</a>)</li>
<li><a href="13571800d9"><code>1357180</code></a> build(deps): bump url-parse from 1.4.7 to 1.5.1 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/720">https://github.com/facebook/flipper/issues/720</a>)</li>
<li><a href="ce1816baf5"><code>ce1816b</code></a> build(deps): bump handlebars from 4.7.6 to 4.7.7 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/719">https://github.com/facebook/flipper/issues/719</a>)</li>
<li><a href="708ebbf965"><code>708ebbf</code></a> build(deps): bump ssri from 6.0.1 to 6.0.2 (<a href="https://github-redirect.dependabot.com/reactjs/react-transition-group/issues/715">https://github.com/facebook/flipper/issues/715</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/reactjs/react-transition-group/compare/v4.4.1...v4.4.2">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: nikoant

Differential Revision: D28795380

Pulled By: passy

fbshipit-source-id: 5c54fe693f30e74f48d3df4fbb983c60816ccbdd
2021-06-02 03:45:57 -07:00
Anton Nikolaev
eb788aaf43 Added "Zoom in", "Zoom out" and "Actual size" commands similarly to Google Chrome
Summary: Changelog: allow zooming Flipper window content in and out either using View menu or hotkeys (Cmd+Plus) and (Cmd+Minus)

Reviewed By: passy

Differential Revision: D28748567

fbshipit-source-id: a214c708cae2c82d04eb53fc879518a0106517de
2021-05-27 08:50:27 -07:00
dependabot[bot]
6902e55256 Bump ws from 7.3.0 to 7.4.6 in /desktop (#2371)
Summary:
Bumps [ws](https://github.com/websockets/ws) from 7.3.0 to 7.4.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/websockets/ws/releases">ws's releases</a>.</em></p>
<blockquote>
<h2>7.4.6</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a ReDoS vulnerability (00c425ec).</li>
</ul>
<p>A specially crafted value of the <code>Sec-Websocket-Protocol</code> header could be used
to significantly slow down a ws server.</p>
<pre lang="js"><code>for (const length of [1000, 2000, 4000, 8000, 16000, 32000]) {
  const value = 'b' + ' '.repeat(length) + 'x';
  const start = process.hrtime.bigint();
<p>value.trim().split(/ *, */);</p>
<p>const end = process.hrtime.bigint();</p>
<p>console.log('length = %d, time = %f ns', length, end - start);
}
</code></pre></p>
<p>The vulnerability was responsibly disclosed along with a fix in private by
Robert McLaughlin from University of California, Santa Barbara.</p>
<p>In vulnerable versions of ws, the issue can be mitigated by reducing the maximum
allowed length of the request headers using the <a href="https://nodejs.org/api/cli.html#cli_max_http_header_size_size"><code>--max-http-header-size=size</code></a>
and/or the <a href="https://nodejs.org/api/http.html#http_http_createserver_options_requestlistener"><code>maxHeaderSize</code></a> options.</p>
<h2>7.4.5</h2>
<h1>Bug fixes</h1>
<ul>
<li>UTF-8 validation is now done even if <code>utf-8-validate</code> is not installed
(23ba6b29).</li>
<li>Fixed an edge case where <code>websocket.close()</code> and <code>websocket.terminate()</code> did
not close the connection (67e25ff5).</li>
</ul>
<h2>7.4.4</h2>
<h1>Bug fixes</h1>
<ul>
<li>Fixed a bug that could cause the process to crash when using the
permessage-deflate extension (92774377).</li>
</ul>
<h2>7.4.3</h2>
<h1>Bug fixes</h1>
<ul>
<li>The deflate/inflate stream is now reset instead of reinitialized when context
takeover is disabled (<a href="https://github-redirect.dependabot.com/websockets/ws/issues/1840">https://github.com/facebook/flipper/issues/1840</a>).</li>
</ul>
<h2>7.4.2</h2>
<h1>Bug fixes</h1>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="f5297f7090"><code>f5297f7</code></a> [dist] 7.4.6</li>
<li><a href="00c425ec77"><code>00c425e</code></a> [security] Fix ReDoS vulnerability</li>
<li><a href="990306d144"><code>990306d</code></a> [lint] Fix prettier error</li>
<li><a href="32e3a8439b"><code>32e3a84</code></a> [security] Remove reference to Node Security Project</li>
<li><a href="8c914d18b8"><code>8c914d1</code></a> [minor] Fix nits</li>
<li><a href="fc7e27d12a"><code>fc7e27d</code></a> [ci] Test on node 16</li>
<li><a href="587c201bfc"><code>587c201</code></a> [ci] Do not test on node 15</li>
<li><a href="f672710797"><code>f672710</code></a> [dist] 7.4.5</li>
<li><a href="67e25ff502"><code>67e25ff</code></a> [fix] Fix case where <code>abortHandshake()</code> does not close the connection</li>
<li><a href="23ba6b2922"><code>23ba6b2</code></a> [fix] Make UTF-8 validation work even if utf-8-validate is not installed</li>
<li>Additional commits viewable in <a href="https://github.com/websockets/ws/compare/7.3.0...7.4.6">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: passy

Differential Revision: D28714468

Pulled By: nikoant

fbshipit-source-id: c2a3a7091599f29d453a35bf89bab4a03817509c
2021-05-27 03:51:53 -07:00
Pascal Hartig
bca8030df8 Dep bump
Summary:
Daily bump keeps the yada yada. Only patch updates or safe ones.

allow-large-files

Reviewed By: nikoant

Differential Revision: D28636754

fbshipit-source-id: d2a8c7fc0779bea30ff6532ae076694ce0e1fffa
2021-05-25 08:53:36 -07:00
Michel Weststrate
d9c986fcf8 Fix test flakiness by using jest timers
Summary: Some tests were occasionally flaky, by emulating delays, time variation should no longer influence tests.

Reviewed By: passy

Differential Revision: D28572946

fbshipit-source-id: f4134a6509a0ec0be2e8f36e5623c4882b5531b8
2021-05-25 02:22:21 -07:00
Pascal Hartig
bf32eca8fc Remove console.error for login
Summary:
This is in fact correctly handled, shown in the UI and we don't
need a task if someone pastes the wrong token.

Reviewed By: priteshrnandgaonkar

Differential Revision: D28569896

fbshipit-source-id: 689bff06b4a488be7ad4c58eb4f2e91018da31cf
2021-05-20 08:55:55 -07:00
Anton Nikolaev
fe7bb7cedd Fix null reference on isError check
Summary: Fixed new error which appeared in logview after last release. See task T91245438 for details.

Reviewed By: passy

Differential Revision: D28569848

fbshipit-source-id: a4b622d4387aa41ecc4db269e05c5315669df250
2021-05-20 07:13:35 -07:00
Anton Nikolaev
25ae4a0535 Include information about selected device, app and plugin into analytics events and error reports
Summary:
This diff generalises computation of the currently selected plugin, app, device etc. and adds this information to all the analytics events and error reports.

Slicing of events by os, device, app or selected plugin can be very useful. This is especially true for errors which often affects only certain types of devices, e.g. android only or physical devices only. Having such information can help to narrow down such issues.

Reviewed By: passy

Differential Revision: D28511441

fbshipit-source-id: ed9dc57927c70ed8cc6fe093e21604eae54c2f60
2021-05-19 05:17:41 -07:00
Pascal Hartig
3b6b684f10 Demote user errors
Summary:
One is keytar, which just needed a context.

The second one is happening every time someone uses Flipper
and not being on Lighthouse, spamming our log category besides
actually being properly handled.

Reviewed By: nikoant

Differential Revision: D28479791

fbshipit-source-id: 029721df46d12b2942b590a232618ef039a2323d
2021-05-18 08:34:19 -07:00
Anton Nikolaev
cfedabcdef Attribute error reports with plugin id and version
Summary: This diff adds attributing of all error reports with the information about the plugins caused them. To do that we try to map error stack trace to plugins by searching for plugin directories in it. We can do this only for plugins loaded from disk as we are looking for their physical locations in stack. To make it possible to search for multiple plugins in one go we build and maintain a trie containing all the loaded plugins locations.

Reviewed By: passy

Differential Revision: D28475938

fbshipit-source-id: 59c8ac39ffe54262b1d57f21fad44eb89748dff2
2021-05-18 08:08:30 -07:00