mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-09-13 20:17:56 +01:00
Fix validation error with remote deletes.
This commit is contained in:
@@ -258,6 +258,10 @@ object ExportOddities {
|
||||
return log(0, "No release channel recipient was found.")
|
||||
}
|
||||
|
||||
fun adminDeleteInNonGroupChat(sentTimestamp: Long): String {
|
||||
return log(sentTimestamp, "Message was deleted by someone other than the author, but it isn't in a group chat. Exporting it as a normal remote delete.")
|
||||
}
|
||||
|
||||
private fun log(sentTimestamp: Long, message: String): String {
|
||||
return "[ODDITY][$sentTimestamp] $message"
|
||||
}
|
||||
|
||||
+13
-7
@@ -193,14 +193,20 @@ class ChatItemArchiveExporter(
|
||||
}
|
||||
|
||||
when {
|
||||
record.deletedBy == record.fromRecipientId -> {
|
||||
builder.remoteDeletedMessage = RemoteDeletedMessage()
|
||||
transformTimer.emit("remote-delete")
|
||||
}
|
||||
|
||||
record.deletedBy != null -> {
|
||||
builder.adminDeletedMessage = AdminDeletedMessage(adminId = record.deletedBy)
|
||||
transformTimer.emit("admin-delete")
|
||||
val deletedByAuthor = record.deletedBy == builder.authorId
|
||||
val isGroupChat = exportState.threadIdToRecipientId[record.threadId] in exportState.groupRecipientIds
|
||||
|
||||
if (!deletedByAuthor && isGroupChat) {
|
||||
builder.adminDeletedMessage = AdminDeletedMessage(adminId = record.deletedBy)
|
||||
transformTimer.emit("admin-delete")
|
||||
} else {
|
||||
if (!deletedByAuthor) {
|
||||
Log.w(TAG, ExportOddities.adminDeleteInNonGroupChat(record.dateSent))
|
||||
}
|
||||
builder.remoteDeletedMessage = RemoteDeletedMessage()
|
||||
transformTimer.emit("remote-delete")
|
||||
}
|
||||
}
|
||||
|
||||
MessageTypes.isJoinedType(record.type) -> {
|
||||
|
||||
Reference in New Issue
Block a user