Commit Graph

919 Commits

Author SHA1 Message Date
Pascal Hartig
3c2d9973e5 Migrate iOSContainerUtility
Summary: TSC actually found a type error here in `safeExec` which is nice.

Reviewed By: danielbuechele

Differential Revision: D16666740

fbshipit-source-id: 28a1ad12190d2351a48323f23c3a69947503625d
2019-08-09 04:02:45 -07:00
Pascal Hartig
5f3e84a96e Migrate LayoutInspectorSidebarExtensions
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D16666703

fbshipit-source-id: cf16f9cdc97a739f0de52f31319e8061eea03c6f
2019-08-09 03:25:06 -07:00
Pascal Hartig
798d6d2ed4 Migrate constants
Summary: We can't `*`-export as the symbols are invisible but being explicit about this seems like a good improvement anyway.

Reviewed By: danielbuechele

Differential Revision: D16666637

fbshipit-source-id: 8f9a14ed41f4d8ad93b4bab8dd54f3b6c9e24824
2019-08-09 03:25:06 -07:00
Pascal Hartig
e602e1ccae Migrate config
Summary:
Very mechanical migration. No syntactic changes, only moves and
file name changes.

Reviewed By: danielbuechele

Differential Revision: D16665891

fbshipit-source-id: afb1f2418f55bf6c5370b8a2b1d2c35ac5986dc3
2019-08-09 03:25:05 -07:00
Pascal Hartig
36a1c0046c Migrate createPaste
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D16649018

fbshipit-source-id: c30d4ec390946e4b6de49ffeccc452d0a55c1e7a
2019-08-09 03:25:05 -07:00
Pascal Hartig
a314d1d930 Migrate ErrorReporter
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D16648552

fbshipit-source-id: 969c549594d76dca6552338a25f6ab7d8047d14d
2019-08-09 02:42:37 -07:00
Pascal Hartig
fc0966a133 Migrate GK
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D16647882

fbshipit-source-id: a5a7053379cd9468e1da9ab0ac2098be3443dda7
2019-08-08 14:32:20 -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
Pritesh Nandgaonkar
53c1eee641 Change the implementation of fresco plugin on android
Summary: This updates the implementation of the export of the fresco plugin on the android side. Initially we used to send all the images info in one call, but its not scalable, as the images increase, the payload size of the rsocket can increase which will lead rsocket to drop messages. This diff updates the implementation of android side to match the one on the iOS side.

Reviewed By: passy

Differential Revision: D16627823

fbshipit-source-id: 563bf5fb20595c198b6447bb4e41f04af6e46644
2019-08-08 09:16:41 -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
3ba42c412c rm assignDeep
Summary: Was about to convert this but appears to be unused.

Reviewed By: jknoxville

Differential Revision: D16709265

fbshipit-source-id: b444ceeb58178ecb282038f90e7009adb87f5926
2019-08-08 06:47:30 -07:00
Benjamin Elo
d9209113be Migrated UpdateIndicator
Summary: Migrated UpdateIndicator.js to UpdateIndicator.tsx

Reviewed By: passy

Differential Revision: D16668962

fbshipit-source-id: 32861327daa926b9dd53ff2c7c46ade164c09ccb
2019-08-08 06:03:25 -07:00
Benjamin Elo
48db6b7b58 Migrate UserAccount
Summary: Migrated UserAccount.js to UserAccount.tsx

Reviewed By: passy

Differential Revision: D16668833

fbshipit-source-id: 723f2c2d7e68cda0076dd46aebe4b8e6ba392c24
2019-08-08 06:03:25 -07:00
Benjamin Elo
7aaecf61ce Migrate WelcomeScreen
Summary: Migrated WelcomeScreen.js to WelcomeScreen.tsx

Reviewed By: passy

Differential Revision: D16667903

fbshipit-source-id: 86814d52175e611961733d608c34ef1cdbf8db1a
2019-08-08 04:00:58 -07:00
Benjamin Elo
d39ac338a4 Migrated AutoUpdateVersion to ts
Summary: Migrated AutoUpdateVersion.js to AutoUpdateVersion.tsx

Reviewed By: jknoxville

Differential Revision: D16667729

fbshipit-source-id: a8f05b39be412f9ece1d1e56961fd87c88deb76a
2019-08-08 02:36:36 -07:00
Chun-Ho Ng
fe56c8471c Frontend improvements for Databases plugin
Summary:
Specs here: https://fb.quip.com/aPPOAWMraRMT

