Fix notifications for servers without MAM

This commit re-adds the change from 4ad07fe:

    Fix messages never being notified from servers without MAM (#432)

Signed-off-by: Rahix <rahix@rahix.de>
This commit is contained in:
Rahix 2019-05-16 08:24:23 +02:00
parent 9d19cdbf4e
commit 80b946c85c
No known key found for this signature in database
GPG key ID: E3435E19257D6FCB

View file

@ -44,7 +44,12 @@ public class NotificationEvents : StreamInteractionModule, Object {
} }
private void on_content_item_received(ContentItem item, Conversation conversation) { 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)) { if (!mam_potential_new.has_key(conversation.account)) {
mam_potential_new[conversation.account] = new HashMap<Conversation, ContentItem>(Conversation.hash_func, Conversation.equals_func); mam_potential_new[conversation.account] = new HashMap<Conversation, ContentItem>(Conversation.hash_func, Conversation.equals_func);
} }