Commit Graph

2926 Commits

Author SHA1 Message Date
Anton Nikolaev
5383017299 Separate interfaces for installed, bundled and downloadable plugins
Summary:
I've re-designed interfaces describing plugins as I found that mental overhead working with them became too expensive because of slightly flawed design. However this cascaded changes in many files so you can see how extensively these interfaces used in our codebase.

Before this change we had one interface PluginDetails which described three different entities: 1) plugins installed on the disk 2) plugins bundled into Flipper 3) plugins available on Marketplace. It's hard to use this "general" PluginDetails interface because of this as you always need to think about all three use cases everywhere.

After this change we have 3 separate interfaces: InstalledPluginDetails, BundledPluginDetails and DownloadablePluginDetails and things became much type-safer now.

Reviewed By: mweststrate

Differential Revision: D25530383

fbshipit-source-id: b93593916a980c04e36dc6ffa168797645a0ff9c
2020-12-15 09:31:57 -08:00
Anton Nikolaev
efb82e80b5 Plugin download progress and error handling
Summary: Show progress reporting in sidebar during plugin download. Also handle plugin download errors and show them to user as notifications.

Reviewed By: mweststrate

Differential Revision: D25530385

fbshipit-source-id: 42bf0e65b4434d00c1465705ce9ec5c723df6841
2020-12-15 09:31:56 -08:00
Anton Nikolaev
c3d61cc32d Persist uninstalled plugins list
Summary: This diff changes uninstallation procedure for plugins. Instead of deleting plugin files immediately we are keeping them, but mark them as "uninstalled". This makes it possible to re-install plugins quickly in case when user clicked "delete" by mistake.

Reviewed By: mweststrate

Differential Revision: D25493479

fbshipit-source-id: 9ff29d717cdd5401c55388f24d479599579c8dd3
2020-12-15 09:31:56 -08:00
Anton Nikolaev
df03ccbeab Uninstall plugins from sidebar
Summary: Added UI for uninstalling plugins from sidebar. To avoid confusion between "disable" and "uninstall" and to reduce possibility of errors when plugins uninstalled accidentally by misclicks, I made it only possible to uninstall plugins after they are disabled. So for enabled plugins two steps are required for uninstalling.

Reviewed By: mweststrate

Differential Revision: D25454117

fbshipit-source-id: 28e67dc1ff2d39ad67e6d2770302a996affd9723
2020-12-15 09:31:56 -08:00
Anton Nikolaev
97d37abbb2 Install plugins from sidebar
Summary:
This diff adds "download" button to the plugins shown in "Detected in App" section, so they can be downloaded, installed and enabled just in one click.

For now UI is very simple - there is no progress indication and no error handling for failed downloads. I'll add them in next diffs.

Please note that we are explicitly "star" every installed plugin to enable it straight away without additional clicks in "disabled" section.

Reviewed By: mweststrate

Differential Revision: D25393472

