]> granicus.if.org Git - ejabberd/commitdiff
mod_mam: Never store MUC messages in user archives
authorHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 30 Nov 2017 21:15:33 +0000 (22:15 +0100)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Thu, 30 Nov 2017 21:15:33 +0000 (22:15 +0100)
Even if a groupchat message is tagged with a <store/> hint, don't store
it in a user archive.  The hint should only be honored by the MUC
archive.

src/mod_mam.erl

index eb839ea19e6a8f022898ccda3a2ed85b2963a71a..2f1a16afa5b2357b335e01a7238981d8095a383e 100644 (file)
@@ -577,6 +577,8 @@ process_iq(LServer, #iq{from = #jid{luser = LUser}, lang = Lang,
 -spec should_archive(message(), binary()) -> boolean().
 should_archive(#message{type = error}, _LServer) ->
     false;
+should_archive(#message{type = groupchat}, _LServer) ->
+    false;
 should_archive(#message{meta = #{from_offline := true}}, _LServer) ->
     false;
 should_archive(#message{body = Body, subject = Subject,
@@ -590,7 +592,7 @@ should_archive(#message{body = Body, subject = Subject,
                    true;
                no_store ->
                    false;
-               none when Type == groupchat; Type == headline ->
+               none when Type == headline ->
                    false;
                none ->
                    xmpp:get_text(Body) /= <<>> orelse