Screenshots:
https://pxl.cl/Gngf
https://pxl.cl/Gngg
https://pxl.cl/Gngd
https://pxl.cl/GxQr
https://pxl.cl/Gngh
https://pxl.cl/Gngk
https://pxl.cl/Gngl
https://pxl.cl/Gngm

Reviewed By: quanturium

Differential Revision: D16266093

fbshipit-source-id: a5408b974875dcabcbd6055ccbb2818d0c1b25f6
2019-08-07 21:09:49 -07:00
Sidharth Guglani
d0a3cb5f74 Add button to navigate to Yoga Performance Plugin from Layout Inspector
Summary:
Add button in layout inspector to navigate to yoga performance plugin for analyzing a particular component.
We send component id in payload to yoga plugin which then uses to highlight the corresponding component in yoga plugin

Reviewed By: davidaurelio

Differential Revision: D16561301

fbshipit-source-id: 950fb3ea501283fec0a3036fb2796c178014f1f5
2019-08-07 06:17:24 -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
Pritesh Nandgaonkar
3b31e54b6e Get all image data for iOS
Summary:
We just implemented the sending of the required metadata of the images plugin for the android, but not for iOS. Due to which we get the following error.

{F173807861}

I tried to implement `getAllImageData` first for iOS in which we send all the information in one message for the images plugin in iOS. But there were lot of images and due to which it exceeded the max payload of the rsocket. That is why I had to implement this bit for iOS in a little different way. We fetch all the image Ids first and then loop over it to get image data.

Due to this the android and iOS implementations are different. I plan to change the android part in the next diffs and make it similar to iOS, as it is more scalable.

Reviewed By: jknoxville

Differential Revision: D16606748

fbshipit-source-id: e98c2bd5db7ec247b45a7cde304d4f51053ea6fe
2019-08-06 06:59:08 -07:00
Pritesh Nandgaonkar
604e6d761f Migration of Basedevice from js to tsx
Summary: Converted BaseDevice from js to tsx

Reviewed By: passy

Differential Revision: D16648356

fbshipit-source-id: 12954532acf91930ab8c5f995bb94f6f9fe44015
2019-08-06 05:12:20 -07:00
Benjamin Elo
fe5df63d41 Added AppMatchPatterns provider to nav bar
Summary:
This commit adds the match patterns that were parsed from the app into the nav bar.

Planned for next commit: Alerting the user if they havn't filled in required parameters, and automatically excluding non-required parameters if not filled in.

Reviewed By: danielbuechele

Differential Revision: D16646774

fbshipit-source-id: 0f9130d659b6b635bfa1240dbd05c5956c6756ce
2019-08-06 03:10:47 -07:00
Benjamin Elo
c3b266c925 Parse match patterns from static directory into Flipper
Summary:
Here I parse in the match patterns belonging to the Facebook app into Flipper. In order to keep things generalized, we can add match patterns for other apps here also e.g. Instagram.

These functions are internal only, but I cannot hide them as we do not have dynamic imports. Instead, the match patterns file is hidden, and I plan to have the file read fail silently for external use.

Reviewed By: danielbuechele

Differential Revision: D16646444

fbshipit-source-id: c7978f61e5e9cfc137552777a9ed53b264184293
2019-08-06 03:10:47 -07:00
Benjamin Elo
5aadbde4b9 Added missing key props
Summary: This was an error appearing in the console that was bugging me. About how arrays of React nodes should have a key prop.

Reviewed By: passy

Differential Revision: D16646487

fbshipit-source-id: b61841c001eb4a93f0a071557b921ca7365e2ac3
2019-08-05 09:39:06 -07:00
Benjamin Elo
c45724a767 Pass selectedApp as prop to FlipperPlugin
Summary: I have found it neccessary to get the current app name for the Navigation plugin. This passes the current selectedApp as a prop into any FlipperPlugin.

Reviewed By: jknoxville

Differential Revision: D16645855

fbshipit-source-id: 996d41b1a0e939427e66fa0df172ce1a6471f686
2019-08-05 03:59:10 -07:00
Pascal Hartig
8b2009b2c7 Upgrade deps within range
Summary:
This is the result of a `yarn upgrade`. While this *shouldn't* break
anything, it easily can just as this broke the babel transform
because a previously transitively depended upon library was no
longer included.

