fix(irc): restart offline network (#769)

fix(irc): implement restart for offline network
This commit is contained in:
Kyle Sanderson 2023-05-07 13:01:21 -07:00 committed by GitHub
parent 2ce82cc687
commit ac61334f93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -294,21 +294,12 @@ func (s *service) RestartNetwork(ctx context.Context, id int64) error {
func (s *service) restartNetwork(network domain.IrcNetwork) error { func (s *service) restartNetwork(network domain.IrcNetwork) error {
// look if we have the network in handlers, if so restart it // look if we have the network in handlers, if so restart it
if existingHandler, found := s.handlers[handlerKey{network.Server, network.Nick}]; found { hk := handlerKey{network.Server, network.Nick}
s.log.Info().Msgf("restarting network: %v", network.Name) if err := s.StopNetworkIfRunning(hk); err != nil {
return err
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)
}
}()
}
} }
// TODO handle full restart return s.startNetwork(network)
return nil
} }
func (s *service) StopNetwork(key handlerKey) error { func (s *service) StopNetwork(key handlerKey) error {