Commit Graph

174 Commits

Author SHA1 Message Date
Chaiwat Ekkaewnumchai
6c4e687d63 Fix Notifications Not Showing up
Summary: Notification tab was not accessible previously.

Reviewed By: passy

Differential Revision: D18590702

fbshipit-source-id: 36888a2e695dc701ea848cb772c00e4feed8659f
2019-11-19 05:20:20 -08:00
Pritesh Nandgaonkar
f1aeb947b7 Persist the state of the support form
Summary:
This diff migrates the current state variables of the support form to the redux store, so that they can be persisted. This change will make them exportable and also solve the bug, where user navigates away from the form and comes back to see the support form's data vanished.

Right now the videos are not persisted, as its uploading bit is a work in progress.

Reviewed By: passy

Differential Revision: D18531674

fbshipit-source-id: b1e824377da55cf531312920ff1bb5b862a12010
2019-11-18 12:38:29 -08:00
Michel Weststrate
9f7be13e39 Rework sidebar selection
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
2019-11-18 02:21:14 -08:00
Michel Weststrate
f2d12f1025 Fixed a bunch of prettier errors after upgrading
Summary: prettier upgrade uncovered more errors

Reviewed By: passy

Differential Revision: D18474908

fbshipit-source-id: b1553000fb3386f2bbd9defdd3332618e4b9c867
2019-11-13 08:36:54 -08:00
Michel Weststrate
d6814a8bf6 Move sidebar client selection state to redux store
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
2019-11-12 04:46:05 -08:00
Pritesh Nandgaonkar
994546b24a Setup of the bug creation screen
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
2019-11-06 10:46:12 -08:00
Michel Weststrate
3cee927674 Introduce favorite plugins
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
2019-11-05 09:14:46 -08:00
Pascal Hartig
432bb1b00a Move local plugin discovery to dispatcher/redux store
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
2019-11-05 05:44:12 -08:00
John Knox
42a77094f4 Clean up old flipper rating system
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
2019-11-04 09:23:50 -08:00
Michel Weststrate
6e69d20917 Don't bundle react-native dependencies
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
2019-11-04 05:07:00 -08:00
Pritesh Nandgaonkar
7c69aba8fa Move supportform related redux property in a different reducer
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
2019-11-04 03:58:53 -08:00
Pritesh Nandgaonkar
9ec4ef67ad Cache the text entered by the user
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
2019-11-04 03:58:53 -08:00
Michel Weststrate
3b1429b8b0 Add global error bubble
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
2019-10-22 08:48:16 -07:00
Pascal Hartig
82a253cf28 Add launcher prefetch setting
Summary: Allows users to override the GK status of prefetching. It is implemented as a Tri-State. "Unset" means that the local Flipper config won't take precedent over the GK setting and will leave it unchanged. If a user interacts with the setting, it gets persisted into the config and will from then-on override the GK, meaning that the user has an opt-in mechanism and if we open the GK to more people, they effectively have an opt-out.

Reviewed By: jknoxville

Differential Revision: D18008259

fbshipit-source-id: bdfde9a8b9acf43aa60c84800a7979a29a4e9364
2019-10-22 08:09:43 -07:00
Pascal Hartig
aa1f03a643 Upgrade redux-persist
Summary:
Last one blocking Greenkeeper.

Only change affecting us appears to be where to import from.

Reviewed By: jknoxville

Differential Revision: D17932089

fbshipit-source-id: b913defdabd99721886557d7c92afb8181ca1803
2019-10-16 02:32:31 -07:00
Pritesh Nandgaonkar
de17f3905b Close export dialog autmatically for support form
Summary: This diff adds the support to close the dialog automatically for the support form.

Reviewed By: passy

Differential Revision: D17899862

fbshipit-source-id: 9d9cd14556a4cebe60f8cc1d082be3e439998e9c
2019-10-14 08:07:41 -07:00
Pascal Hartig
874e590b96 Upgrade eslint and prettier
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
2019-10-14 05:27:27 -07:00
Andres Suarez
0675dd924d Tidy up Flipper license headers [1/2]
Reviewed By: passy

Differential Revision: D17863711

fbshipit-source-id: 259dc77826fb803ff1b88c88529d7f679d3b74d8
2019-10-11 13:46:45 -07:00
John Knox
ea5079ff9c Enable / Disable iOS support depending on xcode-select
Summary:
Queries xcode-select on ios dispatcher startup, to see if it's installed.
If it is, carry on with the ios device tracking, if not, don't bother.

This should stop it from emitting errors trying to track devices when things aren't installed.

I think it should also stop those install prompts from popping up.

Sets it in app state so we can tell the user about it, and maybe gate some other things too.

Reviewed By: passy

Differential Revision: D17830696

