diff options
Diffstat (limited to 'libdino')
-rw-r--r-- | libdino/src/service/notification_events.vala | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libdino/src/service/notification_events.vala b/libdino/src/service/notification_events.vala index 010341e3..6a99653e 100644 --- a/libdino/src/service/notification_events.vala +++ b/libdino/src/service/notification_events.vala @@ -44,7 +44,12 @@ public class NotificationEvents : StreamInteractionModule, Object { } private void on_content_item_received(ContentItem item, Conversation conversation) { - if (!synced_accounts.contains(conversation.account)) { + bool is_mam_message = true; + if (item.type_ == MessageItem.TYPE) { + // If this message is not for MAM, always notify + is_mam_message = Xep.MessageArchiveManagement.MessageFlag.get_flag((item as MessageItem).message.stanza) != null; + } + if (!synced_accounts.contains(conversation.account) && is_mam_message) { if (!mam_potential_new.has_key(conversation.account)) { mam_potential_new[conversation.account] = new HashMap<Conversation, ContentItem>(Conversation.hash_func, Conversation.equals_func); } |