From ac61334f93c7c977c74bdf71de9084fdfee4fb19 Mon Sep 17 00:00:00 2001 From: Kyle Sanderson Date: Sun, 7 May 2023 13:01:21 -0700 Subject: [PATCH] fix(irc): restart offline network (#769) fix(irc): implement restart for offline network --- internal/irc/service.go | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/internal/irc/service.go b/internal/irc/service.go index 7d1e0a1..ff4c5bf 100644 --- a/internal/irc/service.go +++ b/internal/irc/service.go @@ -294,21 +294,12 @@ func (s *service) RestartNetwork(ctx context.Context, id int64) error { func (s *service) restartNetwork(network domain.IrcNetwork) error { // look if we have the network in handlers, if so restart it - if existingHandler, found := s.handlers[handlerKey{network.Server, network.Nick}]; found { - s.log.Info().Msgf("restarting network: %v", network.Name) - - if existingHandler.client.Connected() { - go func() { - if err := existingHandler.Restart(); err != nil { - s.log.Error().Err(err).Msgf("failed to restart network %q", existingHandler.network.Name) - } - }() - } + hk := handlerKey{network.Server, network.Nick} + if err := s.StopNetworkIfRunning(hk); err != nil { + return err } - // TODO handle full restart - - return nil + return s.startNetwork(network) } func (s *service) StopNetwork(key handlerKey) error {