Fix redacted media thread showing "message removed" for every media item.

This commit is contained in:
N-Pex 2024-07-11 15:52:45 +02:00
parent 6a00a334b5
commit 4c8bd07e8a
7 changed files with 27 additions and 21 deletions

View file

@ -125,13 +125,6 @@ export default {
},
componentForEvent(event, isForExport = false) {
if (!event.isRelation() && !event.isRedaction() && event.isRedacted()) {
const redaction = event.getRedactionEvent();
if (redaction && redaction.content && redaction.content.reason === "cancel") {
return null; // Show nothing, it was canceled!
}
}
switch (event.getType()) {
case "m.room.member":
if (event.getContent().membership == "join") {
@ -161,11 +154,14 @@ export default {
case "m.room.message":
if (event.getSender() != this.$matrix.currentUserId) {
if (event.isMxThread) {
// If redacted, use a text message (will show "This message was deleted")
if (event.isRedacted()) {
if (event.isRedacted()) {
// Redacted thread, show as text (and hide all media)!
if (event.getUnsigned().redacted_because.content.reason == "redactedThread") {
return MessageIncomingText;
}
return null;
}
if (event.isMxThread) {
// Incoming thread, e.g. a file drop!
return isForExport ? MessageIncomingThreadExport : MessageIncomingThread;
}
@ -205,13 +201,14 @@ export default {
}
return MessageIncomingText;
} else {
if (event.isMxThread) {
// If redacted, use a text message (will show "This message was deleted")
if (event.isRedacted()) {
if (event.isRedacted()) {
// Redacted thread, show as text (and hide all media)!
if (event.getUnsigned().redacted_because.content.reason == "redactedThread") {
return MessageOutgoingText;
}
return null;
}
if (event.isMxThread) {
// Outgoing thread
return isForExport ? MessageOutgoingThreadExport : MessageOutgoingThread;
}