From 43f813d6f88ae54f04fbc6b8d97d338f5f8446e9 Mon Sep 17 00:00:00 2001 From: Badlop Date: Thu, 3 Sep 2020 17:35:57 +0200 Subject: [PATCH] Run user_receive_packet in send_message so MAM stores also incoming (#3377) --- src/mod_admin_extra.erl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index 2ac81253a..ad174e5c1 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -1494,14 +1494,18 @@ send_message(Type, From, To, Subject, Body) -> #xmlel{name = <<"body">>, children = [{xmlcdata, Body}]}]}, ?NS_CLIENT, CodecOpts) of - #message{from = JID} = Msg -> - State = #{jid => JID}, - ejabberd_hooks:run_fold(user_send_packet, JID#jid.lserver, {Msg, State}, []), + #message{from = FromJid, to = ToJid} = Msg1 -> + Msg = xmpp:put_meta(Msg1, stanza_id, mod_mam:make_id()), + ejabberd_hooks:run_fold(user_send_packet, FromJid#jid.lserver, + {Msg, #{jid => FromJid}}, []), + ejabberd_hooks:run_fold(user_receive_packet, FromJid#jid.lserver, + {Msg, #{jid => ToJid}}, []), ejabberd_router:route(Msg) catch _:{xmpp_codec, Why} -> {error, xmpp:format_error(Why)} end. + send_stanza(FromString, ToString, Stanza) -> try #xmlel{} = El = fxml_stream:parse_element(Stanza),