aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2020-09-03 17:35:57 +0200
committerBadlop <badlop@process-one.net>2020-09-03 17:47:11 +0200
commit43f813d6f88ae54f04fbc6b8d97d338f5f8446e9 (patch)
treec7d0b2410153a47f8c7d6b0adfce943cd0cc0c5a /src
parentFix 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.erl10
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),