Summary:
Adding a way to install plugins directly from package files. This is required for testing after packaging format changes.
Stage 3: Implemented installation of plugins directly from package file.
Reviewed By: jknoxville
Differential Revision: D19765619
fbshipit-source-id: 57f36c87d3cf5d4e1c9a1f8f9f9f32b14a18bc8b
Summary:
Adding a way to install plugins directly from package files. This is required for testing after packaging format changes.
Stage 2: Added new component for file selection and implemented UI required for plugin installation from package file
Reviewed By: priteshrnandgaonkar
Differential Revision: D19743998
fbshipit-source-id: 1112d5afca9a649df11e33eb6ac15c0e06747d47
Summary:
The structure of the page is:
```
<FlexColumn>
<Toolbar />
<Content />
<Toolbar />
</FelxColumn>
```
When Content is a FlexColumn, it doesn't play well with the others and uses all the space, to you don't see the bottom toolbar.
Changing it to a FlexRow fixes this. Also added an inner FlexColumn to make sure the behaviour for things inside Content isn't changed (flex-direction needs to be column in there).
Reviewed By: nikoant
Differential Revision: D19766120
fbshipit-source-id: 2872561bbc954db0d4dc3d7040f60c3eec6e3ff2
Summary:
Adding a way to install plugins directly from package files. This is required for testing after packaging format changes.
Stage 1: refactored the plugin manager component file layout, no functional changes.
Reviewed By: jknoxville
Differential Revision: D19741085
fbshipit-source-id: bd9d72382ddc4894de5b3cd9a71877c799886fbf
Summary:
Some improvements on the previous diff that were too much for just comments.
- Remove an unnecessary `touch` that I commented on in the previous diff.
- Ensure that the recording button is not set to "recording" if there's an error during the setup.
- More reliable way of checking the file size on the device before pulling.
Still not done: Show the error more prominently in the UI. Out of scope for this but if we could come up with a design for showing this (perhaps in place of the recording button) when something went wrong, that would be more obvious than having the error caret show up at the top of the screen.
Reviewed By: jknoxville
Differential Revision: D19723627
fbshipit-source-id: 20babcc1482e5a9ac829ff6d6ae7a731a3454fa0
Summary:
Original commit changeset: 5caf9df02c95
It backs out the diff as it broke the video recording button in support form.
Bug:
{F227855063}
Reviewed By: passy
Differential Revision: D19742486
fbshipit-source-id: 4a275e6ead919b4f4ed94889545a650c101f89b7
Summary:
Getting the error
```
$ /mnt/btrfs/trunk-hg-fb4a-fbsource-86184178-1580774714/xplat/sonar/node_modules/.bin/tsc --noemit
src/plugins/network/index.tsx(180,59): error TS2349: This expression is not callable.
Type 'Number' has no call signatures.
error Command failed with exit code 1.
```
EDIT: This error was a red herring from another commit I was based on. Either way, `Number` is discouraged by the Typescript standard (https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html), so let's move these to `number` instead.
Reviewed By: mweststrate
Differential Revision: D19712113
fbshipit-source-id: b754780063a1c429724abcd343da06514671bc83
Summary:
Currently `exportStore` function returns the serialized string along with errorArray. errorArray contains an error when there is some issue with fetching metadata. Essentially, it keeps the error in the errorArray and continues with fetching the data for the next plugin. Previously we used to exit our submit form execution when the errorArray had any value. So this diff removes that check and instead logs it on the console and in our logging system.
It will handle the case mentioned [here](https://fb.workplace.com/groups/1430200360634661/permalink/2566831316971554/)
This diff also adds a log when there is failure to upload flipper data.
Reviewed By: mweststrate
Differential Revision: D19723674
fbshipit-source-id: 18bf90461156f67ecc2b4ce4b1eac4aa3485188d
Summary: Shows warning when requiredplugin has empty data. It also makes the validation box as an error one, to distinguish between the two boxes.
Reviewed By: passy
Differential Revision: D19704910
fbshipit-source-id: ffd9413c3cd65c09f8b6019889191decefa6b6f6
Summary:
Backgrouds
- For screen recording Flipper use 'adb shell scrrenrecord' and 'adb pull'.
- 'screenrecord' make error and doens't works for some android devices and AOS versions.
- For example, "--bugreport" option doesn't work old version of AOS.
- We can not control 'screenrecord' command yet.
- It is better let user know the situation early.
<AS-IS>
When 'screenrecord' emit error:
- Noting happened for users.
- Result of screen record file is just empty. (pull command create the file)
<TO-BE>
When 'screenrecord' emit error:
- Let users know 'screenrecord' is not working properly.
Reviewed By: passy
Differential Revision: D19643060
fbshipit-source-id: 5caf9df02c956283f371c50c1735060be2158fb2
Summary: Adds analytics for the selected group, failure cases and distinguishing between user clicks for the support form vs deeplink.
Reviewed By: passy
Differential Revision: D19697856
fbshipit-source-id: 62d5afa998d2096252570387c9a3df1c7c134e67
Summary:
## The dependency [algoliasearch]() was updated from `3.35.1` to `4.0.0`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [nunomaduro](https://www.npmjs.com/~nunomaduro)
**License:** MIT
[Find out more about this release]().
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/772
Test Plan: Manually tested searching and installing still works.
Reviewed By: jknoxville
Differential Revision: D19690706
Pulled By: passy
fbshipit-source-id: 46cb05fb2c0429c4a1f7fb31a833cd000805825d
Summary: This diff refactors the scattered logic of required plugins and default selection of the plugins into Group class. Also the same class handles the deeplink logic.
Reviewed By: mweststrate
Differential Revision: D19666745
fbshipit-source-id: c9427f0ddba643f0b32aac7b6f2496e2e3248b12
Summary:
Write now the logic to append (Imported) and (Offline) text for archived devices is scattered at multiple places. Due to which we had the following bug
{F227484749}
Reviewed By: mweststrate
Differential Revision: D19663506
fbshipit-source-id: 1f5c0060825d8b246c94da85ac4a18cc4ff040d2
Summary: Changed the plugin display logic in SupportForm to show plugins which are enabled(includes device plugins) and plugins which has `exportPersistedState` defined.
Reviewed By: mweststrate
Differential Revision: D19643857
fbshipit-source-id: 7a4a5882507c06c6b6f9c481ee2c5c36ecc32ac6
Summary:
getTargetDeviceId is now being called directly from within server.tsx.
Since it's exported anyway, it should always sanitize its input.
Changed the ios method to sanitize the CSR in the same way that the android one does.
Reviewed By: cekkaewnumchai
Differential Revision: D19663992
fbshipit-source-id: 77662542b3a8767ecdd4e984a8e2d990761a9815
Summary:
This diff makes sure that important errors are always shown to the user, such as an xcode version mismatch.
Also made some small styling improvements
Reviewed By: jknoxville
Differential Revision: D19660337
fbshipit-source-id: 24dfb4d98bfdd1666164403f87b6a4e1dc915ddb
Summary: Remove the old sidebar, since the new one has been rolled out fully
Reviewed By: jknoxville
Differential Revision: D19659945
fbshipit-source-id: d1592df98fe69ef07d88d3a40790768dee3ab11c
Summary: Fixes issue where the user would loose context if having a lot of apps open, and then opening a bug report
Reviewed By: priteshrnandgaonkar
Differential Revision: D19640759
fbshipit-source-id: cc3aa617d99aae1904999da98d12b8a3595f6fbe
Summary: Added radio buttons when the listview enforces single selection
Reviewed By: mweststrate
Differential Revision: D19626710
fbshipit-source-id: 9220fad7b0825cac5ba39def4d5e85d671c61da7
Summary: Adds a status message when the one deeplinks to support form and the selectedClient doesn't support GraphQL plugin.
Reviewed By: jknoxville
Differential Revision: D19602900
fbshipit-source-id: 98a45ead2659bb229f4a1301e918e02dca05fc66
Summary: Update the deps as proposed by greenkeeper, to check if they indeed break the build
Reviewed By: passy
Differential Revision: D19620346
fbshipit-source-id: 9e273012373f7091180d90c368a8193572b7155a
Summary: When JavaScript fiction meets native interop reality, things get weird. Apparently some coordinates must be integer values.
Reviewed By: mweststrate
Differential Revision: D19606677
fbshipit-source-id: 88a6e8c465e59078b070b56b37eee571274c494a
Summary:
It looks like this timeout was firing every time, causing a misleading error.
Fixing by clearing it when the match is found.
Reviewed By: passy
Differential Revision: D19602640
fbshipit-source-id: b5d97e71a02a014b9498dd56371c1a48f8ae08eb
Summary: This diff adds support for the deeplink of support form for graphql groups.
Reviewed By: mweststrate
Differential Revision: D19583680
fbshipit-source-id: fc4505dc5f46c701f1e43fc47ee094fb0aa15d42
Summary: This diff updates default plugin selected when group selection gets updated. This diff also makes sure that group selection is persisted when swtiching between different tabs.
Reviewed By: mweststrate
Differential Revision: D19578748
fbshipit-source-id: 6f401248fe32441e30cb5acbb9251e206866984a
Summary:
Added a group selection view in the support form to select the group to post the support form in. Added two groups for GraphQL's android and iOS.
Also added a check to avoid selecting graphQL group unless GraphQL plugin is enabled.
Reviewed By: mweststrate
Differential Revision: D19538023
fbshipit-source-id: 022d592ae2aa17ed1e1b10a37b011ddc68df560a
Summary: Added stats, so that we know how much people have to wait when opening plugin after we open the queue GK
Reviewed By: jknoxville
Differential Revision: D19598730
fbshipit-source-id: f955123f2bae5b870eada8f787385d6c0450453e
Summary:
This diff creates a small FPS graph to be able to see where we slow down the app. This visualizes two things
1. The amount of FPS we render at (from tracking.fps).
2. If we were not able to render at all (due to the main thread being blocked fully), we interpolate the graph and draw it in red.
Reviewed By: nikoant
Differential Revision: D19579115
fbshipit-source-id: 2421d724c6d514986759bc9d68b92a5e4f51e401
Summary: The welcome screen links were a bit out of date.
Reviewed By: nikoant
Differential Revision: D19578769
fbshipit-source-id: 69fc7977bd75ca4256043698350381a5f9d7fdb8
Summary: When doing a Flipper trace export through the app menu (not the support form), the export still contained a support request details section, with the default data of a bug report. That doesn't make any sense and is confusing, so this change makes sure the report is only included if it is supported through the supportRequestForm
Reviewed By: passy
Differential Revision: D19499408
fbshipit-source-id: ff7a5333f2045f2465966dffa0c5fb03aaeaceb8
Summary:
Not all plugin names are created equal in flipper. For example, plugins would bear different names in the sidebar and in the plugin selection when making a support request / flipper trace. Fixed this and also introduced a `getPluginTitle` utility that produces this name consistently.
Plugin listview now also sort their items consitently with the sidebar.
Probably also fixed an error in the flipper export screen, where a correct TS error was supressed.
Reviewed By: jknoxville
Differential Revision: D19499404
fbshipit-source-id: c5b23a170d41d96799eb7899e249f70778717d45
Summary:
Having a key shortcut to execute the query you're typing helps to speed up the edit-run cycle.
## Changelog
In the database SQL execution tab, you can now execute queries with Ctrl+Return instead of pressing the 'Execute' button.
Pull Request resolved: https://github.com/facebook/flipper/pull/761
Test Plan:
I typed a query into the textarea, and while it was focussed, press Ctrl+Return, and the query executed.
Mousing over the 'Execute' button displays a tooltip informing you of this keyboard shortcut.

Reviewed By: mweststrate
Differential Revision: D19578527
Pulled By: passy
fbshipit-source-id: be131e44e293caa578d48e324fc43b457edb1e4e
Summary: For the navigation plugin we want to opt-out from the "enabled" and "process messages later" optimizations, because it's events should be immediately processed to reflect the changes in the topbar for navigation purposes
Reviewed By: jknoxville
Differential Revision: D19554297
fbshipit-source-id: 4bd49b5d1327feea6dea52e86d9dbc9d54a5dbee
Summary: The location bar doesn't update if there are multiple connected client, if the client we are interested wasn't the first one. The cause of that is that the location bar picked the state of the *first* navigation plugin found, rather than the navigation plugin connected to the selected device and client
Reviewed By: jknoxville
Differential Revision: D19554293
fbshipit-source-id: 46f2a66aa6ba07b510f1f615943eeb6ef8d52622
Summary: The navigation plugin threw exceptions, as the defaultPersisted state was not mixed into the already stored state, making some fields unreadable
Reviewed By: jknoxville
Differential Revision: D19554291
fbshipit-source-id: 57f045aa1eae10682e44d479b9aecb51f0391b9e
Summary:
The 'starring' concept of plugins no longer covers the meaning of 'starring', as unstarred plugins will no longer receive data from background plugins, not be available in support request forms due to a lack of data etc. So this diff renames the feature to 'enabled'.
Also fixed an issue where selecting a non-enabled plugin wouldn't show it in the sidebar if the additional plugins are collapsed.
To make disabled plugins more clear, they are . now always rendered in gray.
The toggle button now delays its effect for better visual feedback
- [x] update side bar styling
- [x] remove bottom bar warning
- [x] details screen
- [ ] only open connection for active plugins (will be done in a next diff)
- [x] check archived / imported devices
- [x] make sure device plugins work correctly
- [x] check without GK's
Reviewed By: jknoxville
Differential Revision: D19470326
fbshipit-source-id: 9160a3434287561f56b1b741d5ba282ab6063ea8
Summary:
Currently Android development can be disabled in Settings, but iOS development not. Because of this Doctor always shows warnings to Android-only developers who has no iOS SDK installed. This change makes it possible to disable "iOS development" option in the same way as we already had for Android.
Additionally I changed Doctor warning to show more specific message if only iOS or only Android checks are failed with suggestion to disable the failing platform if it is not required.
Reviewed By: jknoxville
Differential Revision: D19538070
fbshipit-source-id: 234d2c6cf21083f9d6aebd63418aed7f9a78e922
Summary:
There are complaints about Android SDK being reported as "not installed" when it is actually installed. To address them, I changed the way how we detect SDK and also added some minimal actionable feedback for each check.
The problem with the previous implementation of Android SDK check via "envinfo" is that the library uses "sdkmanager" tool under the hood, and this tool doesn't work on Java 9+. To fix this I'm changing the way how we assume SDK is installed to simple check for "adb" tool existence.
Actionable feedback is shown on Doctor report when you click to an item.
Reviewed By: jknoxville
Differential Revision: D19517769
fbshipit-source-id: 1c21f1bdcd05c7c0ae3f97b9c3454efa2c861d26
Summary: Shows tooltip when no plugins are selected. Before it used to select all the plugins
Reviewed By: jknoxville
Differential Revision: D19537054
fbshipit-source-id: 567b90f981a2a2ddcf68a1dce902db0a9d6214d2
Summary: The device.devicePlugins collection was not updated if new plugins were registered after creating a device. This diff fixes that.
Reviewed By: jknoxville
Differential Revision: D19536777
fbshipit-source-id: 11ed3c3383ae692ce74fd7a21704332fb319b9c4
Summary:
There was a bug in ListView where the selected items where not getting updated.
Bug
In the following video I have selected Inspector and logs plugin from export drop down. When I click on litho support form it should select the default plugins which is Inspector, Mobile Config and Logs. But it only shows Inspector and Logs selected
{F226900949}
To fix it:
I call the callback `onChange` when the listview's row get updated, which will updates the props of the ListView component and hence rerendering it with updated selected rows.
Reviewed By: mweststrate
Differential Revision: D19518762
fbshipit-source-id: 39367590cbdc1d6f88afb467b17b71e13703bde3
Summary: Discovered that all gathered plugin stats where empty due to mis-using Object.entries. Fixed that. Also added a accumulated cpuTime metric, which should be great for a uniform trend line.
Reviewed By: jknoxville
Differential Revision: D19517279
fbshipit-source-id: a6df83eea000a5d59fe692a3795fd58ae6457821
Summary:
Fixes broken export through URL.
Also fixes an issue where we suppress an exception
Reviewed By: mweststrate
Differential Revision: D19517066
fbshipit-source-id: c68b6a1bcbc8b0588e0db9032268033a42b43c61
Summary: This exists to warn people about an incompatibility with old android sdk's, there's no need for the warning on other OS's even if the sdk is old.
Reviewed By: mweststrate
Differential Revision: D19499587
fbshipit-source-id: 5468fffcc0265bb122cf149f49b9af86ddd3c84e
Summary: This is useless as it's logged as key: total anyway.
Reviewed By: mweststrate
Differential Revision: D19501099
fbshipit-source-id: 08dcf76fbab8065356b34c6ed1524ef83703c46c
Summary: This isn't needed anymore as it's taken care of by the Client class when it fails to find it's own matching device.
Reviewed By: mweststrate
Differential Revision: D19499929
fbshipit-source-id: e54dea6e680a9fa3cd3572cdd65434922d51c4ea