fbshipit-source-id: 960d09a9c5267afabf5e5e222379a0a7ed2cc444
2019-10-10 09:23:46 -07:00
John Knox
16be611792 Add android enable/disable to settings screen
Summary:
The UI could do with a bit more fine tuning, but it's a start.

Fully functional with updating the settings file. But nothing actually uses that setting yet.

Reviewed By: priteshrnandgaonkar

Differential Revision: D17810588

fbshipit-source-id: 791ee60616f3ee73f41813a5a442b08a5e395458
2019-10-10 09:23:45 -07:00
Pritesh Nandgaonkar
f924b0ae1b Add support manager to display an error screen or litho form
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
2019-10-08 12:01:09 -07:00
John Knox
85c0ec0d13 Persist settings in ${XDG_CONFIG_HOME}/flipper/settings
Summary:
Moves the settings state from electron local storage into a json file in the users configured config location.
Unless modified by the user, this will usually be `~/.config/flipper/settings.json`

Settings will now persist across re-installs, and can now be easily inspected and backed up.

Reviewed By: passy

Differential Revision: D17712687

fbshipit-source-id: 1e778063e41d0a1a86145817b9797bf0458121da
2019-10-07 08:51:05 -07:00
John Knox
eb64ff0832 Add settings UI
Summary:
Adds a simple UI for editing settings, a reducer and persistance config for the data.
These values aren't yet used for anything.

Reviewed By: passy

Differential Revision: D17684490

fbshipit-source-id: e76ac43ffa17d3606e59f4a1ccb940e8d9fbd9e8
2019-10-07 08:51:05 -07:00
Pritesh Nandgaonkar
9bad9ba976 Add status messages for the Support Form
Summary: Shows status messages for the Support Form

Reviewed By: passy

Differential Revision: D17601944

fbshipit-source-id: a2a8ad392dfbaf467625eb809020d687d066da57
2019-10-02 05:48:03 -07:00
Pritesh Nandgaonkar
05328167c6 Add support for status bar
Summary:
This diff adds a status bar, which can be used to show the status messages, for example for Litho Support Form.
The logic for the status bar is as follows:

It maintains the array of the messages. At any point it shows the last pushed message. It will keep showing that message until it is being removed, once removed it will show second last message. The messages will be removed as and when its corresponding task/Promise is fulfilled.

Reviewed By: danielbuechele

Differential Revision: D17551495

fbshipit-source-id: 96b2f401599b9ee8a472607e6a2f027e63b3b807
2019-10-02 05:48:03 -07:00
Pritesh Nandgaonkar
8d4d642330 Attach Flipper Trace in the support form
Summary: This diff sets up Flipper to attach flipper trace to the support form. This diff adds a property named `exportResult` in the redux store. This will hold the export url or the path of the export, depending on the type of the flipper export. Once the exportResult is populated, we listen for this change and update the button style and fill the comment box.

Reviewed By: passy

Differential Revision: D17478491

fbshipit-source-id: 10dd5e130a9e3df5f41afde42b92b08959d9ed9e
2019-09-25 06:09:13 -07:00
Pritesh Nandgaonkar
84c5067210 Create Support Requests from Flipper
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
2019-09-20 11:39:05 -07:00
Daniel Büchele
8c623867bd PluginManager
Summary: Adding the plugin installer to the plugin sheet as a second tab

Reviewed By: passy

Differential Revision: D17450842

fbshipit-source-id: 211c9f15ed2614a1dd46d974b86f50c825f81fb0
2019-09-19 02:34:18 -07:00
Daniel Büchele
109e871a76 UI
Summary: Setting up a sheet to list plugins that can be installed from NPM

Reviewed By: jknoxville

Differential Revision: D17394824

fbshipit-source-id: 26c6ffea9de9cf3fe8488ea1a757eae7b7aaa7ef
2019-09-17 06:21:28 -07:00
Chaiwat Ekkaewnumchai
22351311ae Change Key of LRU Plugins to Only Name
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
2019-09-16 05:33:19 -07:00
Pascal Hartig
cbbe32b9b9 Remove FlowFixMe's from TypeScript
Summary: This diff was a joy to draft.

Reviewed By: jknoxville

Differential Revision: D17344676

fbshipit-source-id: 0694d0393fa243edef61408ecfee92912fbbfa32
2019-09-12 10:20:08 -07:00
Chaiwat Ekkaewnumchai
faee603605 Recreate Array to Prevent Same Memory Usage
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
2019-09-10 10:45:40 -07:00
Pritesh Nandgaonkar
b75a3dc56b Strictify index.tsx
Summary: As per title

Reviewed By: danielbuechele

Differential Revision: D17265679

fbshipit-source-id: 664f92f803a44dd485fb7078b59c88e95998decf
2019-09-10 10:36:14 -07:00
Pritesh Nandgaonkar
72a8b8967d Strictify connections.tsx
Summary: As per title

