From d244060e594165a7b11e1f13e26d6b79cfbc5160 Mon Sep 17 00:00:00 2001 From: Gagan Singh Date: Sun, 2 Nov 2025 17:44:14 -0800 Subject: [PATCH] Simplify iOS background push gating (#3611) --- internal/msggateway/hub_server.go | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/internal/msggateway/hub_server.go b/internal/msggateway/hub_server.go index 8374af06d..6467b7e0f 100644 --- a/internal/msggateway/hub_server.go +++ b/internal/msggateway/hub_server.go @@ -152,19 +152,16 @@ func (s *Server) pushToUser(ctx context.Context, userID string, msgData *sdkws.M userPlatform := &msggateway.SingleMsgToUserPlatform{ RecvPlatFormID: int32(client.PlatformID), } - if !client.IsBackground || - (client.IsBackground && client.PlatformID != constant.IOSPlatformID) { - err := client.PushMessage(ctx, msgData) - if err != nil { - log.ZWarn(ctx, "online push msg failed", err, "userID", userID, "platformID", client.PlatformID) - userPlatform.ResultCode = int64(servererrs.ErrPushMsgErr.Code()) - } else { - if _, ok := s.pushTerminal[client.PlatformID]; ok { - result.OnlinePush = true - } - } - } else { + if client.IsBackground && client.PlatformID == constant.IOSPlatformID { userPlatform.ResultCode = int64(servererrs.ErrIOSBackgroundPushErr.Code()) + result.Resp = append(result.Resp, userPlatform) + continue + } + if err := client.PushMessage(ctx, msgData); err != nil { + log.ZWarn(ctx, "online push msg failed", err, "userID", userID, "platformID", client.PlatformID) + userPlatform.ResultCode = int64(servererrs.ErrPushMsgErr.Code()) + } else if _, ok := s.pushTerminal[client.PlatformID]; ok { + result.OnlinePush = true } result.Resp = append(result.Resp, userPlatform) }