Summary: I noticed every time you open a sheet it feels laggy and unresponsive. This removes the wait time to make it immediate.
Reviewed By: passy
Differential Revision: D17684407
fbshipit-source-id: f918bf8ca3bb0ef68c3fe01991c67d50f3967d68
Summary: Turns out Windows really doesn't like colons in filenames. Sigh.
Reviewed By: jknoxville
Differential Revision: D17664236
fbshipit-source-id: 664885308815d862007c8a9a9d1278c426b4e756
Summary:
Instead of our ad-hoc mechanism. There's quite a bit
of trickery involved to make this work reliably on Windows
so I'd rather take an off-the-shelf solution than reimplement this
myself.
Reviewed By: jknoxville
Differential Revision: D17628949
fbshipit-source-id: 98806b60a107231d9ee07b721ebb70f2cbd8aec1
Summary:
In the previous implementation plugins were downloaded from npm, but dependencies weren't. This diff uses the `live-plugin-manager` which does mostly what we want. It install a package from NPM with all its dependencies.
live-plugin-manager puts the plugin and its dependencies in the same folder. We expect the plugins to be in `node_modules`. For this reason, we are installing the plugin into `$pluginName/node_modules` and move the plugin after the installation out of the `node_modules` folder.
* Fixed plugin loading path for thirdparty plugins.
* Disabled hot reloading for plugins in the flipper folder to prevent reloads when moving around files and installing dependencies here.
* an empty `.watchmanconfig` is created, because metro requires it
* tsx files are added to the list of supported extensions for metro
Reviewed By: passy
Differential Revision: D17570413
fbshipit-source-id: ecbedc60841b36188fec9c83da41ef1f27e5e155
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
Summary: Change flipper from using the dodgy webview check that requires auth, to using the interngraph api for eligibility checking.
Reviewed By: passy
Differential Revision: D17498724
fbshipit-source-id: b81fd8b7b0bd36a7fcf73ba05d9885b61e420c61
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: Adding Plugin Manager to menu bar and update wording in sidebar
Reviewed By: passy
Differential Revision: D17450840
fbshipit-source-id: 9426e6053f454a8e3776e9e0e061cd119f8dc7b5
Summary: Adding the plugin installer to the plugin sheet as a second tab
Reviewed By: passy
Differential Revision: D17450842
fbshipit-source-id: 211c9f15ed2614a1dd46d974b86f50c825f81fb0
Summary: For plugins to be discoverable through NPM, they need to have `flipper-plugin` as a keyword. This adds this keyword to all existing plugins (although they are currently not distributed via NPM) and the webside/docs.
Reviewed By: passy
Differential Revision: D17395079
fbshipit-source-id: e42dd31ca39c3754cf729052ee783687748bafe8
Summary: Checking `~/.flipper/thirdparty` for already installed plugins and displaying them on top of the table
Reviewed By: jknoxville
Differential Revision: D17394821
fbshipit-source-id: 65f392c8beaf72d9effcae9f47a60bcbb9194025
Summary: Using yarn's algolia index to search NPM packages with the tag `flipper-plugin`.
Reviewed By: jknoxville
Differential Revision: D17394823
fbshipit-source-id: d7c88ddf5d4ce017f2672755436ef3ae7ed4e7f0
Summary: Setting up a sheet to list plugins that can be installed from NPM
Reviewed By: jknoxville
Differential Revision: D17394824
fbshipit-source-id: 26c6ffea9de9cf3fe8488ea1a757eae7b7aaa7ef
Summary: This diff shows the status message of "Uploading Flipper Trace..." when we upload it.
Reviewed By: danielbuechele
Differential Revision: D17402445
fbshipit-source-id: ab2927de34ab5d7e49e7c7ea005d40816a0365bd
Summary:
moving logic for screen recordings to the respective devices, instead of having it in the button component.
This is part of my wider effort to unify our use of adb/adbkit and upgrade to the latest version of adbkit.
Reviewed By: passy
Differential Revision: D17318702
fbshipit-source-id: cff4459047d7a197ed6cb8ee8c290b4eaab41479
Summary:
Gets the rating popover to appear automatically after 30s for selected users, according to ITSR constraints.
The ITSR constraints are to stop it annoying people, such as only happening once a month, and global throttling.
Reviewed By: passy
Differential Revision: D17343435
fbshipit-source-id: c06aa10263a64249f7e2c48b8752c37e4314ac24
Summary: Dismissing the popover will stiop the user from being prompted for a while, so we only want to send this event when the user was proactively prompted in the first place - which is when we're using the eligibility check.
Reviewed By: passy
Differential Revision: D17343227
fbshipit-source-id: 95a071e34ce318fe49640c6ee9f68127957f390c
Summary:
Behind a gk.
This uses a hidden webview to check if a user is eligible for star ratings. This means you can practively ask the user, and makes sure you'll get an unbiased distribution.
Reviewed By: danielbuechele
Differential Revision: D17343118
fbshipit-source-id: fe7471416aef947ec10f4734e4136868ab5ab3e5
Summary:
I didn't update the render logic accordingly after figuring
out how the internal update endpoint works. This closes
that gap.
Reviewed By: danielbuechele
Differential Revision: D17316892
fbshipit-source-id: 1e6c4dd17b342b2a062cea90d763be01ed6fc1ec
Summary: These strings be provided by the api.
Reviewed By: passy
Differential Revision: D17282133
fbshipit-source-id: a818f915c0a21f84894a6073d2cc08669647caaa
Summary: And also increase the time-to-disappear from 1s to 1.5s.
Reviewed By: passy
Differential Revision: D17281904
fbshipit-source-id: df0f3e1a40949f5a518bf05d89b6ac0ecf92c5bb
Summary: It looks a lot better now, but the input is only single line, so entering more than one line would not be good right now.
Reviewed By: danielbuechele
Differential Revision: D17210091
fbshipit-source-id: 9313b6a67731cfa944394962cdc09be915a07720
Summary: To keep it in sync with the JS implementation.
Reviewed By: danielbuechele
Differential Revision: D17208786
fbshipit-source-id: 8d89f33bfef22317266a0ad1e0c5689540d54f9e
Summary:
This isn't ready to release yet, it's still behind a GK so noone will see it.
There has been no styling applied to the popover so it looks bad but is fully functional.
What it also doesn't have yet:
* Get the prompt text from the API (including the predefined selectable comments)
* Check with the server whether it should pop up proactively, it's completely passive at the moment.
Reviewed By: passy
Differential Revision: D17206158
fbshipit-source-id: f1734f3d6bc555c860ebbaad7515d4675e1700cb
Summary: z-index for titlebar was not high enough to cover the modal sheet
Reviewed By: jknoxville
Differential Revision: D17165223
fbshipit-source-id: 5ae30b6e55a1f69d653db509a08a8aa80a6f10fd
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:
This converts the index file to TypeScript which is used as an export for all plugins. Alongside, I had to fix a couple of errors in various files to make sure everything works correctly.
For plugins using flow, we define an interface which uses the type definition for FlipperPlugin and types all UI components as `any`.
Reviewed By: passy
Differential Revision: D16936890
fbshipit-source-id: dacd9a63a82b9f0bbb530b06072186874cba7b6f
Summary:
I have moved the screenshot functions from ScreenCaptureButtons to the Device classes. I have slightly rewritten them so that they return a Promise which resolves to a Buffer. The Buffer can then be saved to a file or converted to a data Blob.
I have removed streaming and simply loaded the image into memory. Once the image is in memory it can be manipulated for various tasks i.e. written to a file, or displayed in the app.
iOS screenshots had to be rewritten. I now save the image to a temp folder, load it into the apps memory, and then remove the temp image.
Reviewed By: jknoxville
Differential Revision: D16939901
fbshipit-source-id: 3e39a5aeda8d48829ac5a8ff912a98f110341c07
Summary: Use the new multi-platform update endpoint to indicate when new updates are available for Linux or Windows.
Reviewed By: danielbuechele
Differential Revision: D16939899
fbshipit-source-id: 11c1dc0d4fd19362a1163c613a7b7116c5edf996
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