diff --git a/app/js/controllers.js b/app/js/controllers.js index 534d41be..d40f6bcd 100644 --- a/app/js/controllers.js +++ b/app/js/controllers.js @@ -701,6 +701,7 @@ angular.module('myApp.controllers', []) return false; } + $rootScope.selectedPeerID = peerID; $scope.curDialog.peerID = peerID; $scope.curDialog.inputPeer = AppPeersManager.getInputPeer(newPeer); $scope.historyFilter.mediaType = false; diff --git a/app/js/services.js b/app/js/services.js index 7239905e..cf9b8cf3 100644 --- a/app/js/services.js +++ b/app/js/services.js @@ -2021,7 +2021,9 @@ angular.module('myApp.services', []) $rootScope.$broadcast('dialogs_update', dialog); - if ($rootScope.idle.isIDLE && !message.out && message.unread) { + if ((Config.Navigator.mobile && $rootScope.selectedPeerID != peerID || $rootScope.idle.isIDLE) && + !message.out && + message.unread) { NotificationsManager.getPeerMuted(peerID).then(function (muted) { if (!message.unread || muted) { return; @@ -3217,6 +3219,10 @@ angular.module('myApp.services', []) if (!started) { started = true; $($window).on('blur focus keydown mousedown touchstart', onEvent); + + setTimeout(function () { + onEvent({type: 'blur'}); + }, 0); } }