fix(plugins): roll back failed register side effects

This commit is contained in:
Ayaan Zaidi
2026-04-17 08:46:27 +05:30
parent 2a283e87a7
commit e8fd148437
3 changed files with 95 additions and 0 deletions

View File

@@ -1562,6 +1562,7 @@ export function loadOpenClawPlugins(options: PluginLoadOptions = {}): PluginRegi
const {
registry,
createApi,
rollbackPluginGlobalSideEffects,
registerReload,
registerNodeHostCommand,
registerSecurityAuditCollector,
@@ -2236,6 +2237,7 @@ export function loadOpenClawPlugins(options: PluginLoadOptions = {}): PluginRegi
registry.plugins.push(record);
seenIds.set(pluginId, candidate.origin);
} catch (err) {
rollbackPluginGlobalSideEffects(record.id);
restorePluginRegistry(registry, registrySnapshot);
restoreRegisteredAgentHarnesses(previousAgentHarnesses);
restoreRegisteredCompactionProviders(previousCompactionProviders);