It seems like a good idea to stay as close as possible to the upstream of all
the dependencies we have and with the release yesterday we now have one week to
check if the rest works as expected.

allow-large-files

Reviewed By: danielbuechele

Differential Revision: D16579807

fbshipit-source-id: f26d4536abd80f428e94b71e0fa98df612cbd809
2019-08-03 03:33:43 -07:00
Daniel Büchele
16e913a819 local icons
Summary:
Currently icons were always fetched remotely. We used a service worker to prefetch and cache some icons, that were critical to the UI.

In this diff, we are bundling icons at build time, with the app. In utils/icons.js we still specfify the list of icons which should be bundled. These are downloaded as part of the build step and bundled with the app. We are downloading the icons in 1x and 2x (the two most common pixel densities).

Reviewed By: jknoxville

Differential Revision: D16620764

fbshipit-source-id: 965a7793ad1f08aebb292606add00218429cdaf4
2019-08-02 09:00:00 -07:00
Zoltán Gilián
1717fba410 Add option to disable keyboard navigation in ManagedTable
Summary: This may be needed e.g. if there are multiple ManagedTables in the window.

Reviewed By: jknoxville, danielbuechele

Differential Revision: D16620862

fbshipit-source-id: 1880e9e6e8e9ece5f687b2768eae7c4f206f69da
2019-08-02 08:35:16 -07:00
Benjamin Elo
ea8a6546c9 Added providers to the auto complete sheet
Summary:
Okay so the main changes here are integrating the providers into the auto complete sheet and getting the search bar to work with it also.

For instance, in the search bar, I want to update the value string to whatever the user has highlighted in the auto complete sheet, without executing a new query. So thus, I had to create a new state variable in the search bar component for this.

I've also moved the custom hook into its own file to keep the component short in size. It had to be mainly rewritten to support providers instead of only bookmarks. Same goes for the entire AutoCompleteSheet component.

The bookmarksProvider is stored in the persisted state as to not regenerate every-time on render. It is only updated if the bookmarks are updated which are also now stored in the persistedState for the same reason.

Lastly, a DefaultProvider object was also made for the initial persisted state object.

Reviewed By: danielbuechele

Differential Revision: D16581644

fbshipit-source-id: 88723a4081d96250f723a4cd7b1ade101bf3e8f3
2019-08-02 01:58:02 -07:00
Sara Valderrama
f591475f85 A few mini-fixes for the accessibility layout inspector
Summary:
- fix mutual selection of elements in ax and non-ax tree (simplifies linkedNode logic as well)
- remove unneeded extraInfo attributes (focused, nonAXwithAXchild, & hasAXNode were not/no longer being used)
- use 50/50 fixed width view for trees when both are visible

Reviewed By: jknoxville

Differential Revision: D16390355

fbshipit-source-id: bbf9ea887f8f1035df8b4b0562ddcc4de291f004
2019-08-01 22:03:26 -07:00
Pritesh Nandgaonkar
3ed71680a1 Remove the unwanted parantheses
Summary:
Bug:

{F173026649}

Reviewed By: danielbuechele

Differential Revision: D16583186

fbshipit-source-id: 277a81fbabf0c93d1a69b7f35dcb9d8d06ca4fce
2019-07-31 11:13:24 -07:00
Pritesh Nandgaonkar
8c9eb30060 Run export flipper trace in background
Summary: Adds the capability to run the export in the background along with the display of the status in the title bar.

Reviewed By: danielbuechele

Differential Revision: D16567026

fbshipit-source-id: 3955243cd7f094a7ee33eef3511804ff6e6476be
2019-07-31 10:44:26 -07:00
Pascal Hartig
84b64b75dc Precache ratings icons
Summary:
Supersedes D16580111.

Makes sure that rating icons are prefetched.

Reviewed By: bnelo12

Differential Revision: D16582032

fbshipit-source-id: d07db936f284d7aedb0f8dbfdae7738b305eb848
2019-07-31 10:39:29 -07:00
Benjamin Elo
7a55fbc8dd Added auto complete provider utility functions
Summary:
These are a series of utility functions for the auto complete system in the nav bar.

Essentially, the auto complete system will gather information from Providers. Providers provide auto complete information from various sources i.e. bookmarks, recently viewed, or uri match patterns from the build.

