# HG changeset patch # User Matthew Wild # Date 1569779580 -3600 # Node ID 65e94270c413d1a00a333efadaced4e2b4b98996 # Parent d4537f045a788743d9bfcde965ebc1152e7aea7a mod_muc_hide_media: Also strip SIMS media diff -r d4537f045a78 -r 65e94270c413 mod_muc_hide_media/mod_muc_hide_media.lua --- a/mod_muc_hide_media/mod_muc_hide_media.lua Sun Sep 29 18:47:57 2019 +0100 +++ b/mod_muc_hide_media/mod_muc_hide_media.lua Sun Sep 29 18:53:00 2019 +0100 @@ -47,11 +47,22 @@ formdata["{xmpp:prosody.im}muc#roomconfig_display_media"] = display_media; end); +local function filter_media_tags(tag) + local xmlns = tag.attr.xmlns; + if xmlns == "jabber:x:oob" then + return nil; + elseif xmlns == "urn:xmpp:reference:0" then + if tag:get_child("media-sharing", "urn:xmpp:sims:1") then + return nil; + end + end + return tag; +end module:hook("muc-occupant-groupchat", function (event) local stanza = event.stanza; if stanza.attr.type ~= "groupchat" then return; end if should_hide_media(event.room) then - stanza:remove_children("x", "jabber:x:oob"); + stanza:maptags(filter_media_tags); end end, 20);