Maintain original received time when processing queued/error msgs
FREEBIE
This commit is contained in:
parent
8700112f6d
commit
620b71a649
3 changed files with 13 additions and 3 deletions
|
@ -288,13 +288,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function initIncomingMessage(data) {
|
function initIncomingMessage(data) {
|
||||||
var now = new Date().getTime();
|
|
||||||
|
|
||||||
var message = new Whisper.Message({
|
var message = new Whisper.Message({
|
||||||
source : data.source,
|
source : data.source,
|
||||||
sourceDevice : data.sourceDevice,
|
sourceDevice : data.sourceDevice,
|
||||||
sent_at : data.timestamp,
|
sent_at : data.timestamp,
|
||||||
received_at : now,
|
received_at : data.receivedAt || Date.now(),
|
||||||
conversationId : data.source,
|
conversationId : data.source,
|
||||||
type : 'incoming',
|
type : 'incoming',
|
||||||
unread : 1
|
unread : 1
|
||||||
|
|
|
@ -38332,6 +38332,7 @@ MessageReceiver.prototype.extend({
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var receivedAt = Date.now();
|
||||||
|
|
||||||
this.incoming.push(textsecure.crypto.decryptWebsocketMessage(request.body, this.signalingKey).then(function(plaintext) {
|
this.incoming.push(textsecure.crypto.decryptWebsocketMessage(request.body, this.signalingKey).then(function(plaintext) {
|
||||||
var envelope = textsecure.protobuf.Envelope.decode(plaintext);
|
var envelope = textsecure.protobuf.Envelope.decode(plaintext);
|
||||||
|
@ -38343,6 +38344,8 @@ MessageReceiver.prototype.extend({
|
||||||
return request.respond(200, 'OK');
|
return request.respond(200, 'OK');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
envelope.receivedAt = receivedAt;
|
||||||
|
|
||||||
return this.addToCache(envelope, plaintext).then(function() {
|
return this.addToCache(envelope, plaintext).then(function() {
|
||||||
request.respond(200, 'OK');
|
request.respond(200, 'OK');
|
||||||
this.queueEnvelope(envelope);
|
this.queueEnvelope(envelope);
|
||||||
|
@ -38687,6 +38690,7 @@ MessageReceiver.prototype.extend({
|
||||||
source : envelope.source,
|
source : envelope.source,
|
||||||
sourceDevice : envelope.sourceDevice,
|
sourceDevice : envelope.sourceDevice,
|
||||||
timestamp : envelope.timestamp.toNumber(),
|
timestamp : envelope.timestamp.toNumber(),
|
||||||
|
receivedAt : envelope.receivedAt,
|
||||||
message : message
|
message : message
|
||||||
};
|
};
|
||||||
return this.dispatchAndWait(ev);
|
return this.dispatchAndWait(ev);
|
||||||
|
@ -38923,6 +38927,7 @@ MessageReceiver.prototype.extend({
|
||||||
tryMessageAgain: function(from, ciphertext, message) {
|
tryMessageAgain: function(from, ciphertext, message) {
|
||||||
var address = libsignal.SignalProtocolAddress.fromString(from);
|
var address = libsignal.SignalProtocolAddress.fromString(from);
|
||||||
var sentAt = message.sent_at || Date.now();
|
var sentAt = message.sent_at || Date.now();
|
||||||
|
var receivedAt = message.received_at || Date.now();
|
||||||
|
|
||||||
var ourNumber = textsecure.storage.user.getNumber();
|
var ourNumber = textsecure.storage.user.getNumber();
|
||||||
var number = address.getName();
|
var number = address.getName();
|
||||||
|
@ -38940,6 +38945,7 @@ MessageReceiver.prototype.extend({
|
||||||
var envelope = {
|
var envelope = {
|
||||||
source: number,
|
source: number,
|
||||||
sourceDevice: device,
|
sourceDevice: device,
|
||||||
|
receivedAt: receivedAt,
|
||||||
timestamp: {
|
timestamp: {
|
||||||
toNumber: function() {
|
toNumber: function() {
|
||||||
return sentAt;
|
return sentAt;
|
||||||
|
|
|
@ -81,6 +81,7 @@ MessageReceiver.prototype.extend({
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
var receivedAt = Date.now();
|
||||||
|
|
||||||
this.incoming.push(textsecure.crypto.decryptWebsocketMessage(request.body, this.signalingKey).then(function(plaintext) {
|
this.incoming.push(textsecure.crypto.decryptWebsocketMessage(request.body, this.signalingKey).then(function(plaintext) {
|
||||||
var envelope = textsecure.protobuf.Envelope.decode(plaintext);
|
var envelope = textsecure.protobuf.Envelope.decode(plaintext);
|
||||||
|
@ -92,6 +93,8 @@ MessageReceiver.prototype.extend({
|
||||||
return request.respond(200, 'OK');
|
return request.respond(200, 'OK');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
envelope.receivedAt = receivedAt;
|
||||||
|
|
||||||
return this.addToCache(envelope, plaintext).then(function() {
|
return this.addToCache(envelope, plaintext).then(function() {
|
||||||
request.respond(200, 'OK');
|
request.respond(200, 'OK');
|
||||||
this.queueEnvelope(envelope);
|
this.queueEnvelope(envelope);
|
||||||
|
@ -436,6 +439,7 @@ MessageReceiver.prototype.extend({
|
||||||
source : envelope.source,
|
source : envelope.source,
|
||||||
sourceDevice : envelope.sourceDevice,
|
sourceDevice : envelope.sourceDevice,
|
||||||
timestamp : envelope.timestamp.toNumber(),
|
timestamp : envelope.timestamp.toNumber(),
|
||||||
|
receivedAt : envelope.receivedAt,
|
||||||
message : message
|
message : message
|
||||||
};
|
};
|
||||||
return this.dispatchAndWait(ev);
|
return this.dispatchAndWait(ev);
|
||||||
|
@ -672,6 +676,7 @@ MessageReceiver.prototype.extend({
|
||||||
tryMessageAgain: function(from, ciphertext, message) {
|
tryMessageAgain: function(from, ciphertext, message) {
|
||||||
var address = libsignal.SignalProtocolAddress.fromString(from);
|
var address = libsignal.SignalProtocolAddress.fromString(from);
|
||||||
var sentAt = message.sent_at || Date.now();
|
var sentAt = message.sent_at || Date.now();
|
||||||
|
var receivedAt = message.received_at || Date.now();
|
||||||
|
|
||||||
var ourNumber = textsecure.storage.user.getNumber();
|
var ourNumber = textsecure.storage.user.getNumber();
|
||||||
var number = address.getName();
|
var number = address.getName();
|
||||||
|
@ -689,6 +694,7 @@ MessageReceiver.prototype.extend({
|
||||||
var envelope = {
|
var envelope = {
|
||||||
source: number,
|
source: number,
|
||||||
sourceDevice: device,
|
sourceDevice: device,
|
||||||
|
receivedAt: receivedAt,
|
||||||
timestamp: {
|
timestamp: {
|
||||||
toNumber: function() {
|
toNumber: function() {
|
||||||
return sentAt;
|
return sentAt;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue