Commit Graph

919 Commits

Author SHA1 Message Date
John Knox
4d0ab98c57 Fix init.tsx types
Reviewed By: passy

Differential Revision: D17166152

fbshipit-source-id: b1f7071bd36b62276f1c077e49ebd7342a9ef3e4
2019-09-04 03:33:43 -07:00
John Knox
a04e9aa986 Fix NotificationsHub types
Reviewed By: passy

Differential Revision: D17167014

fbshipit-source-id: f7981c75252059c6eaa3518ca0fd9524f5039db6
2019-09-04 03:31:48 -07:00
John Knox
16457e2adb Add notNull filter with type guard
Summary: You need to use a type guard when narrowing types in a filter.

Reviewed By: danielbuechele

Differential Revision: D17163782

fbshipit-source-id: aa78bdd392653ebf1080a04e62e131b607e5181b
2019-09-04 03:31:47 -07:00
Benjamin Elo
df667027df Navigation Timeline UI overhaul.
Summary:
This is a UI ovehaul for the Navigation plugin, taking inspiration from the Notifications page in Flipper.

We now display a timestamp, open page and bookmark are more clearly identified, screenshots are organized more neatly, and parameters are displayed in a table.

If the class name of the ViewController is available, that will also be displayed.

Edit:

Adding in some of the requested changes.

Improved UI:
https://pxl.cl/K0h9

Scroll on opening a page:
https://pxl.cl/K0hQ

Reviewed By: danielbuechele

Differential Revision: D17161734

fbshipit-source-id: e5e054bf87f540964e90da3a798fd0c23df86540
2019-09-03 10:11:58 -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
Pascal Hartig
6f14bb7dfa Migrate LogWatcher to (strict) tsx
Summary: 1/2 for porting the DeviceLogs.

Reviewed By: danielbuechele

Differential Revision: D17156890

fbshipit-source-id: 4d2841b8f86fdb5f3a3c085482c37af79de4323a
2019-09-03 05:50:16 -07:00
Ivelin Rachev
f4fc96756a Convert Flipper plugin "DeviceCPU" to TypeScript
Summary: Migrate CPU plugin to use TypeScript

Reviewed By: danielbuechele

Differential Revision: D17072709

fbshipit-source-id: d9acf172af08d764216e7b79b79994199dc83f5c
2019-09-02 11:46:21 -07:00
Chaiwat Ekkaewnumchai
e3285c4f15 Convert Flipper plugin "Example" to TypeScript
Summary: _typescript_

Reviewed By: passy

Differential Revision: D17047622

fbshipit-source-id: ff25bf4355bb42a0754b2b3304a6b5bdc3806909
2019-09-02 11:23:46 -07:00
Daniel Büchele
57fb3853ba remove generics from static methods
Summary:
Generics on static methods don't seem to work the way we are using them.
I looked into how react types getDerivedStateFromProps as this is a very similar concept, and they don't seem to type it at all. For that reason I've given up and just type the persistedState passed to our static methods as `Object`.

Reviewed By: passy

Differential Revision: D17152767

fbshipit-source-id: d9c2159be26fa341c5411dd0b40895d4c8ddf71e
2019-09-02 10:49:07 -07:00
Daniel Büchele
b924b14225 fix icon default size
Summary:
Logs plugin expected the default icons size to be 16 and therefor didn't set it explicitly. However, with the TS migration we lost the default size.
This adds back the default size for icons.

Reviewed By: jknoxville

Differential Revision: D17156747

fbshipit-source-id: a37f3a2bd189a56019aee1939618caf21122a397
2019-09-02 10:03:10 -07:00
Zoltán Gilián
9a9eda3da5 Expose internGraphAPIRequest
Summary: Needed to access the task attachment interngraph endpoint added in D17146262.

Reviewed By: danielbuechele

Differential Revision: D17146272

fbshipit-source-id: 6375a953d4b5389e05accb77f0242388c3e0254c
2019-09-02 09:27:03 -07:00
Benjamin Elo
ffb505ce4c Bookmarks UI overhaul
Summary: I've made some slight changes to how bookmarks are displayed in the app, and added the ability to remove them from the tab.

