aboutsummaryrefslogtreecommitdiff
path: root/libdino/src/service/message_correction.vala
diff options
context:
space:
mode:
authorfiaxh <git@lightrise.org>2020-04-05 16:19:56 +0200
committerfiaxh <git@lightrise.org>2020-04-05 16:19:56 +0200
commitd091a6c3cd0812873bcdef53c51a2f60e12f2b8a (patch)
treed350880657a77e04a777a4d6072b5951c7cd58c0 /libdino/src/service/message_correction.vala
parent8f7595418890cc2dac62dc4903405c49e61176d2 (diff)
downloaddino-d091a6c3cd0812873bcdef53c51a2f60e12f2b8a.tar.gz
dino-d091a6c3cd0812873bcdef53c51a2f60e12f2b8a.zip
Add keyboard shortcut (up key) to activate last message correction
Diffstat (limited to 'libdino/src/service/message_correction.vala')
-rw-r--r--libdino/src/service/message_correction.vala10
1 files changed, 9 insertions, 1 deletions
diff --git a/libdino/src/service/message_correction.vala b/libdino/src/service/message_correction.vala
index 320c0b7e..90d0580f 100644
--- a/libdino/src/service/message_correction.vala
+++ b/libdino/src/service/message_correction.vala
@@ -91,6 +91,12 @@ public class MessageCorrection : StreamInteractionModule, MessageListener {
public override string[] after_actions { get { return after_actions_const; } }
public override async bool run(Entities.Message message, Xmpp.MessageStanza stanza, Conversation conversation) {
+ if (conversation.type_ != Conversation.Type.CHAT) {
+ // Don't process messages or corrections from MUC history
+ DateTime? mam_delay = Xep.DelayedDelivery.get_time_for_message(stanza, message.from.bare_jid);
+ if (mam_delay != null) return false;
+ }
+
string? replace_id = Xep.LastMessageCorrection.get_replace_id(stanza);
if (replace_id == null) {
if (!last_messages.has_key(conversation)) {
@@ -126,9 +132,11 @@ public class MessageCorrection : StreamInteractionModule, MessageListener {
message.edit_to = replace_id;
on_received_correction(conversation, current_correction_message_id);
+
+ return true;
}
- return true;
+ return false;
}
private void on_received_correction(Conversation conversation, int message_id) {