From 6b2b1637cb1e7b61ed0ef85936edfb5184fe67a7 Mon Sep 17 00:00:00 2001 From: ze0s <43699394+zze0s@users.noreply.github.com> Date: Sun, 6 Apr 2025 17:07:28 +0200 Subject: [PATCH] fix(irc): set proxy if use proxy is enabled (#2011) fix(irc): set proxy is use proxy is enabled --- internal/irc/service.go | 66 +++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 32 deletions(-) diff --git a/internal/irc/service.go b/internal/irc/service.go index c9adfa8..f65595d 100644 --- a/internal/irc/service.go +++ b/internal/irc/service.go @@ -83,11 +83,11 @@ func (s *service) StartHandlers() { continue } - if network.ProxyId != 0 { + if network.UseProxy && network.ProxyId != 0 { networkProxy, err := s.proxyService.FindByID(context.Background(), network.ProxyId) if err != nil { s.log.Error().Err(err).Msgf("failed to get proxy for network: %s", network.Server) - return + continue } network.Proxy = networkProxy } @@ -147,39 +147,41 @@ func (s *service) startNetwork(network domain.IrcNetwork) error { } }(existingHandler) } - } else { - // if not found in handlers, lets add it and run it - channels, err := s.repo.ListChannels(network.ID) - if err != nil { - s.log.Error().Err(err).Msgf("failed to list channels for network: %s", network.Server) - } - for _, channel := range channels { - // setup SSE stream per channel - s.createSSEStream(network.ID, channel.Name) - } - - // find indexer definitions for network and add - definitions := s.indexerService.GetIndexersByIRCNetwork(network.Server) - - s.lock.Lock() - network.Channels = channels - - // init new irc handler - handler := NewHandler(s.log, s.sse, network, definitions, s.releaseService, s.notificationService) - - s.handlers[network.ID] = handler - s.lock.Unlock() - - s.log.Debug().Msgf("starting network: %s", network.Name) - - go func(network domain.IrcNetwork) { - if err := handler.Run(); err != nil { - s.log.Error().Err(err).Msgf("failed to start handler for network: %s", network.Name) - } - }(network) + return nil } + // if not found in handlers, lets add it and run it + channels, err := s.repo.ListChannels(network.ID) + if err != nil { + s.log.Error().Err(err).Msgf("failed to list channels for network: %s", network.Server) + } + + for _, channel := range channels { + // setup SSE stream per channel + s.createSSEStream(network.ID, channel.Name) + } + + // find indexer definitions for network and add + definitions := s.indexerService.GetIndexersByIRCNetwork(network.Server) + + s.lock.Lock() + network.Channels = channels + + // init new irc handler + handler := NewHandler(s.log, s.sse, network, definitions, s.releaseService, s.notificationService) + + s.handlers[network.ID] = handler + s.lock.Unlock() + + s.log.Debug().Msgf("starting network: %s", network.Name) + + go func(network domain.IrcNetwork) { + if err := handler.Run(); err != nil { + s.log.Error().Err(err).Msgf("failed to start handler for network: %s", network.Name) + } + }(network) + return nil }