Browse Source

MessagesManager bugfixes

Fixed forwardMessages bug, dropped messages bug
master
Igor Zhukov 11 years ago
parent
commit
666f4e5c39
  1. 4
      app/js/directives.js
  2. 16
      app/js/services.js

4
app/js/directives.js

@ -325,7 +325,7 @@ angular.module('myApp.directives', ['myApp.filters']) @@ -325,7 +325,7 @@ angular.module('myApp.directives', ['myApp.filters'])
})
.directive('myHistory', function ($window, $timeout, $transition) {
.directive('myHistory', function ($window, $timeout, $rootScope, $transition) {
return {
link: link
@ -370,7 +370,7 @@ angular.module('myApp.directives', ['myApp.filters']) @@ -370,7 +370,7 @@ angular.module('myApp.directives', ['myApp.filters'])
}
}
var animated = transform ? true : false,
var animated = transform && !$rootScope.idle.isIDLE ? true : false,
curAnimation = false;
$scope.$on('ui_history_append_new', function (e, options) {

16
app/js/services.js

@ -1662,7 +1662,7 @@ angular.module('myApp.services', []) @@ -1662,7 +1662,7 @@ angular.module('myApp.services', [])
}
function forwardMessages (peerID, msgIDs) {
msgIDs = $filter('orderBy')(msgIDs);
msgIDs = msgIDs.sort();
return MtpApiManager.invokeApi('messages.forwardMessages', {
peer: AppPeersManager.getInputPeerByID(peerID),
@ -1987,11 +1987,19 @@ angular.module('myApp.services', []) @@ -1987,11 +1987,19 @@ angular.module('myApp.services', [])
if (historyStorage !== undefined) {
var topMsgID = historiesStorage[peerID].history[0];
if (message.id <= topMsgID) {
if (historiesStorage[peerID].history.indexOf(message.id) != -1) {
return false;
}
else {
historyStorage.history.unshift(message.id);
if (message.id > 0 && message.id < topMsgID || true) {
historyStorage.history.sort(function (a, b) {
return b - a;
});
}
}
} else {
historyStorage = historiesStorage[peerID] = {count: null, history: [], pending: []};
historyStorage = historiesStorage[peerID] = {count: null, history: [message.id], pending: []};
}
saveMessages([message]);
@ -2000,11 +2008,9 @@ angular.module('myApp.services', []) @@ -2000,11 +2008,9 @@ angular.module('myApp.services', [])
historyStorage.count++;
}
historyStorage.history.unshift(message.id);
var randomID = pendingByMessageID[message.id],
pendingMessage;
if (randomID) {
if (pendingMessage = finalizePendingMessage(randomID, message)) {
$rootScope.$broadcast('history_update', {peerID: peerID});

Loading…
Cancel
Save