aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/message_correction.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2025-09-16 11:31:28 +0200
committerfiaxh <git@lightrise.org>2025-09-17 12:50:09 +0200
commitfa678bd2cf60ebdcda652794bfb5e06b7bd7917f (patch)
tree16097f98af5b25337e07b855fc649923ca6733d7 /libdino/src/service/message_correction.vala
parent58116203cd66e5fadd17d40ad4299dfdb6e47d88 (diff)
Fix message id used for message corrections in MUCs
Diffstat (limited to 'libdino/src/service/message_correction.vala')
-rw-r--r--libdino/src/service/message_correction.vala5
1 files changed, 3 insertions, 2 deletions
diff --git a/libdino/src/service/message_correction.vala b/libdino/src/service/message_correction.vala
index e6401a05..08145a6b 100644
--- a/libdino/src/service/message_correction.vala
+++ b/libdino/src/service/message_correction.vala
@@ -40,7 +40,7 @@ public class MessageCorrection : StreamInteractionModule, MessageListener {
}
public void set_correction(Conversation conversation, Message message, Message old_message) {
- string reference_stanza_id = old_message.edit_to ?? old_message.stanza_id;
+ string reference_stanza_id = MessageStorage.get_reference_id(old_message);
outstanding_correction_nodes[message.stanza_id] = reference_stanza_id;
@@ -109,7 +109,8 @@ public class MessageCorrection : StreamInteractionModule, MessageListener {
if (!last_messages.has_key(conversation) || !last_messages[conversation].has_key(message.from)) return false;
Message original_message = last_messages[conversation][message.from];
- if (original_message.stanza_id != replace_id) return false;
+ // TODO this should be the referencing id (-> in MUCs the server id), but this implementation is temporarily for backwards-compatibility.
+ if (original_message.stanza_id != replace_id && original_message.server_id != replace_id) return false;
int message_id_to_be_updated = get_latest_correction_message_id(conversation.account.id, replace_id, db.get_jid_id(message.counterpart), message.counterpart.resourcepart);
if (message_id_to_be_updated == -1) {