MM-15201: Don't check for non-members unless the channel is group-constrained. (#10657)
Этот коммит содержится в:
коммит произвёл
Jesús Espino
родитель
17092e7e48
Коммит
1b9d937962
@@ -128,13 +128,20 @@ func (a *App) SendNotifications(post *model.Post, team *model.Team, channel *mod
|
|||||||
if result := <-a.Srv.Store.User().GetProfilesByUsernames(m.OtherPotentialMentions, team.Id); result.Err == nil {
|
if result := <-a.Srv.Store.User().GetProfilesByUsernames(m.OtherPotentialMentions, team.Id); result.Err == nil {
|
||||||
channelMentions := model.UserSlice(result.Data.([]*model.User))
|
channelMentions := model.UserSlice(result.Data.([]*model.User))
|
||||||
|
|
||||||
nonMemberIDs, err := a.FilterNonGroupChannelMembers(channelMentions.IDs(), channel)
|
var outOfChannelMentions model.UserSlice
|
||||||
if err != nil {
|
var outOfGroupsMentions model.UserSlice
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
outOfChannelMentions := channelMentions.FilterWithoutID(nonMemberIDs)
|
if channel.GroupConstrained != nil && *channel.GroupConstrained {
|
||||||
outOfGroupsMentions := channelMentions.FilterByID(nonMemberIDs)
|
nonMemberIDs, err := a.FilterNonGroupChannelMembers(channelMentions.IDs(), channel)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
outOfChannelMentions = channelMentions.FilterWithoutID(nonMemberIDs)
|
||||||
|
outOfGroupsMentions = channelMentions.FilterByID(nonMemberIDs)
|
||||||
|
} else {
|
||||||
|
outOfChannelMentions = channelMentions
|
||||||
|
}
|
||||||
|
|
||||||
if channel.Type != model.CHANNEL_GROUP {
|
if channel.Type != model.CHANNEL_GROUP {
|
||||||
a.Srv.Go(func() {
|
a.Srv.Go(func() {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user