diff --git a/app/js/controllers.js b/app/js/controllers.js index 758fd906..742caae5 100644 --- a/app/js/controllers.js +++ b/app/js/controllers.js @@ -2512,8 +2512,14 @@ angular.module('myApp.controllers', ['myApp.i18n']) }) var chatParticipantsPromise if (peerID < 0) { - chatParticipantsPromise = AppProfileManager.getChatFull(-peerID).then(function (chatFull) { - var participantsVector = (chatFull.participants || {}).participants || [] + if (AppPeersManager.isChannel(peerID)) { + chatParticipantsPromise = AppProfileManager.getChannelParticipants(-peerID) + } else { + chatParticipantsPromise = AppProfileManager.getChatFull(-peerID).then(function (chatFull) { + return (chatFull.participants || {}).participants || [] + }) + } + chatParticipantsPromise = chatParticipantsPromise.then(function (participantsVector) { var ids = [] angular.forEach(participantsVector, function (participant) { ids.push(participant.user_id) diff --git a/app/js/services.js b/app/js/services.js index df33a107..c1d3f99d 100755 --- a/app/js/services.js +++ b/app/js/services.js @@ -1208,8 +1208,11 @@ angular.module('myApp.services', ['myApp.i18n', 'izhukov.utils']) if (filter._ == 'channelParticipantsRecent') { var chat = AppChatsManager.getChat(id) - if (chat.pFlags.kicked || - chat.pFlags.broadcast && !chat.pFlags.creator && !chat.admin_rights) { + if (chat && + chat.pFlags && ( + chat.pFlags.kicked || + chat.pFlags.broadcast && !chat.pFlags.creator && !chat.admin_rights + )) { return $q.reject() } }