Summary:
Created as standard layout that can be used for both the import and export form
Standardized components used, so that we work towards a Design Framework that is consistent. Took inspiration from some existing plugins.
Also fixed weird sidebar transparency.
Reviewed By: passy
Differential Revision: D18504078
fbshipit-source-id: 7649abf7aa3eba8ba635337a41274bba93738e81
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:
Currently most components are shown anonymously in the component tree, because using `styled` creates unnamed components, shown as the HTML elements they result in.
This has two downsides:
1. React errors / warnings are really vague and it is hard to locate where they are coming from
2. The React Devtools don't show which components are rendering.
3. The effect of the latter it is hard to copy-from-example when developing plugins. This leads to a lot of inconsitency and duplication in the layouts of components
Reviewed By: jknoxville
Differential Revision: D18503675
fbshipit-source-id: 5a9ea1765346fb4c6a49e37ffa4d0b4bbcd86587
Summary:
Effectively just removes and re-installs but that way we know
we have everything we need.
Reviewed By: jknoxville
Differential Revision: D18479831
fbshipit-source-id: 5d47abfc660288e1137f393534512997e8b3f83e
Summary:
Display is functional, the update itself isn't just yet.
Want to keep this easier to review. Instead of GK, I just
have a top-level toggle for now, because that will go
away with one of the next diffs anyway.
Reviewed By: jknoxville
Differential Revision: D18479290
fbshipit-source-id: b49394d4ab681c9d1dc5db0e4bee54f9255494b9
Summary:
To be used in the following diff and because it's super side effect
heavy, I didn't bother to implement tests for it.
Reviewed By: jknoxville
Differential Revision: D18479311
fbshipit-source-id: 5cbcae0ebf2de4558b993325e50f6a2da1ed3ea7
Summary:
This diff adds one more section in the Support Screen V2. This section records and displays the emulator screen. Right now the videos are stored at the very same location where our currently recorded videos are stored. For displaying them on UI I have used `react-player` dependency.
For the upload bit:
I will see how the exisiting e2e tests upload videos and if we can use their approach. Or else we can just upload videos on everstore and export its handle as part of flipper trace. The last resort can be to base64 encode it along with the trace.
Reviewed By: mweststrate
Differential Revision: D18460779
fbshipit-source-id: 8ddd51f59e5237a1a80f05bf90dfc3bead651143
Summary: Initial setup for a support detail form. Will only show up if meta data is present in the flipper file, so use the attached one to see it.
Reviewed By: jknoxville
Differential Revision: D18479193
fbshipit-source-id: 61da089f1e883fea20b2422a6bea99b2f8a4434b
Summary:
If a flipper file is imported, from now on we will show that fact in the sidebar to make it more clear we are looking at an imported device. Beyond that, those devices are marked as `(imported)` rather than `(offline)` to distinguish between offline and imported devices.
This should help with future feature like cross device applicable actions.
Reviewed By: jknoxville
Differential Revision: D18448190
fbshipit-source-id: 560084f010207c99cecd616e43a6cc02e62cbc7a
Summary: Tabs have a weird negative offsite in the mobile config section (they have everywhere by default, to escape their containers in a mac-style but it does hide them in this specific case)
Reviewed By: priteshrnandgaonkar
Differential Revision: D18448191
fbshipit-source-id: 792daa5a3ef1aa91df730bd185124076471e42d3
Summary:
Currently flipper export exports all connected the clients. This causes a few problems
1. This might often be unintended by the user, causing accidentally sharing (sensitive) information in the trace
2. This slows down things unnecesary. Especially if there is connected application, which is expensive, but not needed. See the attached video for the impact on exporting flipper: Export size reduzed from 11 to 0.5 mb. Export time from 20 seconds down to 1. (Flipper might not be a representative example, but imagine working on fb4a and having instagram on the emulator as well).
Reviewed By: priteshrnandgaonkar
Differential Revision: D18448194
fbshipit-source-id: f4de4c6dd89bda20251eb5f7423f7996339c8f2d
Summary:
This diff adds commit hash field in the support form v2 and we prefill the information.
If changes are not pushed to phabricator we will populate it with commit hash or else we will populate it with Diff number.
See the demo to understand the flow.
{F222000517}
Reviewed By: jknoxville
Differential Revision: D18427044
fbshipit-source-id: 80a58baca381e21203da5670e29144a7e8c2eeed
Summary: Since most employees use flipper in development mode, the current error bar might be overly obtrusive, so we collapse it by default
Reviewed By: priteshrnandgaonkar
Differential Revision: D18448192
fbshipit-source-id: 9aa211df6c9a519860dffdced3619119e0ee8e22
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:
Before this diff, plugins made with createTablePlugin would not be exportable as it uses ImmutableJS's Map which is not serializable. In the custom serializer we just handle the normal map, not the immutableJS one. Thus to tackle this I overrode the serializer and deserializer methods to handle it.
Before this diff the funnellogger import didn't work.
{F221607733}
Reviewed By: mweststrate
Differential Revision: D18352298
fbshipit-source-id: 57d4f3e19f38c12a30e75167646ae43ac8690e08
Summary:
Added more telemetry events for the following events
- Time taken for each plugin to fetch meta data
- Overall time taken for fetching all meta data
- Overall time taken for serializing plugins
- Time taken to serialize individual plugins with overridden serializer and deserializer methods
Reviewed By: passy
Differential Revision: D18349588
fbshipit-source-id: 2b3a6b663a9df4da45580fc0be5651a27ca4093d
Summary: The Flipper codebase was recently converted to TypeScript. Plugins should be converted as well to maintain type safety.
Reviewed By: passy
Differential Revision: D18347730
fbshipit-source-id: be63e8bac677c13fa5c0fa4f964dda8e7ba6251d
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: Used by rating, I think.
Reviewed By: mweststrate
Differential Revision: D18347585
fbshipit-source-id: bbc84a42c34aae9805515c82f8d24cfd0817d8ed
Summary: Moving some things around for the upcoming update support.
Reviewed By: jknoxville
Differential Revision: D18347572
fbshipit-source-id: b614fe3a87f8e7fdc0c11c0d3bfe4787c0914d17
Summary: Look client names were unreadable due to line wrapping
Reviewed By: jknoxville
Differential Revision: D18348602
fbshipit-source-id: 682c3b17ef73ca0bf0f8193f71a608ada5cdfbf2
Summary: Fix an issue where we accidentally show all plugins for all clients, causing client crashes if an unsupported plugin is selected
Reviewed By: jknoxville
Differential Revision: D18347907
fbshipit-source-id: 5416f29b8eae2daed64869380f9e9382e90261d7
Summary: Currently the app keeps to find iOS devices if when the tooling isn't properly set up, causing an error to appear every three secs. This change makes sure that happens only once. It also takes care of some run-away promises
Reviewed By: jknoxville
Differential Revision: D18346619
fbshipit-source-id: 12b581bee0d522b37b9e0c5d5b8dad0e4d2058d9
Summary:
When the CPU or kaois plugins are started, they show a buffer deprecated warning, caused by the fact that they ship their own adbkit version, which is unpatched.
This diff makes sure that the adbkit as shipped with Flipper is used instead.
Reviewed By: jknoxville
Differential Revision: D18327441
fbshipit-source-id: 9cab23b9701adc070210cc4133fc8760031bd1d7
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: Sidebar now shows a drop down to select the app you are currently working on, rather than showing all plugins for all apps connected
Reviewed By: passy
Differential Revision: D18201094
fbshipit-source-id: a64ca380606c232d0a85bfa80f16ed0db980dfb4
Summary:
Left this out from diff at the bottom of the stack to
keep it a bit smaller.
Reviewed By: jknoxville
Differential Revision: D18272165
fbshipit-source-id: a2b0826e268b737341e2ef1c0f96dde32491237f
Summary: Address the small regression introduced by D18173166. When closing the plugin manager after installing/removing, the store wasn't updated in between.
Reviewed By: jknoxville
Differential Revision: D18270821
fbshipit-source-id: 4ff54bc7607d06fa423cf8e673f216ae0a5d19da
Summary: In order to have update notifications, this must live outside the UI component, but it also gives some additional benefits like better testability of previously effectful UI.
Reviewed By: jknoxville
Differential Revision: D18173166
fbshipit-source-id: 1cacb6c7893423a7920a6620dfb76e631caba101
Summary:
Found some unused code from the rating prototype before switching to itsr.
Deleting it.
Reviewed By: cekkaewnumchai
Differential Revision: D18298155
fbshipit-source-id: 3529db17494f4f5bf7d7841460203d1c3856299a
Summary: This will allow rating data to be joined with version number so we can get the rating of each release.
Reviewed By: mweststrate
Differential Revision: D18297808
fbshipit-source-id: 00f151c64aad40632389f728ad25a565f44a2a90
Summary:
- Update and include `react-redux` to Greenkeeper
- Remove legacy context which is used to access `store`
- Export `store` directly to use instead of legacy context
Note:
1st attempt: D18169584 -> got backouted in D18203354
Reviewed By: jknoxville
Differential Revision: D18297298
fbshipit-source-id: fd968f1b211eabb094113a0b35e84305f70117fc
Summary: Making it a bit more human readable.
Reviewed By: passy
Differential Revision: D18271880
fbshipit-source-id: 10e8ba50957e9407b1436972f8a06915edf73dfb
Summary: Make sure that `.native.js` modules resolutions are _NOT_ prefered over `.js` modules when building flipper or flipper plugins
Reviewed By: jknoxville
Differential Revision: D18297580
fbshipit-source-id: 73f9114d19eb0934cdf69d9668b582966aedc756
Summary: This diff moves support form related redux prop to a separate reducer under separate supportForm property.
Reviewed By: passy
Differential Revision: D18272436
fbshipit-source-id: b64c4e041d8dacd305a71db255752a310a46b0d1
Summary:
This diff introduces the following improvements which I got as a feedback from the user
1) Before this diff the text entered used to vanish away when one switched tabs and came back to the support form. This diff takes care of that.
2) With this diff user can rexport the flipper trace to override the previous cached state too.
- For this I had to update the UI to show flipper trace a separate input box, rather than appending it in the question field.
- This avoided the the appending of the text in flipper trace and facilitated the easy override of the trace
3) With this diff one can also override commit_hash without appending multiple text.
WWW changes: D18250494, Do not land until this diff is landed.
Reviewed By: passy
Differential Revision: D18257524
fbshipit-source-id: 119edadf90ac95cb296c10520239513f1fef905d
Summary: Simple implementation of searching through request/response body on "network" tab
Reviewed By: passy
Differential Revision: D18268026
fbshipit-source-id: 39386d2d6ec50b47c3ca3dec976821282b51636f
Summary: Adds telemetry for the export time and also logs the selected plugins.
Reviewed By: jknoxville
Differential Revision: D18244843
fbshipit-source-id: 36a3e8b9b456b59187918d19075a2c1ea0caef25
Summary:
Uses a slightly modified version of the deep expansion. In testing, there were a few issues due to the function in Inspector::onElementExpanded is essentially a toggle. I added an optional parameter to override this toggle behavior for child elements, and also flipped the order of root and child actions during collapsing, as the child state otherwise didn't persist properly (due to the component being unmounted, would be my guess?) This change should be non-breaking to other uses of the method that don't use the `deep: true` parameter
close https://github.com/facebook/flipper/issues/223
Reviewed By: passy
Differential Revision: D18225057
fbshipit-source-id: 53e840f07bf648249b5a4b36d115918dba215ff8
Summary: If the `crash.reason` assumes the default value of "Cannot figure out the cause", we don't show a notification in the hub. The crash is still visible in the Crash plugin, but the superfluous Reason row is hidden there, as we can't say anything useful there anyways
Reviewed By: passy
Differential Revision: D18223910
fbshipit-source-id: c033085badbf633b58f95c495c6d3a22bc7fb163
Summary:
Moves the Fresco plugin to TypeScript, including fixing any typing/nullable warnings following this.
Note that parameters of event handlers previously using the SyntheticInputEvent flow type now accept a parameter of type `any`. This is done since the InputEvent api is not covered by ts bindings, as the interface is deemed experimental and not fully covered by browsers (see https://fettblog.eu/typescript-react/events/#wheres-inputevent for more info)
Reviewed By: passy
Differential Revision: D18201893
fbshipit-source-id: 41d1e5fc1ceaa8f8453c0f5929e754b7c32c0eb8