Reviewed By: danielbuechele

Differential Revision: D17154083

fbshipit-source-id: 587e1e0f6f79f461c92e4866f4a59608a6173ccb
2019-09-02 06:35:34 -07:00
Benjamin Elo
cfcd0f060c Migrated components/index to TypeScript
Summary: Migrated components/index.js to components/index.tsx.

Reviewed By: danielbuechele

Differential Revision: D17132215

fbshipit-source-id: 76e03f9b4a509ad9c8faac484dc5b0ba7d1574e1
2019-09-02 04:13:42 -07:00
Benjamin Elo
a615259961 Migrated SearchBar to Typescript
Summary: Migrated SearchBar.js to SearchBar.tsx

Reviewed By: danielbuechele

Differential Revision: D17132221

fbshipit-source-id: ce1728bf06ba2a314c027e92456f947ab4781660
2019-09-02 04:13:41 -07:00
Benjamin Elo
10e90f3f57 Migrated Timeline to TypeScript
Summary: Migrated Timeline.js to Timeline.tsx

Reviewed By: danielbuechele

Differential Revision: D17132222

fbshipit-source-id: ffe5b74459d1f3ec48873a94a95c40e855aa45da
2019-09-02 04:13:41 -07:00
Benjamin Elo
d3023946da Removed ScollableFlexColumn component
Summary: This functionality already existed in FlexColumn by adding the prop grow.

Reviewed By: danielbuechele

Differential Revision: D17132219

fbshipit-source-id: d284f2c5e219beff743525abd344a8b9d1955d0b
2019-09-02 04:13:41 -07:00
Benjamin Elo
cdd7793428 Migrated SaveBookmarkDialog to TypeScript
Summary: Migrated SaveBookmarkDialog.js to SaveBookmarkDialog.tsx

Reviewed By: danielbuechele

Differential Revision: D17132225

fbshipit-source-id: 34de69069197718055ec8cc31f539cd8e1aa5b2e
2019-09-02 04:13:40 -07:00
Benjamin Elo
0a9c4bdcf4 Migrated RequiredParametersDialog to TypeScript
Summary: Migrated RequiredParametersDialog.js to RequiredParametersDialog.tsx

Reviewed By: danielbuechele

Differential Revision: D17132223

fbshipit-source-id: a4a592ba58b8c8b94b3106c3a2c0916b2776697f
2019-09-02 04:13:40 -07:00
Benjamin Elo
d957f45314 Migrated AutoCompleteSheet to TypeScript
Summary: Migrated AutoCompleteSheet from AutoCompleteSheet.js to AutoCompleteSheet.tsx

Reviewed By: danielbuechele

Differential Revision: D17132216

fbshipit-source-id: 2ce269cbd5a77353002958650c25d7297cc4e99e
2019-09-02 04:13:40 -07:00
Benjamin Elo
7d0710a0c8 Migrated BookmarksSidebar to TypeScript
Summary: Migrated BookmarksSidebar.js to BookmarksSidebar.tsx

Reviewed By: danielbuechele

Differential Revision: D17132218

fbshipit-source-id: 0e95201b5fe7c17e4acc93926325e953d8859d6c
2019-09-02 04:13:39 -07:00
Benjamin Elo
434ed4ec7d Migrated NavigationInfoBox to TypeScript
Summary: Migrated NavigationInfoBox,js to NavigationInfoBox.tsx

Reviewed By: danielbuechele

Differential Revision: D17132217

fbshipit-source-id: 9a9cd3c186efdcf7a8efc5eeaec608ff8cb4d6f1
2019-09-02 04:13:39 -07:00
Benjamin Elo
4c68750058 Migrated FavoriteButton to TypeScript
Summary: Migrated FavoriteButton.js to FavoriteButton.tsx

Reviewed By: danielbuechele

Differential Revision: D17132220

fbshipit-source-id: af1a3de4b272a57975486233f699e390677784fb
2019-09-02 04:13:39 -07:00
Benjamin Elo
36a8dfc1f6 Migrate IconButton to TypeScript
Summary: Migrated IconButton.js to IconButton.tsx

