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
Summary:
Before this change, launching a simulator would ony show the simulator if the simulator process itself was already running. This makes sure that opening a simulator also works from a closed state
Changelog: Automatically start an iOS simulator to launch a device when none is running yet
Reviewed By: nikoant
Differential Revision: D24919363
fbshipit-source-id: 45039330710cf81aa73222967d667964bb01f42a
Summary:
Ideally, we want to fetch app Icons from the device, but for now, we can at least for Facebook owned apps we can use a hardcoded set of icons, which probably even looks better.
For ` Lite` apps, the colors of the icon and background are reversed, which makes both variations recognizable.
Reviewed By: jknoxville
Differential Revision: D24920161
fbshipit-source-id: 5220093fb3a443ae535faa4c346a2029de9cbbd5
Summary:
Many UI components (such as Button) rely on the redux store being present in the context.
So to use these components freely in popovers, the popover provider has to be within the store provider, not outside of it.
This moves it, along with the context menu and tooltip providers for the same reason.
Has the effect of fixing the ITSR dialog, which had a button inside a popover.
Reviewed By: mweststrate
Differential Revision: D24922493
fbshipit-source-id: e15540ac49795875b1cf86d6c66ec0591dc374ef
Summary: For groups that have a papercuts entry, the support form will now link to them. This will hopefully increase the amount of feedback we get.
Reviewed By: nikoant
Differential Revision: D24921296
fbshipit-source-id: c6d07a10838a7abb1c70e8d61197a7b339f611bc
Summary:
Navigation plugin is a special cause that will remain connected and process messages directly even when disabled, this is to make sure the bookmarks feature keeps working even when the plugin is not enabled.
Changelog: [Sandy][Navigation] on Android, the currently active deeplink of the application will now be shown in the sidebar
Reviewed By: jknoxville
Differential Revision: D24890375
fbshipit-source-id: eb5e4141740e0436396cea5a7aae24337f2e903e
Summary:
This diff adds support for finding appPatterns (not sure how the feature is called) in the device, and auto completing on it.
Also improved the styling of bookmark sections.
This diff also adds support of showing a dialog in which params an be filled out if needed.
The behavior around optional arguments seems buggy, as in, no dialog will show up, but since I didn't want to change the logic around this unilaterally, left it as-is for now.
Updated the dialog to Ant so that the renderReactRoot utility could be used safely
Reviewed By: cekkaewnumchai
Differential Revision: D24889855
fbshipit-source-id: 6af264abec2e9e5b921ef7da6deb1d0021615e9e
Summary:
This diff adds support for the navigation plugin bookmarks to the appinspect tab.
Support for path discovery, and path params will be added in a next diff.
Features:
* click a bookmark and navigate to it
* sync bookmark state and uri with navigation plugin
* manually enter a path and navigate to it by using <ENTER>
Reviewed By: cekkaewnumchai
Differential Revision: D24620250
fbshipit-source-id: 14b393a5456b4afeef69444d2120c8f01686e602
Summary:
Converted the Navigation plugin to Sandy, and updated Locations bookmark accordingly.
This is a prerequisite step of supporting the bookmarkswidgetin the new AppInspect tab.
Updated LocationsButton accordingly, and overal simplified implementation a bit; locationsbutton now reuses the logic of the NavigationPlugin, rather than reimplemting it. This reduces code duplication and also makes sure the state between plugin and location button stays in sync.
Made sure that search providers are derived and cached rather than stored, again simplifying logic
That being said, the navigation plugin is buggy, but all these things failed before this diff as well:
* No events happening when using iOS, despite the plugin being enabled. But these seems to be a long time know issue, looks like it was never implemented
* Not sure if the parameterized bookmarks is working correctly
* screenshots not always happening at the right time (but fixed a race condition where the wrong bookmark might get updated)
* Locations button doesn't show up if the navigation plugin is supported but not enabled (will try to fix in next diff)
Would be great if bnelo12 could do some exploratory testing to verify what ought to be working, but currently isn't.
Reviewed By: cekkaewnumchai
Differential Revision: D24860757
fbshipit-source-id: e4b56072de8c42af2ada0f5bb022cb9f8c04bb47
Summary: expose `appName`, `appId` and `device` to Sandy plugins. Will be used in next diff to migrate navigation plugin
Reviewed By: cekkaewnumchai
Differential Revision: D24857253
fbshipit-source-id: 03ac3d376d5d1950bcf3d78386a65ce167b517e3
Summary:
devices not always being readily available is causes a lot of complication in the api,
figured to resolve devices first before construction clients,
since clients not attached to a device are shown uncategorized anyway, making them practically un-interactable.
For more background info, see following chat.
{F344388883}
This diff will make it possible to only expose a synchronous api in Sandy
n.b. didn't update Navigation plugin, as that is done in a next diff
Reviewed By: jknoxville
Differential Revision: D24858332
fbshipit-source-id: 8339f831fbbc9c219add56a199364fde67adafc7
Summary: It's easier to scan the same header value of multiple requests when it's in roughly the same place for each one.
Reviewed By: mweststrate
Differential Revision: D24885172
fbshipit-source-id: 7be02903d2f9f79c8ba618e57c74169392f6244b
Summary: Scripts now accept full version instead of only patch part of it.
Reviewed By: jknoxville
Differential Revision: D24782300
fbshipit-source-id: 1c454beb9640a5b38669fe39eab642245b0f0f91
Summary: Make sure that changelog is shown when using Sandy
Reviewed By: jknoxville
Differential Revision: D24832099
fbshipit-source-id: 6999dfcb55976104db476834446c13322f4b2402
Summary:
Inverted the condition of checking if Sandy is enabled, so by default it is enabled if user is part of the GK.
This will make it more frictionless for people joining the dogfooding group and increases the chances we receive feedback :)
Reviewed By: jknoxville
Differential Revision: D24830075
fbshipit-source-id: d20dacd9e6c2dd2387a94b8a972252f29d0dab0e
Summary:
* Removed Flow compilation step
* Removed all `flow` annotations
* Removed all FlowFixMe's
* Removed flow typings for Flipper
* Left flow transpilation (stripping) in babel, in case there is any external user using Flow in his plugin
* Left `eslint-plugin-flowtype` dependencies, as `eslint-config-fbjs` requires it
Reviewed By: passy
Differential Revision: D24755545
fbshipit-source-id: 9c0a7910657fd1cba88294e041bf2bfdf7b565bf
Summary: This removes the mocked bookmarks section (which is being reimplemented in D24620250), so that early adopter don't see a non-working piece of UI
Reviewed By: passy
Differential Revision: D24827181
fbshipit-source-id: 9759f069bdbcc1efe3f1ecb56954ee539bbca1f0