diff --git a/sam/service/channel.go b/sam/service/channel.go index a9df3e88d..655d4b287 100644 --- a/sam/service/channel.go +++ b/sam/service/channel.go @@ -808,7 +808,7 @@ func (svc *channel) setPermissionFlags(ch *types.Channel) (err error) { ch.CanJoin = (ch.IsValid() && isPublic) || isOwner ch.CanPart = isMember - ch.CanObserve = ch.CanJoin + ch.CanObserve = (ch.IsValid() && isPublic) || isMember ch.CanSendMessages = ch.CanObserve && isMember ch.CanDeleteMessages = isOwner ch.CanChangeMembers = isOwner