Browse Source

Unread history bugfixes

master
Igor Zhukov 10 years ago
parent
commit
8131aae279
  1. 6
      app/js/controllers.js
  2. 44
      app/js/directives.js
  3. 3
      app/js/services.js

6
app/js/controllers.js

@ -1018,9 +1018,6 @@ angular.module('myApp.controllers', [])
else if (forceRecent) { else if (forceRecent) {
limit = 10; limit = 10;
} }
else if (Config.Mobile) {
limit = 20;
}
moreActive = false; moreActive = false;
morePending = false; morePending = false;
@ -1064,6 +1061,9 @@ angular.module('myApp.controllers', [])
if ($scope.skippedHistory) { if ($scope.skippedHistory) {
delete message.unread; delete message.unread;
} }
if (historyResult.unreadOffset) {
message.unreadAfter = true;
}
peerHistory.messages.push(message); peerHistory.messages.push(message);
}); });
peerHistory.messages.reverse(); peerHistory.messages.reverse();

44
app/js/directives.js

@ -101,29 +101,33 @@ angular.module('myApp.directives', ['myApp.filters'])
} }
}); });
if ($scope.historyMessage.unread) { var deregisterUnreadAfter;
var deregisterUnreadAfter; if (!$scope.historyMessage.out &&
if (!$scope.historyMessage.out) { ($scope.historyMessage.unread || $scope.historyMessage.unreadAfter)) {
var applyUnreadAfter = function () { var applyUnreadAfter = function () {
if (unreadAfter != ($scope.historyUnreadAfter == $scope.historyMessage.id)) { if ($scope.peerHistory.peerID != $scope.historyPeer.id) {
unreadAfter = !unreadAfter; return;
if (unreadAfter) { }
if (unreadAfterSplit) { if (unreadAfter != ($scope.historyUnreadAfter == $scope.historyMessage.id)) {
unreadAfterSplit.show(); unreadAfter = !unreadAfter;
} else { if (unreadAfter) {
unreadAfterSplit = $(unreadSplitHtml).prependTo(element); if (unreadAfterSplit) {
} unreadAfterSplit.show();
} else { } else {
unreadAfterSplit.hide(); unreadAfterSplit = $(unreadSplitHtml).prependTo(element);
if (deregisterUnreadAfter) { }
deregisterUnreadAfter(); } else {
} unreadAfterSplit.hide();
if (deregisterUnreadAfter) {
deregisterUnreadAfter();
} }
} }
}; }
applyUnreadAfter(); };
deregisterUnreadAfter = $scope.$on('messages_unread_after', applyUnreadAfter); applyUnreadAfter();
} deregisterUnreadAfter = $scope.$on('messages_unread_after', applyUnreadAfter);
}
if ($scope.historyMessage.unread) {
element.addClass(unreadClass); element.addClass(unreadClass);
var deregisterUnread = $scope.$on('messages_read', function () { var deregisterUnread = $scope.$on('messages_read', function () {
if (!$scope.historyMessage.unread) { if (!$scope.historyMessage.unread) {

3
app/js/services.js

@ -929,6 +929,9 @@ angular.module('myApp.services', [])
unreadOffset = unreadCount; unreadOffset = unreadCount;
} }
} }
else if (Config.Mobile) {
limit = 20;
}
} }
else if (maxID > 0) { else if (maxID > 0) {
offsetNotFound = true; offsetNotFound = true;

Loading…
Cancel
Save