diff options
| author | fiaxh <git@lightrise.org> | 2025-10-05 12:28:23 +0200 |
|---|---|---|
| committer | fiaxh <git@lightrise.org> | 2025-10-05 17:59:01 +0200 |
| commit | 6d8ccb414529c017ef1b8a52499b7bbdb6432adb (patch) | |
| tree | 71671be815b9df13ee89378efac2e2f6cb1bc581 /libdino/src | |
| parent | 3f9318f83f75ee45ede07da4e617556421505eeb (diff) | |
Fix reference id being used for message corrections in MUCs
Diffstat (limited to 'libdino/src')
| -rw-r--r-- | libdino/src/service/message_correction.vala | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libdino/src/service/message_correction.vala b/libdino/src/service/message_correction.vala index 191f737f..252830b4 100644 --- a/libdino/src/service/message_correction.vala +++ b/libdino/src/service/message_correction.vala @@ -42,7 +42,7 @@ public class MessageCorrection : StreamInteractionModule, MessageListener { } public void set_correction(Conversation conversation, Message message, Message old_message) { - string reference_stanza_id = MessageStorage.get_reference_id(old_message); + string reference_stanza_id = old_message.edit_to ?? old_message.stanza_id; outstanding_correction_nodes[message.stanza_id] = reference_stanza_id; @@ -136,14 +136,14 @@ public class MessageCorrection : StreamInteractionModule, MessageListener { if (last_messages.has_key(conversation) && last_messages[conversation].has_key(correction_message.from)) { var last_message = last_messages[conversation][correction_message.from]; // TODO this should be the referencing id (-> in MUCs the server id), but this implementation is temporarily for backwards-compatibility. - bool acceptable = last_message.stanza_id == replace_id || last_message.server_id == replace_id; + bool acceptable = last_message.stanza_id == replace_id; if (acceptable) { return process_in_order_correction(conversation, last_messages[conversation][correction_message.from], correction_message); } } } - Message? original_message = stream_interactor.get_module(MessageStorage.IDENTITY).get_message_by_referencing_id(replace_id, conversation); + Message? original_message = stream_interactor.get_module(MessageStorage.IDENTITY).get_message_by_stanza_id(replace_id, conversation); if (original_message != null && is_correction_acceptable(original_message, correction_message)) { return process_in_order_correction(conversation, original_message, correction_message); } |
