Persist uninstalled plugins list

Summary: This diff changes uninstallation procedure for plugins. Instead of deleting plugin files immediately we are keeping them, but mark them as "uninstalled". This makes it possible to re-install plugins quickly in case when user clicked "delete" by mistake.

Reviewed By: mweststrate

Differential Revision: D25493479

fbshipit-source-id: 9ff29d717cdd5401c55388f24d479599579c8dd3
This commit is contained in:
Anton Nikolaev
2020-12-15 09:28:58 -08:00
committed by Facebook GitHub Bot
parent df03ccbeab
commit c3d61cc32d
9 changed files with 81 additions and 93 deletions

View File

@@ -173,6 +173,7 @@ function updateClientPlugin(
clientsWithEnabledPlugin.forEach((client) => {
startPlugin(client, plugin, true);
});
draft.pluginManager.uninstalledPlugins.delete(plugin.details.name);
});
}
@@ -190,7 +191,7 @@ function uninstallPlugin(state: StoreState, plugin: PluginDefinition) {
});
cleanupPluginStates(draft.pluginStates, plugin.id);
draft.plugins.clientPlugins.delete(plugin.id);
draft.pluginManager.removedPlugins.push(plugin.details);
draft.pluginManager.uninstalledPlugins.add(plugin.details.name);
});
}