fbshipit-source-id: 0a224ea6d03db0ee9a70b7fa35ede9616c03d824
2020-12-15 09:31:55 -08:00
Anton Nikolaev
ab441d8226 Tests for plugin installer with in-memory file system (#1761)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1761

Plugin installed logic is quite complex and heavily relies on file system. So I added integration tests which uses in-memory file system. Here I've covered complex functions added in the previous diff of this stack.

Reviewed By: mweststrate

Differential Revision: D25393473

fbshipit-source-id: a823eb7d6707152a1c3717a6da25b6beee85801d
2020-12-15 09:31:55 -08:00
Anton Nikolaev
02d695cb28 Keep multiple installed versions of each plugin
Summary:
This diff changes directory structure for installed plugins to allow installation of multiple versions simultaneously, e.g. to to allow downloading new plugin version while user is still using the previous one, and to have possibility of fast rollback to the previous installed if necessary. The new folder for installed plugins is located in `~/.flipper/installed-plugins` and has the following structure:

  flipper-plugin-reactotron
    1.0.0
      ...
      package.json
    1.0.1
      ...
      package.json
  flipper-plugin-network
    0.67.1
      ...
      package.json
    0.67.2
      ...
      package.json

The tricky part here is that we also need to migrate already installed plugins from the old folder `~/.flipper/thirdparty` to the new folder and maintain the new structure for them.

Another tricky part is that we need to periodically cleanup old versions. For now we will just keep 2 versions of each plugin. Cleanup is performed in background right after Flipper startup.

Reviewed By: mweststrate

Differential Revision: D25393474

fbshipit-source-id: 26617ac26114148f797cc3d6765a42242edc205e
2020-12-15 09:31:54 -08:00
Anton Nikolaev
9c5f59e109 "Detected in App" section added to sidebar
Summary:
New section "Detected in App" in the main sidebar showing plugins which are supported by the currently selected client app, but not installed in Flipper.

Note that in this diff we only show them, there is no "install" button yet. I will add it in a next diff.

Reviewed By: mweststrate

Differential Revision: D25361915

fbshipit-source-id: 8fff6887a8ec04b3b59c939a758c8f801f42490f
2020-12-15 09:31:54 -08:00
Anton Nikolaev
f3e1a48ff3 Plugin Marketplace state refresh and cache
Summary:
Separate dispatcher for periodic refreshing available plugins data from the Marketplace backend and caching it locally.

The plugin auto update downloader subscribes to these state refreshes and automatically schedules plugin update downloads when required.

Reviewed By: passy

Differential Revision: D25360897

fbshipit-source-id: 5b6d95b63ff47b8ae9ad8b12e2480d1fed524ca5
2020-12-15 09:31:54 -08:00
Anton Nikolaev
5b26f36672 Plugin Marketplace API
Summary: Extracted plugin marketplace API to a separate file and updated it to load full plugin manifests.

Reviewed By: passy

Differential Revision: D25181759

fbshipit-source-id: a63f9ce16249ccc170df148cef5c209fdc6d4d6d
2020-12-15 09:31:54 -08:00
Michel Weststrate
658b3e8a91 Make sure Lite app uses FB branding
Summary: Fixes https://fb.workplace.com/groups/flippersupport/permalink/1038883216592336/

Reviewed By: passy

Differential Revision: D25557366

fbshipit-source-id: 7b821ad7cd52454294482a00c5dc59c57b85f757
2020-12-15 08:22:31 -08:00
dependabot[bot]
dd8403bb8c Bump async-mutex from 0.1.4 to 0.2.6 in /desktop (#1748)
Summary:
Bumps [async-mutex](https://github.com/DirtyHairy/async-mutex) from 0.1.4 to 0.2.6.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/DirtyHairy/async-mutex/blob/master/CHANGELOG.md">async-mutex's changelog</a>.</em></p>
<blockquote>
<h2>0.2.6</h2>
<ul>
<li>Fix a nasty <a href="https://github-redirect.dependabot.com/DirtyHairy/async-mutex/issues/27">bug</a> related to
consecutive calls to <code>mutex::release</code>.</li>
</ul>
<h2>0.2.5</h2>
<ul>
<li>Nothing new thanks to NPM. Go away. Install 0.2.6.</li>
</ul>
<h2>0.2.4</h2>
<ul>
<li>Calling Semaphore::release on a semaphore with concurrency &gt; 1 will not work
as expected; throw an exception in this case</li>
<li>Make the warning on using Semaphore::release and Mutex::release more prominent</li>
</ul>
<h2>0.2.3</h2>
<ul>
<li>Add alternate Semaphore::release and Mutex::release API</li>
<li>Work around build warnings with react native (and probably other bundlers)</li>
</ul>
<h2>0.2.2</h2>
<ul>
<li>Improve compatibility with older versions of node 13, thanks to <a href="https://github.com/josemiguelmelo">josemiguelmelo</a></li>
</ul>
<h2>0.2.1</h2>
<ul>
<li>Remove sourcemaps</li>
</ul>
<h2>0.2.0</h2>
<ul>
<li>Add a <code>Semaphore</code>, reimplement <code>Mutex</code> on top of it</li>
<li>Add a <code>withTimeout</code> decorator that limits the time the program waits
for the mutex or semaphore to become available</li>
<li>Support native ES6 imports on Node &gt;= 12</li>
<li>Provide an ES6 module entrypoint for ES6 aware bundlers</li>
<li>Dependency bump</li>
<li>Switch from TSlint to ESlint</li>
<li>Enable code coverage in tests</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="6cec83aa0b"><code>6cec83a</code></a> F*** NPM.</li>
<li><a href="2593cedbaa"><code>2593ced</code></a> Bump version.</li>
<li><a href="8331143c13"><code>8331143</code></a> Fix consecutive calls to mutex::release.</li>
<li><a href="e7bc6a43c9"><code>e7bc6a4</code></a> Dependency bump.</li>
<li><a href="2bfeb96e22"><code>2bfeb96</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/DirtyHairy/async-mutex/issues/24">https://github.com/facebook/flipper/issues/24</a> from nnoodle/master</li>
<li><a href="6191e6d22c"><code>6191e6d</code></a> Fixed a few spelling errors</li>
<li><a href="0ccb014c91"><code>0ccb014</code></a> Forbid Semaphore::release for concurrency &gt; 1, documentation, bump version.</li>
<li><a href="391433bf0c"><code>391433b</code></a> Changelog, bump version.</li>
<li><a href="4b99572248"><code>4b99572</code></a> Add alternate release API.</li>
<li><a href="1dc676d2cf"><code>1dc676d</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/DirtyHairy/async-mutex/issues/16">https://github.com/facebook/flipper/issues/16</a> from ranma42/patch-1</li>
<li>Additional commits viewable in <a href="https://github.com/DirtyHairy/async-mutex/compare/v0.1.4...v0.2.6">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: mweststrate

Differential Revision: D25373190

Pulled By: passy

fbshipit-source-id: 4e45c55391aa136c78abeeb25a0783a0d37ccbce
2020-12-15 04:44:33 -08:00
Michel Weststrate
08b5644253 Killed Flipper headless
Reviewed By: nikoant

Differential Revision: D24160480

fbshipit-source-id: 221e60473dddc0a49cea674e210beb6f85b1b03c
2020-12-15 01:46:44 -08:00
Michel Weststrate
41a1af33cb Kill metrics reducer
Reviewed By: nikoant

Differential Revision: D24332440

fbshipit-source-id: 0a48b25f98d93b181b622e8477a74c7ef0094816
2020-12-15 01:44:27 -08:00
Michel Weststrate
092a286bc8 Update several deps at once
Summary: Fixes #1771, #1770, #1769, #1768, #1767, #1766

Reviewed By: nikoant

Differential Revision: D25533717

fbshipit-source-id: 86b90e1ec93f0255edcf1cf3cf5fb2311f0ca23f
2020-12-14 09:14:23 -08:00
Michel Weststrate
a1a53391d5 Make sure JS Web launcher is accessible from launcher dialog
Summary: Addresses https://fb.workplace.com/groups/748354712423318/permalink/1038486449965346/

Reviewed By: timur-valiev

Differential Revision: D25533227

fbshipit-source-id: 7e961df301a6dbf99c158612c7c5d80191082697
2020-12-14 09:05:13 -08:00
dependabot[bot]
1cad57d750 Bump ini from 1.3.5 to 1.3.8 in /desktop (#1760)
Summary:
Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8.
<details>
<summary>Commits</summary>
<ul>
<li><a href="a2c5da8660"><code>a2c5da8</code></a> 1.3.8</li>
<li><a href="af5c6bb5dc"><code>af5c6bb</code></a> Do not use Object.create(null)</li>
<li><a href="8b648a1ac4"><code>8b648a1</code></a> don't test where our devdeps don't even work</li>
<li><a href="c74c8af35f"><code>c74c8af</code></a> 1.3.7</li>
<li><a href="024b8b55ac"><code>024b8b5</code></a> update deps, add linting</li>
<li><a href="032fbaf5f0"><code>032fbaf</code></a> Use Object.create(null) to avoid default object property hazards</li>
<li><a href="2da90391ef"><code>2da9039</code></a> 1.3.6</li>
<li><a href="cfea636f53"><code>cfea636</code></a> better git push script, before publish instead of after</li>
<li><a href="56d2805e07"><code>56d2805</code></a> do not allow invalid hazardous string as section name</li>
<li>See full diff in <a href="https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~isaacs">isaacs</a>, a new releaser for ini since your current version.</p>
</details>
<br />

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

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

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

 ---

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

You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flipper/network/alerts).

</details>

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

Reviewed By: nikoant

Differential Revision: D25523897

Pulled By: passy

fbshipit-source-id: 706e57784e1f4beaaf849b45e3c1aeee44cc56e1
2020-12-14 05:57:30 -08:00
Michel Weststrate
2ad81f2c63 Reduce sign in errors
Summary:
A lot of the errors in our monitoring / logs are mere sign in errors. Many of them are unnecessary as they are features triggered automatically even when the user isn't logged in.

This diff improves error handling and prevents requires from being made / features from being used by introducing a `<RequireLogin>` component that will hide an underlying feature if the user isn't logged in.

This also prevents the support request form from failing after the user has filled in all details.

This also fixes an issue where mobilebuilds plugin didn't refresh after the user did log in.

From our monitoring error 1,9 and 10:

{F350458668}

Reviewed By: jknoxville

Differential Revision: D25494356

fbshipit-source-id: 95701381bb74c27b9ea9658dc4df678e5f0710e0
2020-12-14 02:01:27 -08:00
dependabot[bot]
91b501d0ed Bump antd from 4.6.6 to 4.9.1 in /desktop (#1734)
Summary:
allow-large-files

Bumps [antd](https://github.com/ant-design/ant-design) from 4.6.6 to 4.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/ant-design/ant-design/releases">antd's releases</a>.</em></p>
<blockquote>
<h2>4.9.1</h2>
<ul>
<li>TypeScript
<ul>
<li>� Fix Collapse.Panel <code>collapsible</code> property to optional. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28092">#28092</a> <a href="https://github.com/sammarks">sammarks</a></li>
</ul>
</li>
</ul>
<hr />
<ul>
<li>TypeScript
<ul>
<li>� 修复 Collapse.Panel 可折叠属性 <code>collapsible</code> 为可选。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28092">#28092</a> <a href="https://github.com/sammarks">sammarks</a></li>
</ul>
</li>
</ul>
<h2>4.9.0</h2>
<ul>
<li>Modal
<ul>
<li>{emoji:1f195} Modal support <code>focusTriggerAfterClose</code> to disable auto focus back. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27985">#27985</a> <a href="https://github.com/molokovev">molokovev</a></li>
<li>{emoji:1f41e} Fix Modal hooks not trigger <code>onCancel</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28063">#28063</a> <a href="https://github.com/JuniorTour">JuniorTour</a></li>
<li>{emoji:1f41e} Fix Modal sometime not popup from the click position. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28037">#28037</a></li>
<li>{emoji:1f195} Support <code>closable</code> and <code>closeIcon</code> api for Modal.method. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27909">#27909</a> <a href="https://github.com/MrHeer">MrHeer</a></li>
</ul>
</li>
<li>{emoji:1f484} Reduce Table selection column width to <code>32px</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28073">#28073</a></li>
<li>Image
<ul>
<li>{emoji:1f525} Image add PreviewGroup component to support multiple images preview. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28069">#28069</a></li>
<li>{emoji:1f41e} Fix Image style prop not acting on img element. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27446">#27446</a></li>
</ul>
</li>
<li>Collapse
<ul>
<li>{emoji:1f525} Collapse support <code>collapsible</code> to customize trigger region and deprecated Panel <code>disabled</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27790">#27790</a></li>
<li>{emoji:1f41e} Fix Collapse cannot contains <code>&lt;Table sticky /&gt;</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28039">#28039</a></li>
</ul>
</li>
<li>{emoji:1f41e} Fix Cascader bug that empty data can be selected. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28062">#28062</a> <a href="https://github.com/n0ruSh">n0ruSh</a></li>
<li>{emoji:1f195} Alert support <code>action</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/25892">#25892</a> <a href="https://github.com/jesse3mh9a">jesse3mh9a</a></li>
<li>{emoji:1f525} Tree refactor drag behavior. Add <code>dropIndicatorRender</code> and <code>allowDrop</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/26462">#26462</a> <a href="https://github.com/07akioni">07akioni</a></li>
<li>{emoji:1f195} Space support <code>wrap</code> for auto break line. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27910">#27910</a></li>
<li>{emoji:1f195} Descriptions.Item support <code>labelStyle</code> &amp; <code>contentStyle</code> props. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27897">#27897</a></li>
<li>{emoji:1f195} Form.List support <code>initialValue</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27872">#27872</a></li>
<li>{emoji:1f195} Menu supports <code>expandIcon</code>, and optimize default expand icon style. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27565">#27565</a></li>
<li>{emoji:1f195} Input and TextArea add <code>setSelectionRange</code> of <code>ref</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27584">#27584</a> <a href="https://github.com/appleshell">appleshell</a></li>
<li>{emoji:1f195} Select support <code>filterSort</code> to order the filtered options. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27523">#27523</a> <a href="https://github.com/n0ruSh">n0ruSh</a></li>
<li>{emoji:1f1f0_1f1ff} Add Kazakh locale. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27589">#27589</a> <a href="https://github.com/nodkz">nodkz</a></li>
</ul>
<hr />
<ul>
<li>Modal
<ul>
<li>{emoji:1f195} Modal 支持 <code>focusTriggerAfterClose</code> 以关闭自动恢复焦点的功能。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27985">#27985</a> <a href="https://github.com/molokovev">molokovev</a></li>
<li>{emoji:1f41e} 修复 Modal hooks 没有触发 <code>onCancel</code> 的问题。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28063">#28063</a> <a href="https://github.com/JuniorTour">JuniorTour</a></li>
<li>{emoji:1f41e} 修复 Modal 有时不在点击位置弹出的问题。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28037">#28037</a></li>
<li>{emoji:1f195} Modal.method 支持 <code>closable</code> 和 <code>closeIcon</code>。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27909">#27909</a> <a href="https://github.com/MrHeer">MrHeer</a></li>
</ul>
</li>
<li>{emoji:1f484} 减少 Table 选中列宽度至 <code>32px</code>。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28073">#28073</a></li>
<li>Image
<ul>
<li>{emoji:1f525} Image 增加 PreviewGroup 组件支持多张图片预览。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28069">#28069</a></li>
<li>{emoji:1f41e} 修复 Image style 属性未作用于 img 元素的问题。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27446">#27446</a></li>
</ul>
</li>
<li>Collapse
<ul>
<li>{emoji:1f525} Collapse 添加 <code>collapsible</code> 以支持指定可折叠触发区域并废弃 Panel 的 <code>disabled</code> 属性。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27790">#27790</a></li>
<li>{emoji:1f41e} 修复 Collapse 内使用 <code>&lt;Table sticky /&gt;</code> 时不生效的问题。<a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28039">#28039</a></li>
</ul>
</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/ant-design/ant-design/blob/master/CHANGELOG.en-US.md">antd's changelog</a>.</em></p>
<blockquote>
<h2>4.9.1</h2>
<p><code>2020-12-01</code></p>
<ul>
<li>TypeScript
<ul>
<li>� Fix Collapse.Panel <code>collapsible</code> property to optional. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28092">#28092</a> <a href="https://github.com/sammarks">sammarks</a></li>
</ul>
</li>
</ul>
<h2>4.9.0</h2>
<p><code>2020-11-30</code></p>
<ul>
<li>Modal
<ul>
<li>{emoji:1f195} Modal support <code>focusTriggerAfterClose</code> to disable auto focus back. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27985">#27985</a> <a href="https://github.com/molokovev">molokovev</a></li>
<li>{emoji:1f41e} Fix Modal hooks not trigger <code>onCancel</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28063">#28063</a> <a href="https://github.com/JuniorTour">JuniorTour</a></li>
<li>{emoji:1f41e} Fix Modal sometime not popup from the click position. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28037">#28037</a></li>
<li>{emoji:1f195} Support <code>closable</code> and <code>closeIcon</code> api for Modal.method. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27909">#27909</a> <a href="https://github.com/MrHeer">MrHeer</a></li>
</ul>
</li>
<li>{emoji:1f484} Reduce Table selection column width to <code>32px</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28073">#28073</a></li>
<li>Image
<ul>
<li>{emoji:1f525} Image add PreviewGroup component to support multiple images preview. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28069">#28069</a></li>
<li>{emoji:1f41e} Fix Image style prop not acting on img element. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27446">#27446</a></li>
</ul>
</li>
<li>Collapse
<ul>
<li>{emoji:1f525} Collapse support <code>collapsible</code> to customize trigger region and deprecated Panel <code>disabled</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27790">#27790</a></li>
<li>{emoji:1f41e} Fix Collapse cannot contains <code>&lt;Table sticky /&gt;</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28039">#28039</a></li>
</ul>
</li>
<li>{emoji:1f41e} Fix Cascader bug that empty data can be selected. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28062">#28062</a> <a href="https://github.com/n0ruSh">n0ruSh</a></li>
<li>{emoji:1f195} Alert support <code>action</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/25892">#25892</a> <a href="https://github.com/jesse3mh9a">jesse3mh9a</a></li>
<li>{emoji:1f525} Tree refactor drag behavior. Add <code>dropIndicatorRender</code> and <code>allowDrop</code> prop. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/26462">#26462</a> <a href="https://github.com/07akioni">07akioni</a></li>
<li>{emoji:1f195} Space support <code>wrap</code> for auto break line. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27910">#27910</a></li>
<li>{emoji:1f195} Descriptions.Item support <code>labelStyle</code> &amp; <code>contentStyle</code> props. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27897">#27897</a></li>
<li>{emoji:1f195} Form.List support <code>initialValue</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27872">#27872</a></li>
<li>{emoji:1f195} Menu supports <code>expandIcon</code>, and optimize default expand icon style. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27565">#27565</a></li>
<li>{emoji:1f195} Input and TextArea add <code>setSelectionRange</code> of <code>ref</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27584">#27584</a> <a href="https://github.com/appleshell">appleshell</a></li>
<li>{emoji:1f195} Select support <code>filterSort</code> to order the filtered options. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27523">#27523</a> <a href="https://github.com/n0ruSh">n0ruSh</a></li>
<li>{emoji:1f1f0_1f1ff} Add Kazakh locale. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27589">#27589</a> <a href="https://github.com/nodkz">nodkz</a></li>
</ul>
<h2>4.8.6</h2>
<p><code>2020-11-27</code></p>
<ul>
<li>{emoji:1f41e} Fix Badge style blink when mounted. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28003">#28003</a></li>
<li>{emoji:1f484} Reduce Modal style size. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27998">#27998</a></li>
<li>{emoji:1f41e} Fix Layout.Sider can not collapse when <code>width='0'</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28000">#28000</a></li>
<li>{emoji:1f41e} Fix Menu style when using none Ant Design icons. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27983">#27983</a></li>
<li>Input
<ul>
<li>{emoji:1f41e} Fix Input.Search button height when customize less variables. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27986">#27986</a></li>
<li>{emoji:1f41e} Fix Input.Search <code>addonBefore</code> abnormal style. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27960">#27960</a></li>
</ul>
</li>
<li>{emoji:1f41e} Fix Typography.Link clicking copy button will redirect. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27982">#27982</a></li>
<li>{emoji:1f41e} Fix Carousel throws error <code>Unable to preventDefault inside passive event listener</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/27957">#27957</a></li>
<li>{emoji:1f310} Improve data picker locale for <code>en_GB</code> and <code>zh_TW</code>. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28016">#28016</a> <a href="https://github.com/abz53378">abz53378</a></li>
<li>RTL
<ul>
<li>{emoji:1f484} Optimize the border style of Descriptions in RTL model. <a href="https://github-redirect.dependabot.com/ant-design/ant-design/pull/28010">#28010</a></li>
</ul>
</li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="dda1f2b09c"><code>dda1f2b</code></a> refactor: &lt;Timeline/&gt; move defaultProps into single destructuring (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28094">#28094</a>)</li>
<li><a href="511c8510fb"><code>511c851</code></a> chore: allow run compressed size from outside PR</li>
<li><a href="2cc6b0ca05"><code>2cc6b0c</code></a> refactor: optimize &lt;Timeline/&gt; bundle size (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28095">#28095</a>)</li>
<li><a href="6e040bbd98"><code>6e040bb</code></a> docs: 4.9.1 changelog (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28102">#28102</a>)</li>
<li><a href="30cc31af7e"><code>30cc31a</code></a> chore: Fix site deploy script</li>
<li><a href="16bc4bcdab"><code>16bc4bc</code></a> fix: Collapse.Panel collapsible should be optional (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28092">#28092</a>)</li>
<li><a href="682b55d6b6"><code>682b55d</code></a> docs: 4.9.0 changelog (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28088">#28088</a>)</li>
<li><a href="98ddb8d8da"><code>98ddb8d</code></a> chore: RM circle ci (<a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28080">#28080</a>)</li>
<li><a href="6bb9701e23"><code>6bb9701</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/ant-design/ant-design/issues/28081">#28081</a> from ant-design/feature</li>
<li><a href="ac3142acf6"><code>ac3142a</code></a> docs: fix site warning message</li>
<li>Additional commits viewable in <a href="https://github.com/ant-design/ant-design/compare/4.6.6...4.9.1">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=antd&package-manager=npm_and_yarn&previous-version=4.6.6&new-version=4.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/configuring-github-dependabot-security-updates)

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/1734

Test Plan:
Imported from GitHub, without a `Test Plan:` line.

Did some exploratory testing and styling simplifications

{F350178586}

Reviewed By: nikoant

Differential Revision: D25461255

Pulled By: mweststrate

fbshipit-source-id: 2f2948664f302829d8fc4bc954b910ff4d033b4c
2020-12-11 06:48:08 -08:00
Michel Weststrate
0d7864da4e Hide dark mode setting in OSS version
Summary: See https://github.com/facebook/flipper/issues/1755, we did hide the Sandy option in OSS, but not the dark mode option. I intend to enable & switch to Sandy in OSS after the holidays, to make it easier to deal with any possible fallout.

Reviewed By: nikoant

Differential Revision: D25460906

fbshipit-source-id: b80d751f2ff435775d08d17effb81e56db738d4d
2020-12-10 07:03:36 -08:00
Michel Weststrate
455b8c9316 Fix scroll into view and selection highlighting in Pluginlist
Summary: Noticed when testing `selectClient` logic, that if plugin selection is changed programmatically rather than interactively, the selection isn't updated, and the scrolling wasn't working nicely either (since `active` collided with a non-public Ant field it always got overriden).

Reviewed By: nikoant

Differential Revision: D25460681

fbshipit-source-id: 1854ee8b9e6b2a2580f2143cd834ac1eacd296a9
2020-12-10 05:34:25 -08:00
Michel Weststrate
52862f6083 Introduce isPluginAvailable and selectPlugin
Summary:
Introduced API to replace the deprecated `selectPlugin` in Sandy.

The API can be used to navigate from `device plugin -> device plugin`, or` client plugin -> device / client plugin`

Introduced `isPluginAvailable` as well, so that the user interaction an be fine tuned in case the plugin is not disabled.

Reviewed By: jknoxville

Differential Revision: D25422370

fbshipit-source-id: c6c603f1c68e6291280b3d0883e474448754ded1
2020-12-09 14:36:18 -08:00
generatedunixname89002005306973
4fa2c9761a Flipper Release: v0.69.0
Summary: Releasing version 0.69.0

Reviewed By: mweststrate

Differential Revision: D25421257

fbshipit-source-id: aceee72e7d544cefe6717ed7b8c79679d2159e2b
2020-12-09 05:43:39 -08:00
Michel Weststrate
dc328ef3fd Fix checkbox not toggling
Summary: In the Sandy welcome screen, the `Don't show this dialog again` checkbox couldn't not be toggled back on after it was toggled off.

Reviewed By: passy

Differential Revision: D25421721

fbshipit-source-id: c58170bb9442d1114d1197655bc58f61e47da880
2020-12-09 05:33:08 -08:00
Michel Weststrate
2222a2b71c Add option to wipe local storage
Summary: This diff adds an option to wipe local storage to the settings dialog, to reset all preferences, table column widths, changelog and Nux state, etc. etc. in one go. This is primarily an self-fixing mechanism in case we mess up in the future, but useful during development / testing as well.

Reviewed By: passy

Differential Revision: D25421722

fbshipit-source-id: 3b69653b2142a7178ef83e01d35309f3a971e2cf
2020-12-09 05:33:08 -08:00
Michel Weststrate
4832d6275b Fix activatePlugin measurements not completing
Summary:
`activatePlugin` events where not recorded correctly for Sandy plugins. Although the starting measuerments is fired the `connections` reducer, the completing event fires from `PluginContainer`. Since this is done as part of a ref-update (!!), see [here](https://www.internalfb.com/intern/diffusion/FBS/browse/master/xplat/sonar/desktop/app/src/PluginContainer.tsx?commit=65a625ea9941&lines=155), and the ref to the corresponding element is not set for Sandy plugins, the event was never marked as completed.
Fixed this by making it part of the `activate` life-cycle event of Sandy plugins.

Reviewed By: passy

Differential Revision: D25421537

fbshipit-source-id: 5cbfeb91cc12e4520fa271bab24034094d7ddb39
2020-12-09 05:33:08 -08:00
Michel Weststrate
8dc321c1ee Verify that all APIs are documented in unit test
Summary: When exposing new top-level APIs from `flipper-plugin`, they should be documented. Added a unit test to enforce this and added documentation for all missing APIs.

Reviewed By: passy

Differential Revision: D25421401

fbshipit-source-id: f5cafc1881de846c8a5dd86e5d094ebd27a66f2a
2020-12-09 05:33:08 -08:00
Michel Weststrate
4aff8c1bcf Introduce useLogger hook
Summary: In the Flipper chrome there is a lot of `logger={logger}` prop drilling. Let's not do that anymore in the future by using a proper hook, which is exposed from `flipper-plugin`.

Reviewed By: passy

Differential Revision: D25421304

fbshipit-source-id: 01ec8563c67f7e2fac359c2f8216eba722bff8d9
2020-12-09 05:33:08 -08:00
dependabot[bot]
92f6e85bf6 Bump @types/yargs from 15.0.9 to 15.0.11 in /desktop (#1750)
Summary:
Bumps [types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs) from 15.0.9 to 15.0.11.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: mweststrate

Differential Revision: D25373169

Pulled By: passy

fbshipit-source-id: 881b67c9186825b80af8232a48d82b67d4eed862
2020-12-08 12:38:02 -08:00
Anton Nikolaev
56361debb2 Differentiate insider builds from stable builds
Summary: Each build will have an embedded file specifying the target release channel for the build. This allows us to do some customisations, e.g. show "Insiders" label in the title and enable Sandy by default for insiders builds.

Reviewed By: jknoxville

Differential Revision: D25399045

fbshipit-source-id: 8e26d0754d0713ced823f86b30b54491d55b4d97
2020-12-08 12:38:02 -08:00
Anton Nikolaev
bc9412426f Parse build script args with yargs
Summary: We have some custom parsing here and there and I'm going to add some more args, so decided it's better to cleanup this a bit.

Reviewed By: jknoxville

Differential Revision: D25398421

fbshipit-source-id: 9d43029eef07648d0b01590e9cf7e7fe400b31d0
2020-12-08 12:38:02 -08:00
dependabot[bot]
18127ef838 Bump react-markdown from 4.3.1 to 5.0.3 in /desktop (#1751)
Summary:
Bumps [react-markdown](https://github.com/remarkjs/react-markdown) from 4.3.1 to 5.0.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/remarkjs/react-markdown/blob/main/changelog.md">react-markdown's changelog</a>.</em></p>
<blockquote>
<h2>5.0.3 - 2020-10-23</h2>
<ul>
<li><a href="https://github.com/remarkjs/react-markdown/commit/bb0bdde"><code>bb0bdde</code></a>
Unlock peer dependency on React to allow v17</li>
<li><a href="https://github.com/remarkjs/react-markdown/commit/24e42bd"><code>24e42bd</code></a>
Fix exception on missing element from <code>html-to-react</code></li>
<li><a href="https://github.com/remarkjs/react-markdown/commit/3d363e9"><code>3d363e9</code></a>
Fix umd browser build</li>
</ul>
<h2>5.0.2 - 2020-10-23</h2>
<ul>
<li><a href="https://github.com/remarkjs/react-markdown/commit/4dadaba"><code>4dadaba</code></a>
Fix to allow combining <code>allowedTypes</code>, <code>unwrapDisallowed</code> in types</li>
</ul>
<h2>5.0.1 - 2020-10-21</h2>
<ul>
<li><a href="https://github.com/remarkjs/react-markdown/commit/c3dc5ee"><code>c3dc5ee</code></a>
Fix to not crash on empty text nodes</li>
</ul>
<h2>5.0.0 - 2020-10-19</h2>
<h3>BREAKING</h3>
<h4>Maintained by <a href="https://unifiedjs.com">unified</a></h4>
<p>This project is now maintained by the unified collective, which also houses the
underlying tools used in <code>react-markdown</code>: hundreds of projects for working with
markdown and markup related things (including MDX).
We have cleaned the project: updated dependencies, improved
docs/tests/coverage/types, cleaned the issue tracker, and fixed a couple of
bugs, but otherwise <em>much should be the same</em>.</p>
<h4>Upgrade <code>remark-parse</code></h4>
<p>The parser used in <code>react-markdown</code> has been upgraded to the latest version.
It is now 100% CommonMark compliant: that means it works the same as in other
places, such as Discourse, Reddit, Stack Overflow, and GitHub.
Note that GitHub does extend CommonMark: to match how Markdown works on GitHub,
use the <a href="https://github.com/remarkjs/remark-gfm"><code>remark-gfm</code></a> plugin.</p>
<ul>
<li><a href="https://github.com/remarkjs/remark/releases/tag/remark-parse%409.0.0"><code>remark-parse@9.0.0</code></a></li>
<li><a href="https://github.com/remarkjs/remark/releases/tag/remark-parse%408.0.0"><code>remark-parse@8.0.0</code></a></li>
<li><a href="https://github.com/remarkjs/remark/releases/tag/remark-parse%407.0.0"><code>remark-parse@7.0.0</code></a></li>
<li><a href="https://github.com/remarkjs/remark/releases/tag/remark-parse%406.0.0"><code>remark-parse@6.0.0</code></a></li>
</ul>
<h4>New serializer property: <code>node</code></h4>
<p>A new <code>node</code> prop is passed to all non-tag/non-fragment renderers.
This contains the raw <a href="https://github.com/syntax-tree/mdast">mdast</a> AST node,
which opens up a number of interesting possibilities.</p>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="22bb78747d"><code>22bb787</code></a> 5.0.3</li>
<li><a href="bb0bdded9f"><code>bb0bdde</code></a> Unlock peer dependency on React to allow v17</li>
<li><a href="816a52bc75"><code>816a52b</code></a> Use Actions</li>
<li><a href="6e2eb1c5b3"><code>6e2eb1c</code></a> Update dev-dependencies</li>
<li><a href="24e42bd14f"><code>24e42bd</code></a> Fix exception on missing element from <code>html-to-react</code></li>
<li><a href="3d363e9d07"><code>3d363e9</code></a> Fix umd browser build</li>
<li><a href="6e38dd343e"><code>6e38dd3</code></a> Update changelog</li>
<li><a href="62a683f18c"><code>62a683f</code></a> 5.0.2</li>
<li><a href="89bc8d8317"><code>89bc8d8</code></a> Add ignore comment</li>
<li><a href="4dadaba5ab"><code>4dadaba</code></a> Fix to allow combining <code>allowedTypes</code>, <code>unwrapDisallowed</code> in types</li>
<li>Additional commits viewable in <a href="https://github.com/remarkjs/react-markdown/compare/v4.3.1...5.0.3">compare view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a href="https://www.npmjs.com/~wooorm">wooorm</a>, a new releaser for react-markdown since your current version.</p>
</details>
<br />

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

Reviewed By: mweststrate

Differential Revision: D25373134

Pulled By: passy

fbshipit-source-id: 3bc61c309b8db6da4c042b8943a6d338b84d932e
2020-12-08 12:35:49 -08:00
dependabot[bot]
23751b45f3 Bump @types/node from 14.14.6 to 14.14.10 in /desktop (#1749)
Summary:
[//]: # (dependabot-start)
{emoji:26a0}  **Dependabot is rebasing this PR** {emoji:26a0}

If you make any changes to it yourself then they will take precedence over the rebase.

 ---

[//]: # (dependabot-end)

Bumps [types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.6 to 14.14.10.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare view</a></li>
</ul>
</details>
<br />

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

Reviewed By: mweststrate

Differential Revision: D25373220

Pulled By: passy

fbshipit-source-id: a9f69a8c29f3c0d04939e68341f36fc26cc609a7
2020-12-08 09:22:40 -08:00
Pascal Hartig
e33afdb938 Fix typos in comments
Summary: Per title.

Reviewed By: mweststrate

Differential Revision: D25394444

fbshipit-source-id: b741a147e25df5d4e91094c71136179871123743
2020-12-08 08:32:58 -08:00
Michel Weststrate
244b6dc1be Fix Messenger not showing up in Sandy
Summary: Metro and Mac device were always hidden in Sandy, but they should only be hidden if they don't have underlying Clients. Fixes https://fb.workplace.com/groups/748354712423318/permalink/775342569724532/

Reviewed By: nikoant

Differential Revision: D25369492

fbshipit-source-id: fdc25c3646d8339ae029425b4c45d8631bbee762
2020-12-07 09:45:26 -08:00
Michel Weststrate
fa00575dec Fix unexpected end of JSON error
Summary:
This is the 6th most common error in our logging, and I just run into it after upgrading XCode. It happens when idb doesn't return any devices.

(because `''.split('\n')` results in `['']` not `[]`)

Reviewed By: jknoxville

Differential Revision: D25368759

fbshipit-source-id: 44b0e3a5dc4cf06ecdf2dff4a5692943e60d4b1d
2020-12-07 09:45:26 -08:00
Michel Weststrate
698df77553 Expose GK api on client
Summary: Make sure that GKs can be used in pure sandy plugins.

Reviewed By: jknoxville

Differential Revision: D25368358

fbshipit-source-id: c7c6aa4ecf0443cb3b5d90e22e8aca9a73a69389
2020-12-07 09:45:25 -08:00
Michel Weststrate
b1140ae3f9 Remove error when no app bookmarks are found
Summary: App match patterns are not available for all apps, there is no reason to treat this as an error, currently errors are printed for apps like "Flipper".

Reviewed By: nikoant

Differential Revision: D25369648

fbshipit-source-id: a63aadbf14745310501565b00081602e44852398
2020-12-07 09:14:34 -08:00
dependabot[bot]
d6d12b317f Bump @types/react from 16.9.53 to 17.0.0 in /desktop (#1727)
Summary:
The interesting changes don't actually come from the React type upgrade but from `csstype` which is transitive. Doesn't change any logic.

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

Test Plan: yarn && yarn tsc

Reviewed By: mweststrate

Differential Revision: D25244654

Pulled By: passy

fbshipit-source-id: bddb4691aa7341c4a25de0e9b5ef0217bf151a48
2020-12-07 09:02:39 -08:00
Maya Elenblum
0a57265539 Enable Carrier selection from Flipper (Dogfooding)
Summary: Add a dogfooding tab in the Zero Rating devtools in flipper. The tab shows a list of all carriers and carrier ID (will later allow to start  dogfooding after choosing one)

Reviewed By: zaxy78

Differential Revision: D24675379

fbshipit-source-id: 044b6d957976a05bfe2666ca0510531102f9d0f6
2020-12-06 08:27:44 -08:00
Anton Nikolaev
2a091e682d Save launcher settings to the correct folder
Summary: Rust default configuration path changed recently which broke transferring of settings between flipper desktop and launcher. This diff fixes it.

Reviewed By: passy

Differential Revision: D25334963

fbshipit-source-id: d6ebea9e5cfa68858a9fc2a51102815d646ab319
2020-12-04 10:22:21 -08:00
Anton Nikolaev
139c6674f3 Update Flipper version on restart from settings
Summary: Delegate to launcher on restart after settings changed. This is required to update Flipper after changing release channel.

Reviewed By: passy

Differential Revision: D25331466

fbshipit-source-id: d98e272971b5782d3b9c46e6ba62d883ebbb804c
2020-12-04 08:10:54 -08:00
generatedunixname89002005306973
8dd72a18f4 Flipper Release: v0.68.0
Summary: Releasing version 0.68.0

Reviewed By: nikoant

Differential Revision: D25330040

fbshipit-source-id: c5919cb74378abf5b3889c81b89b433d9f5af14b
2020-12-04 04:39:43 -08:00
Patrik Tomas Chamelo
9b04c8070b Upload the diff number in the global metadata
Summary: Append the hash when possible to the metadata from the flipper submissions.

Differential Revision: D25283309

fbshipit-source-id: 1e95cdc3e9f2f1a08dc53c746732c46969166d97
2020-12-03 12:34:30 -08:00
Anton Nikolaev
a7573139a2 Setting to choose release channel
Summary: Add possibility to choose release channel in Flipper Settings

Reviewed By: passy

Differential Revision: D25300775

fbshipit-source-id: 55fc86f0e12b9f3a4603bb40b038f5c0e5f30b3b
2020-12-03 07:23:08 -08:00
Michel Weststrate
dd7c2ab96d Fix plugin meta data
Summary:
See previous diff, if the plugin `id` on the class definition mismatches with the `package.json`, the navigation in Sandy will use the wrong id (from the meta data) causing the plugin not to open.

Since the `id` exposed on the class is the one that is used to setup the connect on the client, updated the ids in the `package.json` which have afaik no further meaning.

Pinging nikoant to verify that assumption. I can imagine this might impact historical data / plugin distribution?

Reviewed By: passy, nikoant

Differential Revision: D25302542

fbshipit-source-id: 43fe1667604eb7a28f6f9b7d260bc2a1e6e82dd3
2020-12-03 07:20:40 -08:00
Michel Weststrate
d8832aa78e Fix AdsManager plugin not loading
Summary:
FluxStores plugin of AdsManager didn't open on Sandy. The underlying reason is that in Sandy the list was based on the plugin id's as exposed in the `package.json`, while in the old left sidebar it was based on the `id` stored on the Plugin class. And apparently they can differ (will fix that in the next diff)

We can release an update of this plugin after it landed

Reviewed By: passy

Differential Revision: D25302357

fbshipit-source-id: 874aab263fad6a83f63edc4a8f7fa7ceceaef70f
2020-12-03 04:51:17 -08:00
Michel Weststrate
42ef4d59e6 Introduce FLIPPER_ENABLE_ALL_GKS dev option
Summary: Was tired off figuring out GK's to be able to debug a plugin, so added a flag that allows me  to start Flipper with all plugins enabled :)

Reviewed By: passy

Differential Revision: D25301773

fbshipit-source-id: 668b92c4ddbbeb3f4b056035de394800bbfa5377
2020-12-03 04:41:01 -08:00
Michel Weststrate
84c6e05b8a Wire up tracking to Sandy Chrome
Summary: Wired up tracking to all chrome sections and some import UI elements

Reviewed By: jknoxville

Differential Revision: D25219089

fbshipit-source-id: c75bed91894609dafc5fcc6423a5228211fb92d8
2020-12-03 04:15:45 -08:00
Michel Weststrate
dd6f39c2b3 Wire up Tracking to different ant.design elements
Summary:
This wires up tracking directly to the ANT component library for the following components:

1. `Button`
2. `Collapse.Panel`
3. `Tabs`

Other less commonly used elements can be connected in the future if needed.
I played a bit with different patterns, but in testing the patch-package patching give the most reliable results. Alternatives considered:

1. Expect users to explicitly wrap there components, e.g. `<Tracked><Button>Hi</Button></Tracked>`
    1. Didn't implement this because it would be very common to forget, and at the moment you want to make some analysis you'll discover there is no interesting data available. I think for tracking we want to have opt-out rather than opt-in
    2. The additional wrapping can cause some subtile layout issues due to static field inspection / forwarded refs (e.g. Ant often has an assumption that relevant children types are _directly_ nested under their parent element. For examle `<Tooltip><Tracked><Button>` does not work as expected
2. Expose our own `Button` / `Collapse` / `Tabs` that applies `Tracked` to an underlying Ant component.
    1. also suffers from 1.b.
    2. It is gonna be quite confusing for other devs that some elements would need to be imported from `flipper-plugin`, ant some from `antd`, and that this is likely to change over time. We could lint against it, but it will be still suboptimal

Reviewed By: jknoxville

Differential Revision: D25196321

fbshipit-source-id: b559356498c3191a283062a88daacb354b0f79f4
2020-12-03 04:15:45 -08:00