From: Paweł Chmielowski Date: Thu, 2 May 2019 09:12:47 +0000 (+0200) Subject: Always store ActivityMarker messages X-Git-Tag: 19.05~43 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=25f7ce0cb667f3f9de52fbaf5ec2b24cde6e1228;p=ejabberd Always store ActivityMarker messages --- 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 ->