Tag private MUC messages with muc#user namespace
authorHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 5 May 2015 20:00:05 +0000 (22:00 +0200)
committerHolger Weiss <holger@zedat.fu-berlin.de>
Tue, 5 May 2015 20:00:05 +0000 (22:00 +0200)
Make it possible for clients to identify private MUC messages.  One use
case would be to filter out undesired carbon copies of those.

src/mod_muc_room.erl

index f381e8458232c94406aea499a8d9ed5a1695bbd8..8d0b36b6cdc69e1349cc3efc2cbf425ae8090179 100644 (file)
@@ -570,7 +570,10 @@ normal_state({route, From, ToNick,
                                   FromNickJID =
                                       jlib:jid_replace_resource(StateData#state.jid,
                                                                 FromNick),
-                                  [ejabberd_router:route(FromNickJID, ToJID, Packet)
+                                  X = #xmlel{name = <<"x">>,
+                                             attrs = [{<<"xmlns">>, ?NS_MUC_USER}]},
+                                  PrivMsg = xml:append_subtags(Packet, [X]),
+                                  [ejabberd_router:route(FromNickJID, ToJID, PrivMsg)
                                    || ToJID <- ToJIDs];
                               true ->
                                   ErrText =