From 2ce9c3cc81799b954441e665e9661a20bc69f8c3 Mon Sep 17 00:00:00 2001 From: Alireza Ahmadi Date: Sat, 16 Nov 2024 14:35:23 +0100 Subject: [PATCH] fix core restart on client change (#2603) --- web/service/inbound.go | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/web/service/inbound.go b/web/service/inbound.go index 7afcb140e7..4f28af21a8 100644 --- a/web/service/inbound.go +++ b/web/service/inbound.go @@ -588,8 +588,12 @@ func (s *InboundService) DelInboundClient(inboundId int, clientId string) (bool, logger.Debug("Client deleted by api:", email) needRestart = false } else { - logger.Debug("Unable to del client by api:", err1) - needRestart = true + if strings.Contains(err1.Error(), fmt.Sprintf("User %s not found.", email)) { + logger.Debug("User is already deleted. Nothing to do more...") + } else { + logger.Debug("Error in deleting client by api:", err1) + needRestart = true + } } s.xrayApi.Close() } @@ -713,10 +717,14 @@ func (s *InboundService) UpdateInboundClient(data *model.Inbound, clientId strin if oldClients[clientIndex].Enable { err1 := s.xrayApi.RemoveUser(oldInbound.Tag, oldEmail) if err1 == nil { - logger.Debug("Old client deleted by api:", clients[0].Email) + logger.Debug("Old client deleted by api:", oldEmail) } else { - logger.Debug("Error in deleting client by api:", err1) - needRestart = true + if strings.Contains(err1.Error(), fmt.Sprintf("User %s not found.", oldEmail)) { + logger.Debug("User is already deleted. Nothing to do more...") + } else { + logger.Debug("Error in deleting client by api:", err1) + needRestart = true + } } } if clients[0].Enable { @@ -1037,12 +1045,8 @@ func (s *InboundService) disableInvalidInbounds(tx *gorm.DB) (bool, int64, error if err1 == nil { logger.Debug("Inbound disabled by api:", tag) } else { - if strings.Contains(err1.Error(), fmt.Sprintf("User %s not found.", tag)) { - logger.Debug("User is already disabled. Nothing to do more...") - } else { - logger.Debug("Error in disabling client by api:", err1) - needRestart = true - } + logger.Debug("Error in disabling inbound by api:", err1) + needRestart = true } } s.xrayApi.Close()