Commit Graph

827 Commits

Author SHA1 Message Date
Michel Weststrate
25fa0b7c61 Make plugin status screen more useful
Summary: If no device/client was selected, no plugins would show up in the plugin status list either, which is very confusing. Changed this to always show all loaded plugins, regardless of selected device / app.

Reviewed By: nikoant

Differential Revision: D29661006

fbshipit-source-id: 720a1697df7ed17b00d5db5a72a8e2b6bb344b1e
2021-07-13 03:34:15 -07:00
Michel Weststrate
88d6d000c8 Fixed error in error handling
Summary:
During component cleanup broke the error handling :'). Causing plugin errors to bubble up and be handled as chrome errors instead. This caused our soft crash metric to spike in the last week.

Changelog: Fixed error handling of UI errors caused by plugins

Reviewed By: passy

Differential Revision: D29585448

fbshipit-source-id: 4c5d40b300a7b71eeb532f7be4765f742d239890
2021-07-07 05:10:18 -07:00
Michel Weststrate
04ec026034 Converted some left-over JavaScript file to TypeScript
Summary: Found some errors in a CI failure originating from a JavaScript file. The horror!

Reviewed By: jknoxville

Differential Revision: D29549998

fbshipit-source-id: 633100ec9a446050bb0c703dcc37e9b132b17198
2021-07-06 01:46:44 -07:00
Michel Weststrate
9ca8bee208 Improve metro device error connection reporting
Summary: Slightly better error handling, as websockets errors propagated without context

Differential Revision: D29515852

fbshipit-source-id: 1df85977965e061a5e4d76bb22a4a3dfb74b6c04
2021-07-05 08:42:27 -07:00
Pascal Hartig
3981ac9b1e Monday dep bump
Summary:
Going through all the patch updates and other small updates to pre-empt dependabot.

allow-large-files

Reviewed By: jknoxville

Differential Revision: D29547777

fbshipit-source-id: 86ef2408da0564049916cd96d66665074cdc23f2
2021-07-05 08:30:31 -07:00
Pascal Hartig
38037db7d4 Upgrade testing-library
Summary:
One breaking change addressed.

Full changelog:
https://github.com/testing-library/dom-testing-library/releases/tag/v8.0.0

Reviewed By: priteshrnandgaonkar

Differential Revision: D29484251

fbshipit-source-id: 979208e25186cc58912e901df95be64f07202c3a
2021-07-01 10:22:02 -07:00
Anton Nikolaev
2a3b9c9e43 Fixed a bug with React Native plugins loading
Summary:
Fixed bug with "Hermes Debugger" and "React Dev Tools" plugin loading reported on GitHub: https://github.com/facebook/flipper/issues/2545.

Changelog: Fixed bug with React Native plugins not loaded: Hermes Debugger, React Dev Tools etc.

Reviewed By: mweststrate

Differential Revision: D29516394

fbshipit-source-id: 4620e3d2b49ca2a1d3a5b2dd76d40d4667a0980b
2021-07-01 06:24:08 -07:00
Michel Weststrate
328ba9513c Make flipper messages generally available, remove self inspection infra structure
Summary:
Changelog: Flipper message debugging moved from a separate device to the console tab

This makes message debugging easier accessible, and in production (recently requested at GH). Also it clears up a lot of infra that was created just to make flipper a self recursive inspection device + a separate plugin. While fun, a hardcoded setup is just a bit more simpler (no exception rules and better static verification)

Reviewed By: nikoant

Differential Revision: D29487811

fbshipit-source-id: b412adc3ef5bd831001333443b432b6c0f934a5e
2021-07-01 02:00:08 -07:00
Thuy Hai Nguyen
8da7495a1a Mutations GraphQL calls
Summary: Added Create, Update, and Delete GraphQL calls (local devdb)

Reviewed By: timur-valiev

Differential Revision: D29472343

fbshipit-source-id: 8fc93da87b90bf8b6cfe24b13bee5c5fe97ab7e3
2021-06-30 13:53:13 -07:00
Michel Weststrate
8e0d3cf779 Removed some old ui/ components
Summary: Removing old components that are no longer used, and cleaning up index.tsx to prevent future for some of those

Reviewed By: nikoant

Differential Revision: D29428621

fbshipit-source-id: 78ae51c09510738cf2d75982fdae35b9ef6d2d7e
2021-06-30 10:42:32 -07:00
Michel Weststrate
1dafe351f7 Remove SearchableDataInspector
Summary: Fury was the last user of this component

