Make on_start run when the plugin is toggled

Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
Hadi
2026-05-19 20:52:17 +02:00
parent 33e2afe709
commit d79c9f91d1
+22
View File
@@ -184,6 +184,28 @@ func (m *Manager) TogglePlugin(name string) {
if m.db != nil { if m.db != nil {
_ = m.db.SavePluginState(name, enabled, configText) _ = m.db.SavePluginState(name, enabled, configText)
} }
if !enabled {
return
}
hc, ok := found.hooks["on_start"]
if !ok {
return
}
if hc.Sync {
found.mu.Lock()
if _, err := callHook(found, "on_start"); err != nil {
log.Printf("plugin %s on_start: %v", found.Name, err)
}
found.mu.Unlock()
} else {
go func() {
found.mu.Lock()
if _, err := callHook(found, "on_start"); err != nil {
log.Printf("plugin %s on_start: %v", found.Name, err)
}
found.mu.Unlock()
}()
}
} }
func (m *Manager) SaveConfig(name, configText string) { func (m *Manager) SaveConfig(name, configText string) {