Use distinct timestamp for sync message expire timer updates.
This commit is contained in:
parent
1d793de213
commit
4fce7cc3cc
1 changed files with 5 additions and 5 deletions
|
@ -598,7 +598,7 @@ object SyncMessageProcessor {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Throws(MmsException::class)
|
@Throws(MmsException::class)
|
||||||
private fun handleSynchronizeSentExpirationUpdate(sent: Sent): Long {
|
private fun handleSynchronizeSentExpirationUpdate(sent: Sent, sideEffect: Boolean = false): Long {
|
||||||
log(sent.timestamp, "Synchronize sent expiration update.")
|
log(sent.timestamp, "Synchronize sent expiration update.")
|
||||||
|
|
||||||
val groupId: GroupId? = getSyncMessageDestination(sent).groupId.orNull()
|
val groupId: GroupId? = getSyncMessageDestination(sent).groupId.orNull()
|
||||||
|
@ -609,7 +609,7 @@ object SyncMessageProcessor {
|
||||||
}
|
}
|
||||||
|
|
||||||
val recipient: Recipient = getSyncMessageDestination(sent)
|
val recipient: Recipient = getSyncMessageDestination(sent)
|
||||||
val expirationUpdateMessage: OutgoingMessage = expirationUpdateMessage(recipient, sent.timestamp, sent.message.expireTimer.seconds.inWholeMilliseconds)
|
val expirationUpdateMessage: OutgoingMessage = expirationUpdateMessage(recipient, if (sideEffect) sent.timestamp - 1 else sent.timestamp, sent.message.expireTimer.seconds.inWholeMilliseconds)
|
||||||
val threadId: Long = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
val threadId: Long = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||||
val messageId: Long = SignalDatabase.messages.insertMessageOutbox(expirationUpdateMessage, threadId, false, null)
|
val messageId: Long = SignalDatabase.messages.insertMessageOutbox(expirationUpdateMessage, threadId, false, null)
|
||||||
|
|
||||||
|
@ -680,7 +680,7 @@ object SyncMessageProcessor {
|
||||||
)
|
)
|
||||||
|
|
||||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||||
handleSynchronizeSentExpirationUpdate(sent)
|
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||||
|
@ -751,7 +751,7 @@ object SyncMessageProcessor {
|
||||||
)
|
)
|
||||||
|
|
||||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||||
handleSynchronizeSentExpirationUpdate(sent)
|
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||||
|
@ -808,7 +808,7 @@ object SyncMessageProcessor {
|
||||||
val bodyRanges = sent.message.bodyRangesList.filterNot { it.hasMentionUuid() }.toBodyRangeList()
|
val bodyRanges = sent.message.bodyRangesList.filterNot { it.hasMentionUuid() }.toBodyRangeList()
|
||||||
|
|
||||||
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
if (recipient.expiresInSeconds != sent.message.expireTimer) {
|
||||||
handleSynchronizeSentExpirationUpdate(sent)
|
handleSynchronizeSentExpirationUpdate(sent, sideEffect = true)
|
||||||
}
|
}
|
||||||
|
|
||||||
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
val threadId = SignalDatabase.threads.getOrCreateThreadIdFor(recipient)
|
||||||
|
|
Loading…
Add table
Reference in a new issue