There are two main functions in this commit. The first is to turn the bookmarks Map into a Provider (bookmarksToAutoCompleteProvider). This runs in O(n) time where n is the number of bookmarks. A provider has an associated icon and matchPatterns to match what the user types to a uri. Here I concatenate the commonName and the uri of the bookmark together for the match pattern so that the user can search for both.

filterProvidersToLineItems takes an Array of providers and returns line items. These are objects that will be displayed by the nav bar auto complete system. This has a little bit of a longer running time. O(mnop). Where m is the number of providers, n is the number of items in the largest provider, o is the length of the query and p is the length of the line items. This may seem bad, but I've tested the performance using 364 entries and it completes the function in less than a millisecond.

The Providers will have precedence in the final auto complete box. With the most recent provder taking the most precedence, followed by bookmarks, followed by match patterns.

Reviewed By: danielbuechele

Differential Revision: D16568500

fbshipit-source-id: 00b043d51051ee86b3dbe18564e6f582b19e5359
2019-07-31 10:18:55 -07:00
Roman Gorbunov
00e8f43e37 Improvement of live editing
Summary:
Live editing is now working faster.
We had an issue that it took about 5 seconds to see the view changed and 10 seconds to see tha value in the flipper, now it's done immidiately

Reviewed By: priteshrnandgaonkar

Differential Revision: D16500961

fbshipit-source-id: 742ce628a887bab06c1b883d9710c477af2508e7
2019-07-31 03:13:38 -07:00
Pritesh Nandgaonkar
b1fd70a3c3 Show status message with percentage for the seriailization
Reviewed By: passy

Differential Revision: D16382096

fbshipit-source-id: 17c44a7befcef82815dc9d2379898e23a36a05c8
2019-07-30 06:50:23 -07:00
Pascal Hartig
dd59daffa3 Disable onMessageCallback logging
Summary:
Will post about this in more detail later but in short, this is taking
up wayyyy too much space.

Reviewed By: danielbuechele

Differential Revision: D16543587

fbshipit-source-id: 8130a1a8378e5a6ffde669d651063ef92eb021c0
2019-07-29 10:42:05 -07:00
Benjamin Elo
0609811224 Added dropdown sheet for nav bar
Summary:
Here I've added a drop down sheet for the nav bar. Currently it only supports showing the first five bookmarks with no filtering.

I use a custom hook to handle navigation with the keyboard in the nav bar, so that works well.

So you can use the arrow keys to select a uri from the dropdown, or by using the mouse.

Reviewed By: danielbuechele

Differential Revision: D16542218

fbshipit-source-id: 4c242fd3097297fc599b36523bb4821bbc172f88
2019-07-29 10:13:37 -07:00
Daniel Büchele
2c7371d264 typescript eslint plugin
Summary: This is required to properly run eslint in Atom/VSCode on TypeScript files

Reviewed By: jknoxville

Differential Revision: D16201418

