diff --git a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx index e998eac17..bc9ed557b 100644 --- a/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx +++ b/desktop/flipper-ui-core/src/dispatcher/pluginManager.tsx @@ -160,6 +160,7 @@ async function processPluginCommandsQueue( async function loadPlugin(store: Store, payload: LoadPluginActionPayload) { try { + unloadPluginModule(payload.plugin); const plugin = await requirePlugin(payload.plugin); const enablePlugin = payload.enable; updatePlugin(store, {plugin, enablePlugin}); @@ -292,7 +293,6 @@ function updateClientPlugin( .connections.enabledPlugins[c.query.app]?.includes(plugin.id) ); }); - const previousVersion = store.getState().plugins.clientPlugins.get(plugin.id); clientsWithEnabledPlugin.forEach((client) => { stopPlugin(client, plugin.id); }); @@ -300,10 +300,6 @@ function updateClientPlugin( startPlugin(client, plugin, true); }); store.dispatch(pluginLoaded(plugin)); - if (previousVersion) { - // unload previous version from Electron cache - unloadPluginModule(previousVersion.details); - } } function updateDevicePlugin( @@ -321,11 +317,6 @@ function updateDevicePlugin( devicesWithEnabledPlugin.forEach((d) => { d.unloadDevicePlugin(plugin.id); }); - const previousVersion = store.getState().plugins.devicePlugins.get(plugin.id); - if (previousVersion) { - // unload previous version from Electron cache - unloadPluginModule(previousVersion.details); - } store.dispatch(pluginLoaded(plugin)); devicesWithEnabledPlugin.forEach((d) => { d.loadDevicePlugin(plugin);