diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2021-01-13 20:57:03 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2021-01-13 20:58:13 +0100 |
commit | 7fc500dae6c7c2c8db95e56607f179aa9f00dd9c (patch) | |
tree | 9f1d763dd5d6f845e1f70827acb0770243e8c52a | |
parent | Allow non-occupant non-subscribed service admin send private MUC message (#3474) (diff) |
Don't include empty <subject/> in messages sent by send_message
Please refer issue #3485
-rw-r--r-- | src/mod_admin_extra.erl | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/mod_admin_extra.erl b/src/mod_admin_extra.erl index a90a22ce..60d2686b 100644 --- a/src/mod_admin_extra.erl +++ b/src/mod_admin_extra.erl @@ -1494,10 +1494,15 @@ send_message(Type, From, To, Subject, Body) -> #xmlel{name = <<"body">>, children = [{xmlcdata, Body}]}]}, ?NS_CLIENT, CodecOpts) of - #message{from = JID} = Msg -> + #message{from = JID, subject = Subject, body = Body} = Msg -> + Msg2 = case {xmpp:get_text(Subject), xmpp:get_text(Body)} of + {_, <<>>} -> Msg; + {<<>>, _} -> Msg#message{subject = []}; + _ -> Msg + end, State = #{jid => JID}, - ejabberd_hooks:run_fold(user_send_packet, JID#jid.lserver, {Msg, State}, []), - ejabberd_router:route(Msg) + ejabberd_hooks:run_fold(user_send_packet, JID#jid.lserver, {Msg2, State}, []), + ejabberd_router:route(Msg2) catch _:{xmpp_codec, Why} -> {error, xmpp:format_error(Why)} end. |