diff --git a/src/components/PluginSettings/index.tsx b/src/components/PluginSettings/index.tsx index e1b36ef2..655eeefe 100644 --- a/src/components/PluginSettings/index.tsx +++ b/src/components/PluginSettings/index.tsx @@ -138,11 +138,13 @@ function PluginCard({ plugin, disabled, onRestartNeeded, onMouseEnter, onMouseLe } const result = wasEnabled ? stopPlugin(plugin) : startPlugin(plugin); - const action = wasEnabled ? "stop" : "start"; if (!result) { - logger.error(`Failed to ${action} plugin ${plugin.name}`); - showErrorToast(`Failed to ${action} plugin: ${plugin.name}`); + settings.enabled = false; + + const msg = `Error while ${wasEnabled ? "stopping" : "starting"} plugin ${plugin.name}`; + logger.error(msg); + showErrorToast(msg); return; } diff --git a/src/plugins/arRPC.web.tsx b/src/plugins/arRPC.web.tsx index 9a16c640..f0d48414 100644 --- a/src/plugins/arRPC.web.tsx +++ b/src/plugins/arRPC.web.tsx @@ -104,6 +104,6 @@ export default definePlugin({ stop() { FluxDispatcher.dispatch({ type: "LOCAL_ACTIVITY_UPDATE", activity: null }); // clear status - ws.close(); // close WebSocket + ws?.close(); // close WebSocket } });