mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-08 11:04:29 +00:00
Making sure deleted control messages leave nothing behind (#1693)
* Making sure deleted control messages leave nothing behind * More control messages check
This commit is contained in:
parent
54ef260aa9
commit
68750e6146
@ -241,7 +241,7 @@ class ConversationViewModel(
|
|||||||
// hashes are required if wanting to delete messages from the 'storage server'
|
// hashes are required if wanting to delete messages from the 'storage server'
|
||||||
// They are not required for communities OR if all messages are outgoing
|
// They are not required for communities OR if all messages are outgoing
|
||||||
// also we can only delete deleted messages (marked as deleted) locally
|
// also we can only delete deleted messages (marked as deleted) locally
|
||||||
val canDeleteForEveryone = messages.all{ !it.isDeleted } && (
|
val canDeleteForEveryone = messages.all{ !it.isDeleted && !it.isControlMessage } && (
|
||||||
messages.all { it.isOutgoing } ||
|
messages.all { it.isOutgoing } ||
|
||||||
conversationType == MessageType.COMMUNITY ||
|
conversationType == MessageType.COMMUNITY ||
|
||||||
messages.all { lokiMessageDb.getMessageServerHash(it.id, it.isMms) != null
|
messages.all { lokiMessageDb.getMessageServerHash(it.id, it.isMms) != null
|
||||||
@ -312,8 +312,8 @@ class ConversationViewModel(
|
|||||||
.mapNotNull { it.slideDeck.audioSlide }
|
.mapNotNull { it.slideDeck.audioSlide }
|
||||||
.forEach(::stopMessageAudio)
|
.forEach(::stopMessageAudio)
|
||||||
|
|
||||||
// if the message was already marked as deleted, remove it from the db instead
|
// if the message was already marked as deleted or control messages, remove it from the db instead
|
||||||
if(messages.all { it.isDeleted }){
|
if(messages.all { it.isDeleted || it.isControlMessage }){
|
||||||
// Remove the message locally (leave nothing behind)
|
// Remove the message locally (leave nothing behind)
|
||||||
repository.deleteMessages(messages = messages, threadId = threadId)
|
repository.deleteMessages(messages = messages, threadId = threadId)
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user