Reviewed By: nikoant

Differential Revision: D29426804

fbshipit-source-id: 793135119e70b41eda0391d3fedee1c9b6834cbd
2021-06-30 10:42:32 -07:00
Michel Weststrate
16154e1343 Remove classic plugin infra
Summary:
This removes all code duplication / old plugin infra that isn't needed anymore when all plugin run on the Sandy plugin infra structure.

The diff is quite large, but the minimal one that passes tests and compiles. Existing tests are preserved by wrapping all remaining tests in `wrapSandy` for classic plugins where needed

Reviewed By: passy

Differential Revision: D29394738

fbshipit-source-id: 1315fabd9f048576aed15ed5f1cb6414d5fdbd40
2021-06-30 10:42:32 -07:00
Michel Weststrate
9d6abd62c6 Always use Sandy wrapper
Summary:
Since the Sandy wrapper is now rolled out to 100%, removing the GK. Further code cleanup in next diffs.

Changelog: Flipper that don't use the new Sandy plugin format yet (see https://fbflipper.com/docs/extending/sandy-migration) will now always be loaded inside a legacy container

Reviewed By: timur-valiev

Differential Revision: D29394736

fbshipit-source-id: f7a7c321c6b6a82470d47e4352d86135c3849b82
2021-06-30 10:42:32 -07:00
Michel Weststrate
4b3772ced4 serialization
Summary: Remove serialisation utilities which are now unused

Reviewed By: priteshrnandgaonkar

Differential Revision: D29394737

fbshipit-source-id: 19ead40dfdb493cbbaee09745b3fc313272da34d
2021-06-30 10:42:32 -07:00
Anton Nikolaev
7a1b2ecc73 Basic plugin info view for open-source builds
Summary: Show a new view when a disabled/uninstalled plugin is selected in open-source Flipper build. I'm going to improve it later with additional info from npm packages metadata. For now it just shows status of the plugin and button to install/enable it.

Reviewed By: mweststrate

Differential Revision: D29482937

fbshipit-source-id: 45d207d3f6e846c354184f2b5fd911751d3164b0
2021-06-30 04:16:30 -07:00
Anton Nikolaev
4ad7a70ee3 Differentiate enabled and disabled selected plugins in analytics
Summary: As we now allow selection of disabled plugins we need to track plugin usage a bit smarter. We'll add a new field "pluginEnabled" to the logged messages to indicate whether selected plugin is enabled or not.

Reviewed By: cekkaewnumchai

Differential Revision: D29455248

fbshipit-source-id: 32c79e0961653edc8f4cc89adecc2662b37cbd7b
2021-06-29 13:02:05 -07:00
Anton Nikolaev
9fc85730ba Show plugin documentation in Flipper
Reviewed By: passy

Differential Revision: D29392524

fbshipit-source-id: 675de1fc070b1b8b22d0b27721c16dbd6f7076ef
2021-06-29 13:02:05 -07:00
Anton Nikolaev
116f6eb5ba Show PluginInfo for unavailable and not installed plugins
Summary: Updated PluginInfo component to show info about uninstalled and unavailable plugins in addition to enabled/disabled. Now any selected plugin will be shown there. For uninstalled plugins we will show "Install" action button. For unavailable plugins we wiil show an alert describing why plugin is unavailable.

Reviewed By: mweststrate

Differential Revision: D29254970

fbshipit-source-id: 0de32da5b5550ff6b7d452abf6ff7259677aebc5
2021-06-29 13:02:05 -07:00
Anton Nikolaev
e36eec82b2 Change PluginContainer to allow selecting unavailable plugins
Summary: Changed PluginContainer implementation to allow selecting unavailable/uninstalled plugins which was impossible before that. Please note that for now something is shown only for enabled and disabled plugins. In next diff I'm also adding content for unavailable and uninstalled plugins.

Reviewed By: mweststrate

Differential Revision: D29254788

fbshipit-source-id: da639e5efddc821061abb69df534ffdce8ccd4e0
2021-06-29 13:02:05 -07:00
Anton Nikolaev
ff5d8ba29f Use selectors to compute plugin lists according to the selected device and app
Summary: Use selectors to re-compute and cache plugin lists according to the selected device and app.

Reviewed By: mweststrate

Differential Revision: D29247845

