Auto-install favorite plugins

Summary: After unbudling plugins users will need to manually install them. To simlify this transition we can auto-install favorite plugins on every app connection, so users won't need to install plugins which they marked as favorite before.

Reviewed By: passy

Differential Revision: D25538638

fbshipit-source-id: 4ac3ad0c8c026d149f7ce0c4af07da3e8b909772
This commit is contained in:
Anton Nikolaev
2020-12-15 09:28:58 -08:00
committed by Facebook GitHub Bot
parent bd01b58566
commit 965559ee65
6 changed files with 84 additions and 15 deletions

View File

@@ -19,6 +19,7 @@ import {
addGatekeepedPlugins,
addDisabledPlugins,
addFailedPlugins,
registerLoadedPlugins,
} from '../reducers/plugins';
import GK from '../fb-stubs/GK';
import {FlipperBasePlugin} from '../plugin';
@@ -63,10 +64,12 @@ export default async (store: Store, logger: Logger) => {
const uninstalledPlugins = store.getState().pluginManager.uninstalledPlugins;
const initialPlugins: PluginDefinition[] = filterNewestVersionOfEachPlugin(
const loadedPlugins = filterNewestVersionOfEachPlugin(
getBundledPlugins(),
await getDynamicPlugins(),
)
);
const initialPlugins: PluginDefinition[] = loadedPlugins
.filter((p) => !uninstalledPlugins.has(p.name))
.map(reportVersion)
.filter(checkDisabled(disabledPlugins))
@@ -74,6 +77,7 @@ export default async (store: Store, logger: Logger) => {
.map(createRequirePluginFunction(failedPlugins))
.filter(notNull);
store.dispatch(registerLoadedPlugins(loadedPlugins));
store.dispatch(addGatekeepedPlugins(gatekeepedPlugins));
store.dispatch(addDisabledPlugins(disabledPlugins));
store.dispatch(addFailedPlugins(failedPlugins));