diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 0f3277e34..2f325b774 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -140,7 +140,10 @@ func (s *groupServer) CreateGroup(ctx context.Context, req *pbGroup.CreateGroupR if req.OwnerUserID == "" { return nil, errs.ErrArgs.Wrap("no group owner") } - userIDs := append(append(req.InitMembers, req.AdminUserIDs...), req.OwnerUserID, mcontext.GetOpUserID(ctx)) + userIDs := append(append(req.InitMembers, req.AdminUserIDs...), req.OwnerUserID) + if opUserID := mcontext.GetOpUserID(ctx); !utils.Contain(opUserID, userIDs...) { + userIDs = append(userIDs, opUserID) + } if utils.Duplicate(userIDs) { return nil, errs.ErrArgs.Wrap("group member repeated") }