From 9adc8777c20ae67b8c14e542bd87464ab9edd9a5 Mon Sep 17 00:00:00 2001 From: Klesh Wong Date: Mon, 20 Jul 2026 09:38:40 +0800 Subject: [PATCH] feat: reload when `config apply` --- internal/cli/config.go | 1 + internal/cli/service.go | 4 +--- internal/cli/subscription.go | 6 +++--- internal/core/manager.go | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/internal/cli/config.go b/internal/cli/config.go index aab931c..ad1b93e 100644 --- a/internal/cli/config.go +++ b/internal/cli/config.go @@ -93,6 +93,7 @@ func newConfigCmd() *cobra.Command { return err } m.CoreConfig.Apply() + m.Core.ReloadService() return nil }, }, diff --git a/internal/cli/service.go b/internal/cli/service.go index 7594895..252a940 100644 --- a/internal/cli/service.go +++ b/internal/cli/service.go @@ -155,7 +155,6 @@ func newServiceRestartCmd() *cobra.Command { } func newServiceReloadCmd() *cobra.Command { - var name string c := &cobra.Command{ Use: "reload", Short: "Reload mihomo service configuration (via API)", @@ -165,13 +164,12 @@ func newServiceReloadCmd() *cobra.Command { if err != nil { return err } - if !m.Core.ReloadService(name) { + if !m.Core.ReloadService() { return errSilentFailure } return nil }, } - withNameFlag(c, &name) return c } diff --git a/internal/cli/subscription.go b/internal/cli/subscription.go index 262a307..8dba9dd 100644 --- a/internal/cli/subscription.go +++ b/internal/cli/subscription.go @@ -57,7 +57,7 @@ func newSubscriptionRefreshCmd() *cobra.Command { return err } m.Subscription.RefreshSubscription(args[0], backup) - m.Core.ReloadService("mihomo") + m.Core.ReloadService() return nil }, } @@ -141,7 +141,7 @@ func newSubscriptionActivateCmd() *cobra.Command { } m.Subscription.ActivateSubscription(args[0]) if m.CoreConfig.Apply() { - m.Core.ReloadService("mihomo") + m.Core.ReloadService() } return nil }, @@ -160,7 +160,7 @@ func newSubscriptionDeactivateCmd() *cobra.Command { } m.Subscription.DeactivateSubscription(args[0]) if m.CoreConfig.Apply() { - m.Core.ReloadService("mihomo") + m.Core.ReloadService() } return nil }, diff --git a/internal/core/manager.go b/internal/core/manager.go index a7b80fe..f37382e 100644 --- a/internal/core/manager.go +++ b/internal/core/manager.go @@ -383,7 +383,7 @@ func (m *Manager) GetServiceStatus(serviceName string) string { // ReloadService reloads mihomo configuration via its external-controller API // without restarting the service. -func (m *Manager) ReloadService(serviceName string) bool { +func (m *Manager) ReloadService() bool { configPath := filepath.Join(m.CoreConfigManager.Storage.ConfigDir, "generated_config.yaml") if _, err := os.Stat(configPath); err != nil { fmt.Printf("❌ Configuration file not found: %s\n", configPath)