diff --git a/js/libtextsecure.js b/js/libtextsecure.js index 7b985549d73..a8409ce6770 100644 --- a/js/libtextsecure.js +++ b/js/libtextsecure.js @@ -38237,7 +38237,7 @@ MessageReceiver.prototype.extend({ throw e; }); }, - handleSentMessage: function(destination, timestamp, message) { + handleSentMessage: function(destination, timestamp, message, expirationStartTimestamp) { var p = Promise.resolve(); if ((message.flags & textsecure.protobuf.DataMessage.Flags.END_SESSION) == textsecure.protobuf.DataMessage.Flags.END_SESSION ) { @@ -38247,9 +38247,10 @@ MessageReceiver.prototype.extend({ return this.processDecrypted(message, this.number).then(function(message) { var ev = new Event('sent'); ev.data = { - destination : destination, - timestamp : timestamp.toNumber(), - message : message + destination : destination, + timestamp : timestamp.toNumber(), + message : message, + expirationStartTimestamp : expirationStartTimestamp }; this.dispatchEvent(ev); }.bind(this)); @@ -38310,7 +38311,8 @@ MessageReceiver.prototype.extend({ return this.handleSentMessage( sentMessage.destination, sentMessage.timestamp, - sentMessage.message + sentMessage.message, + sentMessage.expirationStartTimestamp ); } else if (syncMessage.contacts) { this.handleContacts(syncMessage.contacts); diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index bea440af3fb..30015aa5ae4 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -166,7 +166,7 @@ MessageReceiver.prototype.extend({ throw e; }); }, - handleSentMessage: function(destination, timestamp, message) { + handleSentMessage: function(destination, timestamp, message, expirationStartTimestamp) { var p = Promise.resolve(); if ((message.flags & textsecure.protobuf.DataMessage.Flags.END_SESSION) == textsecure.protobuf.DataMessage.Flags.END_SESSION ) { @@ -176,9 +176,10 @@ MessageReceiver.prototype.extend({ return this.processDecrypted(message, this.number).then(function(message) { var ev = new Event('sent'); ev.data = { - destination : destination, - timestamp : timestamp.toNumber(), - message : message + destination : destination, + timestamp : timestamp.toNumber(), + message : message, + expirationStartTimestamp : expirationStartTimestamp }; this.dispatchEvent(ev); }.bind(this)); @@ -239,7 +240,8 @@ MessageReceiver.prototype.extend({ return this.handleSentMessage( sentMessage.destination, sentMessage.timestamp, - sentMessage.message + sentMessage.message, + sentMessage.expirationStartTimestamp ); } else if (syncMessage.contacts) { this.handleContacts(syncMessage.contacts); diff --git a/protos/IncomingPushMessageSignal.proto b/protos/IncomingPushMessageSignal.proto index 652a3ebe7de..8af9409e1e8 100644 --- a/protos/IncomingPushMessageSignal.proto +++ b/protos/IncomingPushMessageSignal.proto @@ -29,12 +29,14 @@ message Content { message DataMessage { enum Flags { END_SESSION = 1; + EXPIRATION_TIMER_UPDATE = 2; } optional string body = 1; repeated AttachmentPointer attachments = 2; optional GroupContext group = 3; optional uint32 flags = 4; + optional uint32 expireTimer = 5; } message SyncMessage { @@ -42,6 +44,7 @@ message SyncMessage { optional string destination = 1; optional uint64 timestamp = 2; optional DataMessage message = 3; + optional uint64 expirationStartTimestamp = 4; } message Contacts {