Reviewed By: danielbuechele

Differential Revision: D17132224

fbshipit-source-id: d4f14050385c7c25900e9a9d01f3b9a0dcff3a31
2019-09-02 04:13:39 -07:00
Benjamin Elo
a0696692e2 Migrated hooks/requiredParametes to TypeScript
Summary: Migrated requiredParameters.js to requiredParameters.tsx

Reviewed By: danielbuechele

Differential Revision: D17133609

fbshipit-source-id: 8926921481bf587b51a09c18eca71ca6132ad89a
2019-09-02 04:13:38 -07:00
Benjamin Elo
5877c1df96 Migrated hooks/autoCompleteSheet to TypeScript
Summary: Migrated autoCompleteSheet.js to autoCompleteSheet.tsx

Reviewed By: danielbuechele

Differential Revision: D17133608

fbshipit-source-id: eba06c5add7687e013b8f0e2b430b359dbf1cb48
2019-09-02 04:13:38 -07:00
Benjamin Elo
950bbbf97d Migrate util/appMatchPatterns to TypeScript
Summary: Migrated appMatchPatterns.js to appMatchPatterns.tsx

Reviewed By: danielbuechele

Differential Revision: D17133610

fbshipit-source-id: 1a819e2b32a233372e08578352290eff1264ef43
2019-09-02 04:13:38 -07:00
Benjamin Elo
d5d0b0cd49 Migrate util/autoCompleteProvider to TypeScript
Summary: Migrated autoCompleteProvider.js to autoCompleteProvider.tsx

Reviewed By: danielbuechele

Differential Revision: D17133612

fbshipit-source-id: 7d4da17bd639fdd4fc7a79cc931abeab62be2086
2019-09-02 04:13:37 -07:00
Benjamin Elo
8269d128d6 Migrate util/indexedDB to TypeScript
Summary: Migrated indexedDB.js to indexedDB.tsx

Reviewed By: danielbuechele

Differential Revision: D17133611

fbshipit-source-id: 819eccc12c8cbacee5e9cdf8fbfce4f5fbb08813
2019-09-02 04:13:37 -07:00
Benjamin Elo
332821d315 Migrated util/uri to TypeScript
Summary: Migrated uri.js to uri.tsx

Reviewed By: danielbuechele

Differential Revision: D17133606

fbshipit-source-id: d278c293c6040a522f5cc0c5462c6682dc634328
2019-09-02 04:13:37 -07:00
Benjamin Elo
61ddbd9950 Added TypeScript types file
Summary: Luckily I put all my types in one file, so this was very easy to convert over.

Reviewed By: danielbuechele

Differential Revision: D17132226

fbshipit-source-id: cacd0d66e15504d6f82ccc4aaaa4e27339e513f1
2019-09-02 04:13:36 -07:00
Daniel Büchele
4453dec778 interactive
Summary: _typescript_

Reviewed By: passy

Differential Revision: D17096587

fbshipit-source-id: 22ada6ef8f544b0c02bdf5a01e798b123fa6b238
2019-09-02 02:29:31 -07:00
Daniel Büchele
5868946818 certificate provider
Summary: _typescript_

Reviewed By: passy

Differential Revision: D17096517

fbshipit-source-id: a6e69e8b9a82fe76bb1de51a3a93182f35f40b3f
2019-08-28 20:34:59 -07:00
Daniel Büchele
9970c50daf gylphs
Summary: Adding type declaration for glyphs

Reviewed By: passy

Differential Revision: D17096295

fbshipit-source-id: e8994e0c81c3668fa909479dbaea613ec2b86dc4
2019-08-28 19:50:29 -07:00
Daniel Büchele
ff31ac0b45 fix strict errors
Summary: fixing some errors for strict mode enabled files

Reviewed By: passy

Differential Revision: D16988271

fbshipit-source-id: 09834cad9c2dd8abb987e4f708ae7a30922d90c7
2019-08-28 11:12:22 -07:00
Daniel Büchele
8d653672f2 fix keyboard navigation
Summary: Keyboard events were not handled correctly. This was because the tabIndex was not set correctly. Maybe a regression from the TypeScript conversion.

