From 0968da1ff76e7443c2590f4182087bb501d9c8f5 Mon Sep 17 00:00:00 2001 From: fiaxh Date: Wed, 28 Feb 2018 21:02:39 +0100 Subject: Only notify on last MAM message, only if not read fixes #293 --- libdino/src/service/message_processor.vala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'libdino/src/service/message_processor.vala') diff --git a/libdino/src/service/message_processor.vala b/libdino/src/service/message_processor.vala index 01050631..9a20cf3f 100644 --- a/libdino/src/service/message_processor.vala +++ b/libdino/src/service/message_processor.vala @@ -13,6 +13,7 @@ public class MessageProcessor : StreamInteractionModule, Object { public signal void build_message_stanza(Entities.Message message, Xmpp.MessageStanza message_stanza, Conversation conversation); public signal void pre_message_send(Entities.Message message, Xmpp.MessageStanza message_stanza, Conversation conversation); public signal void message_sent(Entities.Message message, Conversation conversation); + public signal void history_synced(Account account); public MessageListenerHolder received_pipeline = new MessageListenerHolder(); @@ -66,7 +67,9 @@ public class MessageProcessor : StreamInteractionModule, Object { }); stream_interactor.module_manager.get_module(account, Xmpp.Xep.MessageArchiveManagement.Module.IDENTITY).feature_available.connect( (stream) => { DateTime start_time = account.mam_earliest_synced.to_unix() > 60 ? account.mam_earliest_synced.add_minutes(-1) : account.mam_earliest_synced; - stream.get_module(Xep.MessageArchiveManagement.Module.IDENTITY).query_archive(stream, null, start_time, null); + stream.get_module(Xep.MessageArchiveManagement.Module.IDENTITY).query_archive(stream, null, start_time, null, () => { + history_synced(account); + }); }); } -- cgit v1.2.3-54-g00ecf