fbshipit-source-id: 31da04c2d313e9147e0f868c1af15bf3115e6d6a
2019-07-29 06:39:11 -07:00
Pascal Hartig
2dd580f24a Fix flow errors (#502)
Summary:
We had a brief moment without Flow coverage, where this must have snuck
in. Not sure if there's a better type for `node` given the current
structure, but the rest should be obvious.
Pull Request resolved: https://github.com/facebook/flipper/pull/502

Test Plan: flow

Reviewed By: jknoxville

Differential Revision: D16533248

Pulled By: passy

fbshipit-source-id: 51e493208050e4af531e161fb49eda77fdf2494e
2019-07-29 06:08:37 -07:00
Benjamin Elo
4372fccacc Alphabetize bookmarks
Summary: The bookmarks would appear in different order upon reloading the app. Here I have a fixed order.

Reviewed By: jknoxville

Differential Revision: D16540496

fbshipit-source-id: ebc3e1065dbd2ae76b919a943c2cc7f81d857ca8
2019-07-29 04:29:46 -07:00
Benjamin Elo
fc28b904a0 Added ability to remove bookmarks
Summary: Here I add the ability to remove bookmarks. If a bookmark already exists, a different dialouge menu appears.

Reviewed By: danielbuechele

Differential Revision: D16540394

fbshipit-source-id: 5d6737e1efb1a9663519bf17084ef3b55a6ba28e
2019-07-29 04:29:45 -07:00
Benjamin Elo
292efb0bb3 Moved NavPlugin types into seperate file
Summary: Moved Flow types into their own file. I will be adding more types as part of the auto complete for the navigation bar and this is to keep the code more organized.

Reviewed By: danielbuechele

Differential Revision: D16540279

fbshipit-source-id: d69ac0d05f91e9d92fcda37325c791ddc83a52c9
2019-07-29 03:47:49 -07:00
Benjamin Elo
84f9a1d8b5 Added ability to save bookmarks in Nav Plugin
Summary:
This is a glue commit that glues all the components I've added in the past together.

Favouriting a page (i.e. clicking on the star) adds it as a bookmark.

There's four main parts to make your rreview easier:
1. Add bookmarks and favouriting to all the components that support it, including their parents. (NavigationInfoBox, SearchBar, Timeline)

2. Persist bookmarks using the indexedDB. (index.js)

3. Add saving to db through the SaveBookmarksDialog

4. Various other changes due to a changed architecture. i.e. moving bookmarks from persistedState to state.

Still to come.

1. Removing bookmarks.

2. Pressing enter to save the bookmarks when the SaveBookmarksDialog pops up.

3. Alphabetizing bookmarks? Order seems to jump around.

Reviewed By: jknoxville

Differential Revision: D16518013

fbshipit-source-id: 2e0cef14123c611db43cca360bc66dc4c05b11ed
2019-07-28 12:50:31 -07:00
Benjamin Elo
e4601a89f3 Added IndexedDB utility functions for reading and writing bookmarks
Summary:
These are utility function for reading from the IndexedDB and writing to it. This will be used for persistant storage of bookmarks.

The reason I chose IndexedDB over local storage is due to the poor efficiency of stringifying and parsing a long list of bookmarks everytime we read and write to local storage.

With IndexedDB we can modify a single value at a time.

Bookmarks are passed around as a Map, with the key being the uri's and the common names being the values. This allows me to check if a specified uri is in the Map in O(1) time, so that I can highlight the star icon in the UI with gold.

Reviewed By: jknoxville

Differential Revision: D16498744

fbshipit-source-id: 7c7af28bf4eb3fcc985a71dfd61ffbdb8481b6a6
2019-07-28 12:50:31 -07:00
Pritesh Nandgaonkar
e7198040ea Add UI to select plugins
Summary: Adds UI to the select the plugin to export. It lists the plugins which has currently some data in the redux store and it also lists those plugins which has implemented `exportPersistedState` function, as it might happen that the redux store may not have the data for a plugin but it will still export the data by calling `exportPersistedState`, which will ping the mobile client to get the data at point while we export the flipper trace.

Reviewed By: jknoxville

Differential Revision: D16468408

fbshipit-source-id: 452a7caf7199dd2b8df330bbb10d0a90008e92ec
2019-07-26 10:53:27 -07:00
Sara Valderrama
594565de31 Fix icons url redundancy for variant argument
Summary: Update Flipper icon request URL (variant argument was appended twice in certain cases).

Reviewed By: jknoxville

Differential Revision: D16443282

fbshipit-source-id: e64e03e40030baa1a7e6067cfc2a9aaf7a75302a
2019-07-25 13:26:06 -07:00
John Knox
b0140c6364 Add rating tooltip
Summary: I felt it would be good to say what these stars are actually for.

Reviewed By: passy

Differential Revision: D16457243

fbshipit-source-id: 961933f71efdcb6835936d5e1da7fe817eccc996
2019-07-25 07:12:45 -07:00
Benjamin Elo
dbfc7ae416 Added SaveBookmarkDialog component
Summary: This adds a dialog box component that allow saving of bookmarks.

Reviewed By: jknoxville

Differential Revision: D16491842

fbshipit-source-id: fc8332bba491ad0583564fd6a85b5ad225bbd461
2019-07-25 06:54:39 -07:00
John Knox
d0a61d6455 Back out "[flipper] Add 1h tolerance to ssl certs"
Summary:
Original commit changeset: bdbd61bce1bc

That change appears to be causing some issues for open source users: https://github.com/facebook/flipper/issues/498

To mitigate the issue I'm reverting it, the change turns out to be unnecessary anyway.

Reviewed By: passy

Differential Revision: D16486136

fbshipit-source-id: 70decca6e017a6a2903cc484641fb2e736dc5d7c
2019-07-25 04:11:59 -07:00