fbshipit-source-id: 4bc669d5d441d605c4090086c4ce59b6d9684a4c
2021-06-29 13:02:05 -07:00
Anton Nikolaev
1d26faeacb Plugin Info UI layout
Summary: Initial layout for Plugin Info view built based on Plugin Manager Flow mockups.

Reviewed By: mweststrate

Differential Revision: D29186006

fbshipit-source-id: 01fafbdba049baf2e573228ff5b939ebc4871db2
2021-06-29 13:02:05 -07:00
Anton Nikolaev
fd9b5cc94d Use set instead of array to keep list of supported plugins per client
Summary: Use set instead of array to keep list of supported plugins per client. It is not used as array anyway, in most places it is used to determine whether a plugin is supported or not and it's much faster to use set for that.

Reviewed By: priteshrnandgaonkar

Differential Revision: D29200673

fbshipit-source-id: 5f3c404a1a668c153867d7c1b6c223941f0b3b36
2021-06-29 13:02:05 -07:00
Anton Nikolaev
280c612157 PluginInfo component
Summary: Moved PluginEnabler component from PluginContainer into a separate file PluginInfo and also refactored it to not use deprecated components. In following diffs I will be extending PluginInfo to show not only enabler, but also additional information about the currently selected plugin.

Reviewed By: priteshrnandgaonkar

Differential Revision: D29186007

fbshipit-source-id: 4c8af9dcc4dc53476b9c50305f2221aeb009553e
2021-06-29 13:02:05 -07:00
Anton Nikolaev
7bc38c1735 Allow selecting disabled, unsupported and not installed plugins
Summary:
This diffs removes restrictions on selecting disabled, uninstalled and unsupported plugins. Now it will be possible to select them, however for now empty view will be shown in such case.

In next diffs I'll add Plugin Info view which will be shown in case disabled plugin is selected. It will show static info about plugin - readme, version, oncall, user feedback group etc. This will make it possible for users to browse info about all plugins, even unsupported by selected device/app.

There is one problem that our analytics will be screwed by this change as even disabled plugins will be counted as used. I'll address this later in this stack.

If you see other potential problems with removing restrictions on selecting disabled plugins - please let me know.

Reviewed By: passy

Differential Revision: D29186005

fbshipit-source-id: 2e55c5fd3bb402594f4dbace6e287725de65bc6f
2021-06-29 13:02:05 -07:00
Pascal Hartig
bf1b10c130 Tuesday dep bump
Summary:
allow-large-files

More easy patch version updates.

Reviewed By: jknoxville

Differential Revision: D29453190

fbshipit-source-id: ef9bd37317f9e8e1809d624db5ed62ce34b56931
2021-06-29 09:33:22 -07:00
Michel Weststrate
8cbdd3d148 Dark mode tweaks
Summary: Went over all plugins and did superficial fixes to make most plugins look decent or at least usable in dark mode, which before they weren't :)

Reviewed By: priteshrnandgaonkar

Differential Revision: D29456680

fbshipit-source-id: 3952e5da512c68b89434eea081faf121d1049908
2021-06-29 08:39:34 -07:00
Michel Weststrate
014e571f74 Start application in the right theme
Summary:
Changelog: Improved dark mode support!

This diff makes sure that the dark mode preference is written to the Flipper config, and applied during startup, so that the ugly light/dark flash when starting Flipper in dark mode disappears

Reviewed By: passy

Differential Revision: D29436059

fbshipit-source-id: 0f762149848298512026fbd216d9a9e0bf4276db
2021-06-29 08:39:34 -07:00
Michel Weststrate
617f8a928c Use dark scrollbar and system elements
Summary:
This diff adds OS support for dark mode (at least on Mac), by making sure system elements are styled according to system dark theme.

For some unknown reason, this does apply to all system dialogs, titlebars etc, but not for scrollbars, so they got custom themed.

Differential Revision: D29436058

fbshipit-source-id: bac649b6cd81f0142c607ed567eeb00f41625041
2021-06-29 08:39:34 -07:00
Michel Weststrate
5c8dde0925 Theming colors
Summary:
This diff adds Sandy colors and dark mode support to the `DataInspector` and `LayoutInspector` components, and coverts hardcoded colors to semantic colors. Currently only one set of colors is used since they contrast fine with both dark and light mode, but this could be deviated from now onwards.

Also styled the legacy ManagedTable and Panel, since they are so commonly used (will convert more legacy components in next diffs).