Reviewed By: danielbuechele

Differential Revision: D17259633

fbshipit-source-id: 5180785d0542871da31cf9a07a57dcc68d98ff81
2019-09-10 07:47:15 -07:00
Pascal Hartig
4d7e776672 Refactor BaseDevice constructor
Summary: OS must always be defined.

Reviewed By: jknoxville

Differential Revision: D17204398

fbshipit-source-id: 0d84111c382af623843a41360bcb472394daf3f1
2019-09-09 07:04:54 -07:00
John Knox
6e8b31e2ed PluginContainer.tsx
Reviewed By: passy

Differential Revision: D17258340

fbshipit-source-id: 26ce421345f6152efe7da07daf649395e299af14
2019-09-09 06:54:36 -07:00
Pritesh Nandgaonkar
61c033daaf Set up the infra to show the static screen
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
2019-09-03 08:42:50 -07:00
Chaiwat Ekkaewnumchai
f9fa80d93b Expand/Collapse Plugin Sidebar v1
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
2019-08-23 04:42:06 -07:00
Chaiwat Ekkaewnumchai
ea7578aa16 Expand/Collapse Sidebar V0
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
2019-08-21 08:50:34 -07:00
Chaiwat Ekkaewnumchai
007a29805a Setting up Persist Storage for LRU Plugins
Summary:
- Change policy to show plugins to LRU (least recently used)
- Add persist storage to store LRU plugins

Reviewed By: danielbuechele

Differential Revision: D16917951

fbshipit-source-id: 8ea7b2f15e06db51209953818f465a05e24c38c4
2019-08-21 08:50:34 -07:00
Chaiwat Ekkaewnumchai
afd7634fd6 Add Button to Expand or Collapse Left Panel
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
2019-08-21 08:50:33 -07:00
Daniel Büchele
d0da0d66a5 main folder
Summary: _typescript_

Reviewed By: passy

Differential Revision: D16762117

fbshipit-source-id: b6ee32e0bb3fc686fc69cfccab703e2ef4989571
2019-08-15 03:33:06 -07:00
Benjamin Elo
9c80021d7c Removed duplicated functions after migration
Summary:
Pritesh and I both decided to re-add these functions without knowing that the other person had already re-added them.

Got through to master and now master won't build.

Reviewed By: priteshrnandgaonkar

Differential Revision: D16762774

fbshipit-source-id: 4a05d9e03cb043a6f398f57f2652a3ec15bd8985
2019-08-12 07:03:03 -07:00
Benjamin Elo
3e11e8887d Migrate ShareSheet from js to ts
Summary: Migrated ShareSheet.js to ShareSheet.tsx

Reviewed By: jknoxville

Differential Revision: D16734361

fbshipit-source-id: a6c050be19892f1650c1652536a62e4324ad949a
2019-08-12 06:06:42 -07:00
Pritesh Nandgaonkar
47197f9552 Adding the deleted functions in application reducer
Summary:
Bug:

{F175972811}

Reviewed By: passy

Differential Revision: D16738491

fbshipit-source-id: 0f2675ed6d054d33ee9dbc7c4db9c34a2379abcf
2019-08-12 05:17:27 -07:00
Pritesh Nandgaonkar
47a55b0f26 Migrate BaseDevice from js to tsx
Summary: As per the title

Reviewed By: passy

Differential Revision: D16687261

fbshipit-source-id: a9d85424fb0a08fada7edd0355c356907518d366
2019-08-09 06:56:54 -07:00
John Knox
3bfb7faf0a Convert plugin.js to plugin.tsx
Summary:
* Deletes plugin.js
* Adds plugin.tsx
* Adds plugin flow-typed module that has the old flow types

Reviewed By: passy

Differential Revision: D16668067

fbshipit-source-id: b2f0ce47c4cf7125b4e352821e921b97675d12a9
2019-08-08 12:06:11 -07:00
Daniel Büchele
5f53087c7e client server
Summary: Migrating Server, Client and UninitializedClient to TypeScript

Reviewed By: passy

Differential Revision: D16687855

fbshipit-source-id: 402e4dbcd5d283d3e280d4d8b312662829457886
2019-08-08 11:00:38 -07:00
Daniel Büchele
64cefd0f84 migrate redux store
Summary: Migrating redux stores to TypeScript

Reviewed By: passy

Differential Revision: D16579796

fbshipit-source-id: e3e507f17f1bdd57eb45e30cb0b28aaee6c4521c
2019-08-08 08:07:21 -07:00
Pascal Hartig
6a43b0cc88 Revert D16648356: Migration of Basedevice from js to tsx
Differential Revision:
D16648356

Original commit changeset: 12954532acf9

fbshipit-source-id: 76754f427e7ccac0f0b0030c3a0af02d036c1a8b
2019-08-06 08:50:32 -07:00