Summary: Before this diff whenever one called serialize method it showed `Serializing Flipper ` msg without showing the explicit details of which data we are serializing. Thus with this diff one can pass the status msg as an argument which will be displayed while serializing.
Reviewed By: jknoxville
Differential Revision: D18173024
fbshipit-source-id: a4e7e073498993626204061d4e774099f00b8c5a
Summary:
This PR introduces the possibility to group plugins in categories.
The category can be determined by setting the `category` field in `package.json`.
Categories are sorted alphabetically.
Categories are shown below all uncategorized items.
Within categories, items are sorted as before: by last recently usage.
Design wise, the category name might now look more prominent than the app name, this is to be addressed in a follow up PR.
Reviewed By: jknoxville
Differential Revision: D18169459
fbshipit-source-id: 77deb0f27a0462a0d449944ddc262396160687a2
Summary: This diff shows marketing bar for support feature when someone inspects the litho view. Once it is inspected it will shown for the rest of the time till the plugin is unmounted.
Reviewed By: jknoxville
Differential Revision: D18086347
fbshipit-source-id: cb906614f571e8ece2293b028f809d1aa5c211e5
Summary: This diff passes the idler and statusUpdate arguments to the export persisted state, as it is being used in the MobileConfig's export function
Reviewed By: passy
Differential Revision: D17715815
fbshipit-source-id: 98a0f0f5950254de2139c4aaa52cb73401c86c3c
Summary:
Marginally safer than ignoring the entire line, which
makes type-checking weaker on subsequent references.
Reviewed By: jknoxville
Differential Revision: D17736479
fbshipit-source-id: 13afcb5f08e53016b7a6cdc7ea135e726586a67b
Summary: This diff was a joy to draft.
Reviewed By: jknoxville
Differential Revision: D17344676
fbshipit-source-id: 0694d0393fa243edef61408ecfee92912fbbfa32
Summary:
This is an interesting invariant that TS caught here. We
expect `getDevice()` to always return a device but it
cannot because it's set lazily. John Knox suggested we instead
set up a promise in the constructor and resolve it instead of
overriding the stateful promise later.
Reviewed By: jknoxville
Differential Revision: D17313468
fbshipit-source-id: 8fd75f2720546abf67beead23db56216f1a5e0df
Summary:
This diff solves the problem where the export for the graphql plugin was super super super sloooooowwww...... The reason being that the graphql plugin had chunky graphql responses which were json blob which was being serialized by our custom serializer. Instead of serializing those with custom serializer we can directly serialize them as they won't have any map's, sets, classes etc.
This diff adds the two static functions on the plugin which will provide the serialized and deserialized object for the persistedstate. As the plugin knows the structure of its state it can optimize the serialization and deserialization of its data.
This change solves the slow export issue and makes it blazing fast..... 🏎
Bug:
{F206550514}
Reviewed By: danielbuechele
Differential Revision: D17166054
fbshipit-source-id: 058b903c03c12c9194702162c46763ef5b5e7283
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
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