Files
flipper/desktop/flipper-plugin
Michel Weststrate 5db2ef1275 Perf fixes
Summary:
This diff fixes some more perf bottlenecks in the layout inspector (see the diffs earlier in the stack for the total picture). Mostly:

1. Pass down stable refs from the root for callbacks and configuration
2. Remove the deep-equality check in the sidebar section rendering, which has a pretty significant constant overhead, especially if the selection didn't change
3. If the selection changes, the correct semantics is to reset the sidebar rather than trying to reconcile the elements. (A consequence of this is that Panel collapse state isn't preserved atm after changing selection, will address that in a later diff)

This reduces average render time for sidebar from ~20 to ~2 ms.

Reviewed By: priteshrnandgaonkar

Differential Revision: D27677353

fbshipit-source-id: ba183b7e3d778c0b3c8e7ca0d51535ce99a097ca
2021-04-15 07:48:33 -07:00
..
2021-04-15 07:48:33 -07:00
2020-07-01 09:12:35 -07:00

flipper-plugin

flipper-plugin is the dependency used by all modern Flipper plugins (project "Tommy").

For background: https://fb.quip.com/YHOGAnaPqAVJ

flipper-plugin is to be used as dev and peer dependency of all Flipper plugins. It provides:

  1. (TODO) Standard API's to interact with Flipper, such as the client connection.
  2. (TODO) Standard components to organize the UI
  3. (TODO) Testing utilities

API's provided by flipper-plugin are documented at fbflipper.com (TODO).

There should normally be no need to install flipper-plugin as dependency. Rather, plugins should be scaffolded using npx flipper-pkg init (TODO) as documented here