Reviewed By: passy

Differential Revision: D17079157

fbshipit-source-id: 752853c0d761da67c7b09f50b531abf58bc7feec
2019-08-28 10:36:44 -07:00
Benjamin Elo
ec47c93ea0 Display class name of view if available
Summary: This commit provides the navigation plugin with more value, showing the ViewController of the rendered view.This allows the user to quickly start working on that view controller once they have the name. This works on nearly all views in the iOS app.

Reviewed By: passy

Differential Revision: D17071558

fbshipit-source-id: 22a22d4a0991e9f20bc85eb106a98a42214d4d0c
2019-08-28 05:05:34 -07:00
Benjamin Elo
a2ec178456 Added ability to navigate to deeplinks for iOS
Summary: Added ability to navigate to deeplinks from Flipper for iOS. This is done through the "xcrun simctl" command, much like how we handle screenshots on iOS.

Reviewed By: passy

Differential Revision: D17071428

fbshipit-source-id: 86cb375e750e89ddf598a42ce33d3099bb08803a
2019-08-28 05:05:33 -07:00
Pascal Hartig
9a63ee9fff Make exportMetrics strict
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D17074932

fbshipit-source-id: 1a6a8e81a9d15021dd9b51a0c3a394a2cf349e9c
2019-08-28 03:01:58 -07:00
Pascal Hartig
5c69ad8e8b Make LowPassFilter strict
Summary: Per title.

Reviewed By: danielbuechele

Differential Revision: D17073163

fbshipit-source-id: 08127d85af317ff701f4d131fd41df095f50f6a4
2019-08-28 03:01:58 -07:00
Pascal Hartig
b6df5ecb83 Make onRegisterDevice strict
Summary: Needed relaxing some types in pluginUtils, but it's actually fine.

Reviewed By: danielbuechele

Differential Revision: D17072974

fbshipit-source-id: c3d3923ed70f71964aa10cf35f1b9ea2f30a8fa1
2019-08-28 03:01:57 -07:00
Pascal Hartig
5cac2edc37 Make processConfig pass strict mode
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D17072572

fbshipit-source-id: fed0d93e7a4cfe04f339370dbace7181bec73ca1
2019-08-28 03:01:57 -07:00
Daniel Büchele
7ed9e8e670 migrate workflow to TS
Summary: Updates scarf workflow to generate TypeScript plugins

Reviewed By: passy

Differential Revision: D16940711

fbshipit-source-id: 5005013512bad969833669c6b0b911d55ea5cd79
2019-08-23 09:33:56 -07:00
Daniel Büchele
651c9db5c4 seamammals plugin
Summary: _typescript_

Reviewed By: passy

Differential Revision: D16936889

fbshipit-source-id: 68ec6a14e1ee4517d76816b4156f0eebaca27ab4
2019-08-23 07:19:12 -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
Daniel Büchele
0ec48d4fc9 index
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
2019-08-22 10:02:27 -07:00
Benjamin Elo
d962bbbfb9 Added screenshots to the navigation plugin
Summary:
Here I've attempted to add screenshots to the nav plugin. This isn't the most elegant solution, but it might have to do due to limitations on the event handler for navigation being fired when the navigation occurs, and not when all remote content on the view has loaded. With this in mind, I added a 1 second delay for the screenshot. This has its own issues such as navigating within a second away from the page will display the wrong view.

If anyone has some suggestions I am open.

Another issue faced here was that incoming nav events are now impure as I need to go take a screenshot on each nav event. Therefore, I have removed the the tests which no longer work for the NavPlugin.

Reviewed By: danielbuechele

Differential Revision: D16915859

fbshipit-source-id: 95db0d1ded2084441d49e1f2e4712c55acf9f1b8
2019-08-22 05:28:34 -07:00
Benjamin Elo
7def9bb681 Moved screenshot functions into Device's class.
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
2019-08-22 05:28:33 -07:00
Pascal Hartig
263b47f82f Add x-platform update indicator
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
2019-08-22 02:32:56 -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