From 25f7ce0cb667f3f9de52fbaf5ec2b24cde6e1228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Chmielowski?= Date: Thu, 2 May 2019 11:12:47 +0200 Subject: [PATCH] Always store ActivityMarker messages --- src/mod_offline.erl | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mod_offline.erl b/src/mod_offline.erl index ff3d06aa2..f935bd1b6 100644 --- a/src/mod_offline.erl +++ b/src/mod_offline.erl @@ -171,8 +171,13 @@ reload(Host, NewOpts, OldOpts) -> -spec store_offline_msg(#offline_msg{}) -> ok | {error, full | any()}. store_offline_msg(#offline_msg{us = {User, Server}, packet = Pkt} = Msg) -> - case use_mam_for_user(User, Server) andalso - (not xmpp:get_meta(Pkt, activity_marker, false)) andalso + {UseMam, ActivityMarker} = case use_mam_for_user(User, Server) of + true -> + {true, xmpp:get_meta(Pkt, activity_marker, false)}; + _ -> + {false, false} + end, + case UseMam andalso (not ActivityMarker) andalso xmpp:get_meta(Pkt, mam_archived, false) of true -> case xmpp:get_meta(Pkt, first_from_queue, false) of @@ -181,7 +186,10 @@ store_offline_msg(#offline_msg{us = {User, Server}, packet = Pkt} = Msg) -> _ -> ok end; - _ -> + false when ActivityMarker -> + Mod = gen_mod:db_mod(Server, ?MODULE), + Mod:store_message(Msg); + false -> Mod = gen_mod:db_mod(Server, ?MODULE), case get_max_user_messages(User, Server) of infinity ->