Summary:
Key fix is
```diff
- 'Tabs:' + localStorageKeyOverride ?? keys.join(','),
+ 'Tabs:' + (localStorageKeyOverride ?? keys.join(',')),
```
Previously it worked like `('Tabs:' + localStorageKeyOverride) ?? keys.join(','),` which always evaluated to `"Tabs:undefined"`. This means that all tabs that were not using localStorageKeyOverride were reusing the same localstorage key. If you open some tabs with A, B, and C tabs. And open tab B. Then open other tabs with D, E, and F. No tab would be selected as the default value would be B.
The second part it extracing keys from `items` prop instead of children.
Reviewed By: lblasa
Differential Revision: D50411422
fbshipit-source-id: 30f70c4347649f29e8c8ff1f2f38fdca7e826198
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:
- (TODO) Standard API's to interact with Flipper, such as the client connection.
- (TODO) Standard components to organize the UI
- (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