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'])
}) })
.directive('myHistory', function ($window, $timeout, $transition) { .directive('myHistory', function ($window, $timeout, $rootScope, $transition) {
return { return {
link: link link: link
@ -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; curAnimation = false;
$scope.$on('ui_history_append_new', function (e, options) { $scope.$on('ui_history_append_new', function (e, options) {

16
app/js/services.js

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

Loading…
Cancel
Save