From 7e9ed1481b7cf3e7451f135438e0601925923e32 Mon Sep 17 00:00:00 2001 From: Scott Nonnenberg Date: Mon, 14 Aug 2017 11:23:08 -0700 Subject: [PATCH] Set receivedAt after decrypt, sort by received then sent FREEBIE --- js/models/messages.js | 8 +++++++- libtextsecure/message_receiver.js | 3 --- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/js/models/messages.js b/js/models/messages.js index 2d16a6664..49be47acf 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -589,7 +589,13 @@ model : Message, database : Whisper.Database, storeName : 'messages', - comparator : 'received_at', + comparator : function(left, right) { + if (left.get('received_at') === right.get('received_at')) { + return (left.get('sent_at') || 0) - (right.get('sent_at') || 0); + } + + return (left.get('received_at') || 0) - (right.get('received_at') || 0); + }, initialize : function(models, options) { if (options) { this.conversation = options.conversation; diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index 180e007e6..ad3c66040 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -81,7 +81,6 @@ MessageReceiver.prototype.extend({ } return; } - var receivedAt = Date.now(); this.incoming.push(textsecure.crypto.decryptWebsocketMessage(request.body, this.signalingKey).then(function(plaintext) { var envelope = textsecure.protobuf.Envelope.decode(plaintext); @@ -93,8 +92,6 @@ MessageReceiver.prototype.extend({ return request.respond(200, 'OK'); } - envelope.receivedAt = receivedAt; - return this.addToCache(envelope, plaintext).then(function() { request.respond(200, 'OK'); this.queueEnvelope(envelope);