diff options
author | Badlop <badlop@process-one.net> | 2020-09-03 17:35:57 +0200 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2020-09-03 17:47:11 +0200 |
commit | 43f813d6f88ae54f04fbc6b8d97d338f5f8446e9 (patch) | |
tree | c7d0b2410153a47f8c7d6b0adfce943cd0cc0c5a /src | |
parent | Fix syntax for lager dependency version (#3379) (diff) |
Run user_receive_packet in send_message so MAM stores also incoming (#3377)
Diffstat (limited to 'src')
-rw-r--r-- | src/mod_admin_extra.erl | 10 |
1 files 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), |