From d6a524a923fa92f6f90be29efdf7d8cb6cc18574 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?=
Date: Tue, 19 Aug 2025 21:20:43 +0200
Subject: [PATCH] Fix message retractation display when encrypted
---
app/Widgets/Chat/chat.js | 2 +-
app/Widgets/ChatActions/_chatactions_message.tpl | 2 +-
app/Widgets/Chats/_chats_item.tpl | 6 +++---
app/Widgets/ContactData/_contactdata.tpl | 6 +++---
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/app/Widgets/Chat/chat.js b/app/Widgets/Chat/chat.js
index fd8e44e85..08cf0dc4b 100644
--- a/app/Widgets/Chat/chat.js
+++ b/app/Widgets/Chat/chat.js
@@ -1114,7 +1114,7 @@ var Chat = {
}
// OMEMO handling
- if (data.omemoheader && data.encrypted && OMEMO_ENABLED) {
+ if (data.omemoheader && data.encrypted && !data.retracted && OMEMO_ENABLED) {
p.innerHTML = data.omemoheader.payload.substring(0, data.omemoheader.payload.length / 2);
ChatOmemo.decrypt(data).then(plaintext => {
let refreshP = document.querySelector('#id' + data.id + ' p.encrypted');
diff --git a/app/Widgets/ChatActions/_chatactions_message.tpl b/app/Widgets/ChatActions/_chatactions_message.tpl
index 032176c69..23b6412a4 100644
--- a/app/Widgets/ChatActions/_chatactions_message.tpl
+++ b/app/Widgets/ChatActions/_chatactions_message.tpl
@@ -6,7 +6,7 @@
{$message->resource}
{/if}
{if="$message->encrypted"}
- {$c->__('message.encrypted')} lock
+ {if="$message->retracted"}{$c->__('message.retracted')}{else}{$c->__('message.encrypted')}{/if} lock
{elseif="$message->retracted"}
{$c->__('message.retracted')} delete
{elseif="$message->file && $message->file->isPicture"}
diff --git a/app/Widgets/Chats/_chats_item.tpl b/app/Widgets/Chats/_chats_item.tpl
index 6183a7b6e..b3d53fe42 100644
--- a/app/Widgets/Chats/_chats_item.tpl
+++ b/app/Widgets/Chats/_chats_item.tpl
@@ -74,10 +74,10 @@
phone_in_talk
{$c->__('visio.in_call')} •
{/if}
- {if="$message->retracted"}
+ {if="$message->encrypted"}
+ lock {if="$message->retracted"}{$c->__('message.retracted')}{else}{$c->__('message.encrypted')}{/if}
+ {elseif="$message->retracted"}
delete {$c->__('message.retracted')}
- {elseif="$message->encrypted"}
- lock {$c->__('message.encrypted')}
{elseif="$message->type == 'invitation'"}
outgoing_mail {$c->__('message.invitation')}
{elseif="$message->type == 'jingle_incoming'"}
diff --git a/app/Widgets/ContactData/_contactdata.tpl b/app/Widgets/ContactData/_contactdata.tpl
index 98313ba7c..5ba497886 100644
--- a/app/Widgets/ContactData/_contactdata.tpl
+++ b/app/Widgets/ContactData/_contactdata.tpl
@@ -45,10 +45,10 @@
{$c->__('button.chat')}
{if="isset($message)"}
- {if="$message->retracted"}
+ {if="$message->encrypted"}
+ lock {if="$message->retracted"}{$c->__('message.retracted')}{else}{$c->__('message.encrypted')}{/if}
+ {elseif="$message->retracted"}
delete {$c->__('message.retracted')}
- {elseif="$message->encrypted"}
- lock {$c->__('message.encrypted')}
{elseif="$message->file"}
{if="$message->jidfrom == $message->user_id"}