Reviewed By: passy

Differential Revision: D28056698

fbshipit-source-id: 5a85103983f89e82b7f000d309bb9e1e1f07491d
2021-06-29 08:39:34 -07:00
Michel Weststrate
279f3c41b7 Introduce shallow serialization
Summary:
Changelog: [Flipper] Improve serialisation mechanism format & speed

The default serialisation mechanism used by Flipper to serialise plugin states is very flexible, taking care of maps, sets, dates etc. However, it is also really slow, leading to issues like in the related tasks, and work arounds like D17402443 (98bc01618f) to skip the whole process for plugins.

This diff changes the serialisation mechanism to have a better trade off between speed and convenience: For now we will only apply the smart serialisation for objects living at the _root_ of the serialised object, but it won't be applied recursively.

This sounds like a dangerous change, but works well in practice:
* I went through all `persistedState` and `createState` definition (the types), and the idea that complex types like Map and Set only live at the root of the persisted state holds up nicely. That makes sense as well since plugins typically store literally the same data as that they have received over the wire, except that they put it in some maps, sets etc.
* I introduced `assertSerializable` that only runs in dev/test, which will check (recursively, but without all the cloning) to see if a tree is indeed serialisable.
* The fact that by swapping this mechanism rarely existing unit test for exportData needed changes proves that the assumption that only roots are relevant generally upholds (or that plugin authors don't write enough tests ;-)).
* I verified that popular plugins still import / export correctly (actually *more* plugins are exportable now than before, thanks to sandy wrapper introduced earlier)

Reviewed By: jknoxville

Differential Revision: D29327499

fbshipit-source-id: 0ff17d9c5eb68fccfc2937b634cfa8f4f924247d
2021-06-29 08:04:22 -07:00
Michel Weststrate
d02c560150 Exporting a Flipper trace should not swallow errors
Summary: Noticed that when creating a flipper trace file, the errors were only shown in the console, but the dialog would hide.

Reviewed By: jknoxville, passy

Differential Revision: D29327500

fbshipit-source-id: 0ec60be28b5e3041f7cacd48ac4bcf13753f7219
2021-06-29 08:04:22 -07:00
Michel Weststrate
8359f74a21 Get rid of immutablejs
Summary:
Changelog: 'flipper' package no longer uses or exposes immutablejs, or ManagedTable_Immutable

ImmutableJS was used in a few places, requires some specific knowledge to use optimally (e.g. batching was used nowhere), but most importantly resulted in a lot of unmaintained code duplication in terms of ManagedTable_immutable and the searchable variant.

For the planned trace export speedups this means that there is also serialization case less to worry about.

Reviewed By: jknoxville

Differential Revision: D29265677

fbshipit-source-id: 92e86081c03fb8da59d2c9f975f04a05e275c317
2021-06-29 08:04:22 -07:00
dependabot[bot]
ecab50247f Bump @testing-library/dom from 7.31.2 to 8.0.0 in /desktop (#2529)
Summary:
Bumps [testing-library/dom](https://github.com/testing-library/dom-testing-library) from 7.31.2 to 8.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/testing-library/dom-testing-library/releases"><code>@​testing-library/dom</code>'s releases</a>.</em></p>
<blockquote>
<h2>v8.0.0</h2>
<h1><a href="https://github.com/testing-library/dom-testing-library/compare/v7.31.2...v8.0.0">8.0.0</a> (2021-06-23)</h1>
<h3>Recommendations</h3>
<ol>
<li>If you're using <code>jest</code> fake timers make sure you use modern timers
jest 27:
<pre lang="diff"><code>-jest.useFakeTimers('legacy')
+jest.useFakeTimers('modern')
 // jest.config.js
-&quot;timers&quot;: &quot;legacy&quot;,
+&quot;timers&quot;: &quot;modern&quot;,
</code></pre>
jest 26:
<pre lang="diff"><code>-jest.useFakeTimers()
+jest.useFakeTimers('modern')
 // jest.config.js
-&quot;timers&quot;: &quot;legacy&quot;,
+&quot;timers&quot;: &quot;modern&quot;,
</code></pre>
</li>
</ol>
<h3>chore</h3>
<ul>
<li>Release v8 as stable (<a href="https://github-redirect.dependabot.com/testing-library/dom-testing-library/issues/979">https://github.com/facebook/flipper/issues/979</a>) (<a href="d347302d6b">d347302</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Remove deprecated <code>waitFormDOMChange</code></li>
<li>Remove deprecated <code>waitForElement</code></li>
<li>The <code>timeout</code> in <code>waitFor(callback, { interval, timeout } )</code> now uses the same clock as <code>interval</code>. Previously <code>timeout</code> was always using the real clock while <code>interval</code> was using the global clock which could've been mocked out. For the old behavior I'd recommend <code>waitFor(callback, { interval, timeout: Number.POSITIVE_INFINITY })</code> and rely on your test runner to timeout considering real timers.</li>
<li><code>&lt;script /&gt;</code>, <code>&lt;style /&gt;</code> and comment nodes are now ignored by default in <code>prettyDOM</code> .If you whish to return to the old behavior, use a custom <code>filterNode</code> function. In this case <code>prettyDOM(element, { filterNode: () =&gt; true })</code>.</li>
<li>node 10 is no longer supported. It reached its end-of-life on 30.04.2021.</li>
</ul>
<h2>v8.0.0-alpha.7</h2>
<h1><a href="https://github.com/testing-library/dom-testing-library/compare/v8.0.0-alpha.6...v8.0.0-alpha.7">8.0.0-alpha.7</a> (2021-06-20)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>Consider <code>&lt;output /&gt;</code> labelable (<a href="https://github-redirect.dependabot.com/testing-library/dom-testing-library/issues/968">https://github.com/facebook/flipper/issues/968</a>) (<a href="56a4c759a0">56a4c75</a>)</li>
</ul>
<h2>v8.0.0-alpha.6</h2>
<h1><a href="https://github.com/testing-library/dom-testing-library/compare/v8.0.0-alpha.5...v8.0.0-alpha.6">8.0.0-alpha.6</a> (2021-06-12)</h1>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="84ebc5124f"><code>84ebc51</code></a> test(fake-timers): raf is now mocked in legacy fake timers (<a href="https://github-redirect.dependabot.com/testing-library/dom-testing-library/issues/986">https://github.com/facebook/flipper/issues/986</a>)</li>
<li><a href="d347302d6b"><code>d347302</code></a> chore: Release v8 as stable (<a href="https://github-redirect.dependabot.com/testing-library/dom-testing-library/issues/979">https://github.com/facebook/flipper/issues/979</a>)</li>
<li>See full diff in <a href="https://github.com/testing-library/dom-testing-library/compare/v7.31.2...v8.0.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@testing-library/dom&package-manager=npm_and_yarn&previous-version=7.31.2&new-version=8.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: mweststrate

Differential Revision: D29429955

Pulled By: cekkaewnumchai

fbshipit-source-id: 7a25bed5e6d85534a48815ddc5a5a5a701df5e7b
2021-06-28 17:03:28 -07:00
dependabot[bot]
88af2bc285 Bump mock-fs from 4.14.0 to 5.0.0 in /desktop (#2523)
Summary:
Bumps [mock-fs](https://github.com/tschaub/mock-fs) from 4.14.0 to 5.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/tschaub/mock-fs/releases">mock-fs's releases</a>.</em></p>
<blockquote>
<h2>5.0.0</h2>
<p>Breaking change</p>
<ul>
<li>Remove support for Node &lt; 12. If you want to use mock-fs to test on Node 10 or lower, stick with mock-fs@4.</li>
</ul>
<p>New features</p>
<ul>
<li>Support for BigInt file stats - required for Node 15+ (thanks <a href="https://github.com/3cp"><code>@​3cp</code></a>, see <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/325">https://github.com/facebook/flipper/issues/325</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/tschaub/mock-fs/blob/main/changelog.md">mock-fs's changelog</a>.</em></p>
<blockquote>
<h2>5.0.0</h2>
<p>Breaking change:</p>
<ul>
<li>Remove support for Node &lt; 12.  If you want to use mock-fs to test on Node 10 or lower, stick with mock-fs@4.</li>
</ul>
<p>New features:</p>
<ul>
<li>Support for BigInt file stats - required for Node 15+ (thanks <a href="https://github.com/3cp"><code>@​3cp</code></a>, see <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/325">https://github.com/facebook/flipper/issues/325</a><a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/325">https://github.com/facebook/flipper/issues/325</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="535a9481e1"><code>535a948</code></a> 5.0.0</li>
<li><a href="735d81a9fd"><code>735d81a</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/330">https://github.com/facebook/flipper/issues/330</a> from tschaub/publish-dev</li>
<li><a href="9eec537867"><code>9eec537</code></a> New workflow to publish dev tagged releases</li>
<li><a href="e1ff57f64a"><code>e1ff57f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/329">https://github.com/facebook/flipper/issues/329</a> from tschaub/errmap</li>
<li><a href="dce115ea0b"><code>dce115e</code></a> fix: uvBinding.errmap is undefined in Nodejs v12+</li>
<li><a href="c97e06fce9"><code>c97e06f</code></a> 5.0.0-beta.1</li>
<li><a href="c2033b8399"><code>c2033b8</code></a> Log changes</li>
<li><a href="24e674daac"><code>24e674d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/tschaub/mock-fs/issues/326">https://github.com/facebook/flipper/issues/326</a> from tschaub/uid-cleanup</li>
<li><a href="ec41697d3c"><code>ec41697</code></a> fix: uid 0 means root on POSIX, but not on Windows</li>
<li><a href="ae38cfef99"><code>ae38cfe</code></a> chore: use 0 internally for uid/gid on Windows</li>
<li>Additional commits viewable in <a href="https://github.com/tschaub/mock-fs/compare/v4.14.0...v5.0.0">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mock-fs&package-manager=npm_and_yarn&previous-version=4.14.0&new-version=5.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

</details>

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

Reviewed By: mweststrate

Differential Revision: D29430004

Pulled By: cekkaewnumchai

fbshipit-source-id: 67ef277b33f069257f4c79ac4ee4dce72164d461
2021-06-28 17:03:28 -07:00
dependabot[bot]
19778bf7f8 Bump metro-runtime from 0.65.2 to 0.66.0 in /desktop (#2531)
Summary:
Bumps [metro-runtime](https://github.com/facebook/metro) from 0.65.2 to 0.66.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/facebook/metro/releases">metro-runtime's releases</a>.</em></p>
<blockquote>
<h2>Release v0.66.0</h2>
<ul>
<li><strong>[Breaking]</strong> metro-symbolicate: Optionally accept a SourceURL parameter for debug builds (7ad7560)</li>
<li><strong>[Feature]</strong> Move generator to Hermes stable (b280477)</li>
<li><strong>[Feature]</strong> Move for-of and ?? to hermes stable (31375f7)</li>
<li><strong>[Feature]</strong> Set app name for React Native Experimental Debug Connection (3aca116)</li>
<li><strong>[Feature]</strong> Infer the name &quot;default&quot; for anonymous exports (af23a1b)</li>
<li><strong>[Fix]</strong> Disable fileName moduleId parsing for non-legacy source maps (e473e93)</li>
<li><strong>[Fix]</strong> Format log messages using printf format (f2b3485)</li>
<li><strong>[Fix]</strong> Fix scope of function declaration binding in constant folding (150d13e)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="20e4480f9e"><code>20e4480</code></a> Bump metro to 0.66.0</li>
<li><a href="7ad7560e33"><code>7ad7560</code></a> Optionally accept a SourceURL parameter for debug builds</li>
<li><a href="af23a1b27b"><code>af23a1b</code></a> Infer the name &quot;default&quot; for anonymous exports</li>
<li><a href="31375f7604"><code>31375f7</code></a> Move for-of and ?? to hermes stable</li>
<li><a href="3aca116973"><code>3aca116</code></a> Set app name for React Native Experimental Debug Connection</li>
<li><a href="4bd9e40297"><code>4bd9e40</code></a> Deploy v0.148.0 to xplat</li>
<li><a href="54bcce22c6"><code>54bcce2</code></a> Backout for-of and canary ??</li>
<li><a href="f66d6e37f2"><code>f66d6e3</code></a> Canary Hermes for-of</li>
<li><a href="17d4761946"><code>17d4761</code></a> Clean up redundant experimental flowconfig options</li>
<li><a href="0b4f46c064"><code>0b4f46c</code></a> Update troubleshooting docs for metro cache tmpdir (<a href="https://github-redirect.dependabot.com/facebook/metro/issues/642">https://github.com/facebook/flipper/issues/642</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/facebook/metro/compare/v0.65.2...v0.66.0">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: mweststrate

Differential Revision: D29429944

Pulled By: cekkaewnumchai

fbshipit-source-id: 17134158706e3e56c784b68d738e10906bdd9efa
2021-06-28 17:03:28 -07:00
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