Summary: This diff removes the older support form as we no longer use it.
Reviewed By: jknoxville
Differential Revision: D19769541
fbshipit-source-id: ca2088e721f2895f2c8a1205889b0670477cc2d2
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:
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: 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: 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
Summary:
Previously, at 1-minute intervals, if the flipper window was focused on, it would report the currently active plugin.
We'd sum all those "ping" events and that would approximate the number of full minutes spent in total across all users.
It's quite coarse grained, if you're focused on the window for 30 seconds, there's a 50% change your ping will get used.
While being reasonable across many users, it doesn't allow analysis like how many plugins do people typically use in a session, because we probably won't see all the plugins they use.
New approach, for every minute flipper is open, report the focused and unfocused time spent in each plugin, as well as the total across all plugins.
This should give us the previous data but with much more precision.
Should be especially helpful for plugins with low numbers of users, you typically interact with emulators while using a plugin, so it's not continually in focus, so you miss a lot of usage events.
enhance_bladerunner
Reviewed By: nikoant
Differential Revision: D19392796
fbshipit-source-id: af9244e993edff9b381144ca587c3a77fdf8c98a
Summary:
This diff changes the sidebar navigation, fixing a bunch of issues:
It will be possible to quickly switch again between the same plugins in multiple apps
No need to expand-and-check the app dropdown until the app is connected
No need for ugly fallback selections if some app connects faster than another one
Reviewed By: nikoant
Differential Revision: D19272701
fbshipit-source-id: 10f5fab42391014ef4a4a4c91c529d93f8bfb125
Summary:
Since background plugins don't receive data anymore when not starred, we should hint the user about this.
For this diff, I reused the existing statusbar. Although this solution is quite ugly, I think it is better than introducing yet another notification / warning mechanism. Probably we should revisit the layout of this status bar in the future.
Reviewed By: jknoxville
Differential Revision: D19251588
fbshipit-source-id: 1dfd07be383d4ba318f344ebff4b08ed36194c58
Summary:
This diff introduces the logic for queueing incoming messages rather then directly processing them you are behind the `flipper_event_queue` GK.
The reason the queue processing is a bit complicated is to make the queue can be processed non-blocking, can be cancelled, and is safe to concurrency issues.
The idea here is that the queue is processed when we switch to a plugin, report it's progress, and abort the process when switching to another plugin without loosing any work.
This diff does not include
[x] updates to the UI (**SO DON"T LAND IN ISOLATION**)
[x] metrics to see the effect
The effect of the changes can be seen when profiling the application, before this change there are very regular CPU spikes (see the small yellow bar on the top):
https://pxl.cl/TQtl
These go away when the events are no longer processed
https://pxl.cl/TQtp
Reviewed By: nikoant
Differential Revision: D19095564
fbshipit-source-id: 0b8c3421acc4a4f240bf2aab5c1743132f69aa6e
Summary:
This diff is a refinement of D18780965, which fixed plugin preferences to be stored per device. Instead of storing plugin preferences globally, we now store them per app, so that every app can have their own favorites, which are shared regardless the device
Note that the current favorite selection will be lost.
Reviewed By: nikoant
Differential Revision: D19018169
fbshipit-source-id: acfa05ece8516840bb91aee4059886365b346582
Summary:
- Point the Noitifications to the static view
- Add function to check activeness of static view
- Add `SupportRequestDetails` to type (needed?)
Reviewed By: mweststrate
Differential Revision: D18810149
fbshipit-source-id: a33f61f521f3db0dd2a73e56d99b12d029b46a57
Summary:
Fixes a couple of typo's and merges two very similar functions into one.
Now that there's a single way to create a clientID, we can get more strict about what it is and what it isn't.
Reviewed By: passy
Differential Revision: D18809741
fbshipit-source-id: 9a68e45bead38cc2917a6d4cd2cf461c309f3ede
Summary: When importing a flipper trace, while the user was on a static view, the first client would not be selected automatically
Reviewed By: passy
Differential Revision: D18782482
fbshipit-source-id: 6f59e06dead62ffe42acdd36232b92dffd3e30d6
Summary:
This is a change which I am not fully confident in, but I think it will make things better;
previously favorite plugins where stored per device. This means that when ...
- switching between devices
- switching between apps
- when viewing disconnected devices
- when loading devices from flipper traces
... the starred plugin preference would reset (especially for the last two: they have generated unique device names, so there would never be preferred items)
This Diff changes the plugin preferences to be global, so on every app and every device you have the same preferences (if they support the plugin). This assumes most people work mostly with the same limited set of plugins
Reviewed By: jknoxville
Differential Revision: D18780965
fbshipit-source-id: 3a560393b81e7d65ae01fb737938f8562843af13
Summary:
This diff enables a full roundtrip of exporting a bug report to file / link, and importing it again.
Styling is not part of this story.
Reviewed By: jknoxville
Differential Revision: D18636418
fbshipit-source-id: ef9a8e3622bdac9361f612d51415a593f4268b80
Summary:
This diff makes it possible to apply MC's to a currently running as part of the support form process.
Things _NOT_ done in the diff:
* make sure getUniverses and getGatekeepers returns valid configs (this broke since somewhere last week, opened T57918601 for that. However, before that this worked correctly
* provide a more interactive UI when applying MC's, such as beeing able to see a diff preview, ask confirmation before overriding current config, etc
Reviewed By: jknoxville
Differential Revision: D18452172
fbshipit-source-id: da3f24bccf88260282f86e2564e983a9ee217c2f
Summary:
- Make sure newly connecting apps are automatically selected
- Improved the sidebar UI by using more consistent, spacious styling, and giving some more attention to error states
Reviewed By: passy
Differential Revision: D18505636
fbshipit-source-id: 18b2c8e78be13aabb3a54c60553f6b0d1e613b27
Summary:
This diff moves the selection storage from local state to the Redux store.
This makes the state available to the export data functionality (next diff)
Reviewed By: priteshrnandgaonkar
Differential Revision: D18448193
fbshipit-source-id: b1cce083ac7805c539de22aca0bd05c18e1b66e0
Summary: This diff sets up the create form for the new support request project. The current screen is very basic. I will be iterating through it in the upcoming diffs.
Reviewed By: passy
Differential Revision: D18327464
fbshipit-source-id: af01fc10f68a135f32f0ae98551986852019e8aa
Summary: This diff lands improved sidebar navigation. The old functionality to order plugins based on last-recently-used, and cropping at 5 items has been removed. Instead, items can be starred and their position will be fixed. Together with the app switcher introduced this should lead to a cleaner, stabler, and more customizable UI.
Reviewed By: jknoxville
Differential Revision: D18299401
fbshipit-source-id: 29b7eb3a4130933c637f7c81834558bf738d5bf0
Summary: Improved the display of error messages. Where previously only one error message could be displayed (quite obtrusively), with this change multiple errors can now be displayed and stack traces and further info can be hidden.
Reviewed By: passy
Differential Revision: D18036569
fbshipit-source-id: 2bc3dfa7a5196f931370a6e6dbf27c55b6cfb2bf
Summary: Not a fan of the long lines, but if that's where prettier is going, let's roll with it.
Reviewed By: jknoxville
Differential Revision: D17905599
fbshipit-source-id: c4232d46d2ec0b7c743f6afd8349106c85f013b9
Summary:
This diff shows the error screen when one of the following condition is met:
- Selected device is not android
- No clients are active for selected device
- At least there is one client which supports inspector plugin.
For this I have added a SupportRequestManager class which loads the error screen or the litho form based on the above condition.
The UI is super basic. Will improve the design based on your feedback in the coming diffs.
Reviewed By: jknoxville
Differential Revision: D17790596
fbshipit-source-id: 2afc917c93c6e7321399633c5bf9d27a703742ee
Summary: This diff adds an initial support to prefill the app information and the revision information. This diff also copies the workplace url in the clipboard.
Reviewed By: passy
Differential Revision: D16990925
fbshipit-source-id: 4f354e52de5fea07c2ea36336761d6963c27ef66
Summary:
Plugin keys which are used to record the least recently used plugins to show on sidebar on android emulators depend on the port (connected order), so it can cause unexpected order (swapping between two devices).
This will ensure that for the same app it will have the same order regardless of device it is running
Reviewed By: jknoxville
Differential Revision: D17395033
fbshipit-source-id: 94ef4ef51bd5545f2ef7ce47bf8bc931d0140dbd
Summary: Plugin is moved up as soon as it gets clicked because of the same array reference
Reviewed By: jknoxville
Differential Revision: D17285335
fbshipit-source-id: c4413844fe07a9aed77e4b0e9fb5f5e025d722ca
Summary:
This makes the implementation of static view generic. Right now the only non-plugin view which is shown is the WelcomeScreen. The implementation it is hardcoded. I want to make it generic, so that we can show the bug request screen too.
This diff sets the default value of the `staticView` to `WelcomeScreen`, which will be set to null when the `selectedDevice` is set. And viceversa, it will be assigned back to `WelcomScreen`, when the `selectedDevice` is set to `null`
Reviewed By: danielbuechele
Differential Revision: D16965734
fbshipit-source-id: 69d700184f44d4e5ab531f5f8fc0e23bafa07e72
Summary:
* Change the way to determine recently used plugins
* Show all plugins if there are just a few hidden plugins
* Not all of plugins in client list can be showed, so checking happens when rendering
* Add action to clear the history internally (for testing) (not sure if needed)
Reviewed By: danielbuechele
Differential Revision: D16965302
fbshipit-source-id: 6efeedac8c0fad7e89a96e7fc5ba9101d3516fe7
Summary:
- Show all or show 5 LRU plugins
- Update when close/reopen app, collapse sidebar, or expand sidebar
Reviewed By: danielbuechele
Differential Revision: D16917950
fbshipit-source-id: 1e7edc86945162ea14e1cdaa89aa47d3defa4c7d
Summary:
- Add `show more` and `show less` button to expand and collapse
- The element to show depends on its usage rank from Flipper dashboard (manually copied)
Reviewed By: danielbuechele
Differential Revision: D16917952
fbshipit-source-id: fc37d5c640be33794694e302341fa08849b8f97f