Fix validation error with remote deletes.

This commit is contained in:
Greyson Parrelli
2026-08-13 11:11:37 -04:00
parent d3566f0329
commit 5abe7ced2c
2 changed files with 17 additions and 7 deletions
@@ -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"
}
@@ -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) -> {