mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-21 18:37:14 +00:00
chore(lint): adapt to staticcheck v0.8.0 under golangci-lint v2.13.1
golangci-lint v2.13.0 pinned honnef.co/go/tools v0.8.0-rc.1, whose staticcheck never terminates on internal/web/service/tgbot: the run pins ~520% CPU with RSS climbing past 700MB rather than deadlocking, so it reads as a hang. controller/, job/ and service/... only appeared stuck because they pull tgbot into the analysis graph. v2.13.1 ships the final v0.8.0 and clears it — that package goes from unbounded to 0s, and a cold full run to 22s. CI needs no pin; it already tracks latest. The same bump reworded SA1019 from parser.ParseDir to go/parser.ParseDir, which silently voided the openapigen exclusion, so the pattern now matches either spelling. fasthttp Client.RetryIf is deprecated in favour of RetryIfErr. The old path left resetTimeout at its zero value, so returning false preserves the existing retry timing exactly. The rest are gofumpt redundant-paren removals from the stricter formatter — semantic no-ops.
This commit is contained in:
@@ -377,10 +377,10 @@ func (t *Tgbot) createRobustFastHTTPClient(proxyUrl string) *fasthttp.Client {
|
||||
MaxConnWaitTimeout: 10 * time.Second,
|
||||
DisableHeaderNamesNormalizing: false,
|
||||
DisablePathNormalizing: false,
|
||||
// Retry on connection errors
|
||||
RetryIf: func(request *fasthttp.Request) bool {
|
||||
// Retry on connection errors for GET requests
|
||||
return string(request.Header.Method()) == "GET" || string(request.Header.Method()) == "POST"
|
||||
// resetTimeout stays false to keep the pre-RetryIfErr retry timing.
|
||||
RetryIfErr: func(request *fasthttp.Request, _ int, _ error) (bool, bool) {
|
||||
method := string(request.Header.Method())
|
||||
return false, method == "GET" || method == "POST"
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -471,7 +471,7 @@ func (t *Tgbot) clientInfoMsg(
|
||||
if traffic.Total == 0 {
|
||||
total = t.I18nBot("tgbot.unlimited")
|
||||
} else {
|
||||
total = common.FormatTraffic((traffic.Total))
|
||||
total = common.FormatTraffic(traffic.Total)
|
||||
}
|
||||
|
||||
enabled := ""
|
||||
|
||||
+2
-2
@@ -378,7 +378,7 @@ func (s *Server) startTask(restartXray bool, loc *time.Location) {
|
||||
|
||||
// Telegram-bot–dependent jobs: periodic stats report + callback-hash cleanup.
|
||||
isTgbotenabled, err := s.settingService.GetTgbotEnabled()
|
||||
if (err == nil) && (isTgbotenabled) {
|
||||
if (err == nil) && isTgbotenabled {
|
||||
runtime, err := s.settingService.GetTgbotRuntime()
|
||||
if err != nil {
|
||||
logger.Warningf("Add NewStatsNotifyJob: failed to load runtime: %v; using default @daily", err)
|
||||
@@ -666,7 +666,7 @@ func (s *Server) start(restartXray bool, startTgBot bool) (err error) {
|
||||
|
||||
if startTgBot {
|
||||
isTgbotenabled, err := s.settingService.GetTgbotEnabled()
|
||||
if (err == nil) && (isTgbotenabled) {
|
||||
if (err == nil) && isTgbotenabled {
|
||||
tgBot := s.tgbotService.NewTgbot()
|
||||
_ = tgBot.Start(i18nFS)
|
||||
// Subscribe Telegram notifications for event bus
|
||||
|
||||
Reference in New Issue
Block a user