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
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
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
Summary: Wired up tracking to all chrome sections and some import UI elements
Reviewed By: jknoxville
Differential Revision: D25219089
fbshipit-source-id: c75bed91894609dafc5fcc6423a5228211fb92d8
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
Summary: Connect usage tracking to the Flipper core, individual elements will be wrapped in a next diff
Reviewed By: passy
Differential Revision: D25196284
fbshipit-source-id: 103e1d21d2f23fbbc21975fa85082811f6f53348
Summary:
Set up basic primitives for user interaction tracking. I hope the docs and unit tests in this diff are self explanatory :)
In upcoming diffs:
* Wire up to scuba events
* Annotate all important parts of Flipper Chrome
* Investigate if we can wrap important interactions of ANT by default
Reviewed By: jknoxville
Differential Revision: D25120234
fbshipit-source-id: 9849d565d7be27e498cc2b4db33e7d6e6938ee06
Summary:
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 6.12.0 to 6.15.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md">eslint-config-prettier's changelog</a>.</em></p>
<blockquote>
<h3>Version 6.15.0 (2020-10-27)</h3>
<ul>
<li>Added: [typescript-eslint/space-infix-ops]. Thanks to Masafumi Koba (<a href="https://github.com/ybiquitous">ybiquitous</a>)!!</li>
</ul>
<h3>Version 6.14.0 (2020-10-21)</h3>
<ul>
<li>Added: New [eslint-plugin-vue] rules: [vue/array-bracket-newline] and [vue/block-tag-newline]. Thanks to <a href="https://github.com/xcatliu">xcatliu</a>!</li>
</ul>
<h3>Version 6.13.0 (2020-10-16)</h3>
<ul>
<li>Added: New rules in [eslint-plugin-vue] 7.0 (which supports Vue 3.0). Thanks to <a href="https://github.com/xcatliu">xcatliu</a>!</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="b1ace774ac"><code>b1ace77</code></a> eslint-config-prettier v6.15.0</li>
<li><a href="c4a089a2d3"><code>c4a089a</code></a> Update npm packages</li>
<li><a href="b875b6efc7"><code>b875b6e</code></a> Turn off <code>typescript-eslint/space-infix-ops</code> (<a href="https://github-redirect.dependabot.com/prettier/eslint-config-prettier/issues/164">https://github.com/facebook/flipper/issues/164</a>)</li>
<li><a href="12b126d332"><code>12b126d</code></a> eslint-config-prettier v6.14.0</li>
<li><a href="2ba1a6145b"><code>2ba1a61</code></a> Update npm packages</li>
<li><a href="219757f1ab"><code>219757f</code></a> Turn off new eslint-plugin-vue rules (<a href="https://github-redirect.dependabot.com/prettier/eslint-config-prettier/issues/163">https://github.com/facebook/flipper/issues/163</a>)</li>
<li><a href="4edf6e6bc5"><code>4edf6e6</code></a> eslint-config-prettier v6.13.0</li>
<li><a href="ba40e0d165"><code>ba40e0d</code></a> Update npm packages</li>
<li><a href="fdc25da880"><code>fdc25da</code></a> Support eslint-plugin-vue@7 (which support Vue 3.0) (<a href="https://github-redirect.dependabot.com/prettier/eslint-config-prettier/issues/162">https://github.com/facebook/flipper/issues/162</a>)</li>
<li><a href="d5ae0c6e68"><code>d5ae0c6</code></a> Fix broken links in readme</li>
<li>Additional commits viewable in <a href="https://github.com/prettier/eslint-config-prettier/compare/v6.12.0...v6.15.0">compare view</a></li>
</ul>
</details>
<br />
[](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/1725
Reviewed By: mweststrate
Differential Revision: D25244657
Pulled By: passy
fbshipit-source-id: 6fdcb6ddbb56f805086258fd91137799fb7a3041
Summary:
This diff sets all package version to "0.0.0" except of the root package and changes the bump script to only bump version in the root package. This should reduce possibility of conflicts on release diffs. Anyway we always use the same version for all of our packages, so we can only set it to the root.
Before npm publishing we will set all package versions to the same number as in the root package (we actually already do that) so there will be no differences except we won't need to bump version in more than 100 packages each release.
Reviewed By: mweststrate
Differential Revision: D25162373
fbshipit-source-id: 02fe401bee72845339c67925c130027bdaee559d
Summary: Previously, notifications can be hidden by category or plugin. This diff ports that functionality to Sandy
Reviewed By: mweststrate
Differential Revision: D25021697
fbshipit-source-id: 28bdd1c169fcef4db79c2452db8cbb5f0bce6312
Summary: This diffs add removing all action and simple search (search by matching title and/or detail)
Reviewed By: mweststrate
Differential Revision: D24992828
fbshipit-source-id: 84e59e8de5a6cfd4c6cb4097350dbb87e17271db
Summary:
I converted the rating button to a functional component, and mistakenly moved the effect in the constructor into the render function.
This puts it into an effect with no dependencies so it should only happen once, instead of every render.
Reviewed By: mweststrate
Differential Revision: D25185514
fbshipit-source-id: 48203b01bbd85f3b9ed4dbbb416768c0d5524f70
Summary: I've noticed that some plugins cannot be packaged after switching to Sandy and using "antd" as peer dependency. This change should fix this issue.
Reviewed By: mweststrate
Differential Revision: D25177510
fbshipit-source-id: cfb740a757c9eb83cf0e5165abed3f9c9f5591fa
Summary:
Saw a new version came out. Only breaking change appears
to be that links are now required to be non-empty,
which sounds quite reasonable.
Reviewed By: nikoant
Differential Revision: D25119837
fbshipit-source-id: 758578d4f7f8045b59918f107438f3c8231bb790
Summary: Added a welcome screen so that our users won't feel alienated / overwhelmed by the new Sandy design. With this in place we can start opening the GK to a subset of FB employees in the next release
Reviewed By: passy
Differential Revision: D25088630
fbshipit-source-id: 7337d670928f048a2c2fa60d98ac4bdcefb67c4d
Summary: To control bundle size and the amount of different versions used, we want plugins to use emotion's styled and immer's produce from flipper-plugin, rather than bringing their own
Reviewed By: passy
Differential Revision: D25087286
fbshipit-source-id: d2cc8b2cb1a17c520d05d99048cd94338984a913
Summary:
This diff will enabling freezing (making immutable) of all data we receive from the device. This prevents dev mistakes causing components not to update or logic being hard to reason about. Also this makes Immer's `produce` faster in the typical case
Since this is potentially a risky change, that might break existing plugin logic, it has been put behind a GK https://www.internalfb.com/intern/gatekeeper/projects/flipper_frozen_data/
I did some quick exploratory testing on all plugins available for Facebook iOS / Android, and the only plugin that caused trouble was Fresco, which is fixed in this diff as well.
Reviewed By: nikoant
Differential Revision: D25055056
fbshipit-source-id: 8525511f4a8a0221740a6e1371ce7f2b757a203e
Summary: `unstablebatched_updates` should be used whenever a non-react originating event might affect multiple components, to make sure that React batches them optimally. Applied it to the most import events that handle incoming device events
Reviewed By: nikoant
Differential Revision: D25052937
fbshipit-source-id: b2c783fb9c43be371553db39969280f9d7c3e260
Summary: Per title, the primary change is that Immer 8 will also freeze automatically in _production_ builds as well.
Reviewed By: nikoant
Differential Revision: D25052621
fbshipit-source-id: 1cb0b083aae82992b57c4a6e9dca0a8bebe903ec
Summary: Part of converting ITSR to use ant design. Gets rid of some custom code.
Reviewed By: mweststrate
Differential Revision: D25055728
fbshipit-source-id: 451f8b0b7c2543eea59e74d5ea35761bc8ebeeba
Summary:
The title bar is going away, so this needs to be moved somewhere when sandy is enabled.
This moves it into the left rail when sandy is enabled, and converts the icon to use a sandy icon and popover.
The contents of the popover haven't yet been converted to use sandy components.
Reviewed By: mweststrate
Differential Revision: D25055282
fbshipit-source-id: 259ed8312c0d4079433cfa7ffb88385184ae16b2
Summary:
I don't quite know how this worked before but we had `Type` both as
a function and a type. I guess because types only exist in TS land it
was okay, but it was confusing nevertheless.
Reviewed By: nikoant
Differential Revision: D25026916
fbshipit-source-id: f4f0351bf7eeec33ef760433157b3713054d9dc7
Summary: Just rolling back a part of D24782300 (dce7422ba6) where I've accidently removed using of unique number because did not understood how it is passed and wrongly decided it is not needed.
Reviewed By: passy
Differential Revision: D25027458
fbshipit-source-id: f623732c161bca01859f91444c2a0ed211a5fad6
Summary:
This diff covers notification items to show data stored in the state as well as add button functionality to plugins.
This diff doesn't cover notification search, clear, and setting, which will be covered in next diffs
Reviewed By: mweststrate
Differential Revision: D24986742
fbshipit-source-id: d42cfe8112881a7f0d2158cbce267a4d7c344305
Summary:
Context: https://fb.workplace.com/groups/flippersupport/permalink/1005193786627946/
I believe we can land this without knowing that it works, because iOS support is still disabled by default for non mac devices - you have to enable it in settings to switch it on.
Reviewed By: passy
Differential Revision: D24893757
fbshipit-source-id: c9db515a7807c94a0d5e509017dd4e1796d24f6d
Summary: See https://github.com/facebook/flipper/issues/1680, the sections plugin was exposed publicly, even though we don't have a publicly available client plugin
Reviewed By: passy
Differential Revision: D24993552
fbshipit-source-id: 788ecc29ec64048b3077dea89e492ddbf1ea7d84
Summary:
Bumps [types/babel__core](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__core) from 7.1.10 to 7.1.12.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/babel__core">compare view</a></li>
</ul>
</details>
<br />
[](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/1686
Reviewed By: passy
Differential Revision: D24993992
Pulled By: mweststrate
fbshipit-source-id: f4fde9c6940c9e159ae06ce5d1fd8319e8e57e4e
Summary: This prefixes APIs of `flipper-plugin`, that are used by Flipper, but should not be used by plugins directly, with `_`. Also added tests to make sure we are always intentional when extending the exposed APIs
Reviewed By: passy
Differential Revision: D24991700
fbshipit-source-id: ed3700efa188fca7f5a14d5c68250598cf011e42
Summary: This updates the docs of Flipper to use Sandy, rather than `FlipperPlugin` class. Restructured the docs a bit as a result.
Reviewed By: passy
Differential Revision: D24991285
fbshipit-source-id: 66d5760c25cf9cf3983515433dfd64348d51db3d
Summary:
This diff updates plugin scaffolding by using Sandy and closely following the internal Scarf templates (see D24949452, D24949452)
By using `flipper-plugin`, it is now also possible to write unit tests for a plugin, and the default infra for that is generated (babel / jest)
For now there is still a dependency on `flipper` to support fancy components not yet available in Sandy, this will be updated in the future: T79632585
Changelog: `flipper-pkg init` now uses the new Sandy plugin infrastructure ant Ant.design component system
Reviewed By: nikoant
Differential Revision: D24950080
fbshipit-source-id: afc5e7ac728b20cb84fdbbdcb76cd45968736c01
Summary: This diff adds the `client.onUnhandledMessage` handler, to be able to handle messages for which we don't know the names upfront. Some existing plugins that only send one kind of message can benefit from this, as can generic plugins, like the createTablePlugin
Reviewed By: passy
Differential Revision: D24949453
fbshipit-source-id: 0fed81e28aee350632c09ee3bb834f306dc8b100
Summary:
Bumps [flipper-client-sdk](https://github.com/facebook/flipper) from 0.0.2 to 0.0.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/facebook/flipper/commits">compare view</a></li>
</ul>
</details>
<br />
[](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/1668
Reviewed By: mweststrate
Differential Revision: D24981564
Pulled By: passy
fbshipit-source-id: 55431dd6f5ecf6bbb52324890a7efdb28b10350e
Summary:
Bumps [types/inquirer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/inquirer) from 6.5.0 to 7.3.1.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/inquirer">compare view</a></li>
</ul>
</details>
<br />
[](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/1685
Reviewed By: passy
Differential Revision: D24993998
Pulled By: mweststrate
fbshipit-source-id: bca428a99b361950ae2af4c16e079e4f48461968
Summary: The plugin seems to miss the train to version 0.65. This diff gives it a ride to the current version
Reviewed By: nikoant
Differential Revision: D24950948
fbshipit-source-id: 3132a3baf0a41d8ec0de5cf8c55c0561126b038f
Summary:
Michel discovered that the ITSR GK has been dialled down completely since the last bug.
Coming to re-enable it I discovered a bug that has been introduced since then, so have fixed that, but we can't just ramp up the original GK because the current version of flipper will crash if ITSR is used.
So instead, I'm leaving the current GK ramped down, and replacing it with a new one, which is safe to ramp up.
This will mean ITSR is only enabled on versions from the next release onwards.
Reviewed By: nikoant
Differential Revision: D24922822
fbshipit-source-id: 8a6990fd5130bd046c24b0da757492b37e4040f2