Install plugins to pending directory first to enable installing new versions of existing plugins

Summary:
Install plugins to pending directory first to enable installing new versions of existing plugins. On startup Flipper moves all the plugins from pending directory into installed plugins directory.

Auto-update, after downloading a plugin package, will also extract it to "pending", so after restart update will automatically be applied.

Reviewed By: mweststrate

Differential Revision: D21929713

fbshipit-source-id: 141b106415e941156ae598cf810ab3bed8c76ced
This commit is contained in:
Anton Nikolaev
2020-06-09 04:52:39 -07:00
committed by Facebook GitHub Bot
parent eff378defa
commit eeded4e32f
6 changed files with 206 additions and 48 deletions

View File

@@ -33,7 +33,7 @@ import {reportPlatformFailures, reportUsage} from '../../utils/metrics';
import restartFlipper from '../../utils/restartFlipper';
import {registerInstalledPlugins} from '../../reducers/pluginManager';
import {
readInstalledPlugins,
getPendingAndInstalledPlugins,
removePlugin,
PluginMap,
PluginDetails,
@@ -445,7 +445,7 @@ export default connect<PropsFromState, DispatchFromProps, OwnProps, AppState>(
}),
(dispatch: Dispatch<Action<any>>) => ({
refreshInstalledPlugins: () => {
readInstalledPlugins().then((plugins) =>
getPendingAndInstalledPlugins().then((plugins) =>
dispatch(registerInstalledPlugins(plugins)),
);
},