diff --git a/js/models/conversations.js b/js/models/conversations.js index d6ab54b94..f1b05cd25 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -179,17 +179,17 @@ } }, - addExpirationTimerUpdate: function(time, source) { - var now = Date.now(); - this.save({ expireTimer: time }); + addExpirationTimerUpdate: function(expireTimer, source, received_at) { + received_at = received_at || Date.now(); + this.save({ expireTimer: expireTimer }); var message = this.messageCollection.add({ conversationId : this.id, type : 'outgoing', - sent_at : now, - received_at : now, + sent_at : received_at, + received_at : received_at, flags : textsecure.protobuf.DataMessage.Flags.EXPIRATION_TIMER_UPDATE, expirationTimerUpdate : { - expireTimer : time, + expireTimer : expireTimer, source : source } }); diff --git a/js/models/messages.js b/js/models/messages.js index e07d64dd7..0e51e4bb4 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -376,10 +376,13 @@ } if (dataMessage.expireTimer) { if (dataMessage.expireTimer !== conversation.get('expireTimer')) { - conversation.addExpirationTimerUpdate(dataMessage.expireTimer, source); + conversation.addExpirationTimerUpdate( + dataMessage.expireTimer, source, + message.get('received_at')); } } else if (conversation.get('expireTimer')) { - conversation.addExpirationTimerUpdate(0, source); + conversation.addExpirationTimerUpdate(0, source, + message.get('received_at')); } var conversation_timestamp = conversation.get('timestamp');